diff --git a/Makefile b/Makefile index 5ef536c..d87ebf7 100644 --- a/Makefile +++ b/Makefile @@ -6,11 +6,6 @@ SCRIPT_DEST := $(SCRIPT_SRC:src/%=$(DIST_DIR)/%) default: build -clean: - git clean -fXd -e !src/config.json - -install: node_modules copy_lib copy_samples - build: $(DIST_DIR)/index.html $(DIST_DIR)/styles/index.css $(SCRIPT_DEST) watch: @@ -21,23 +16,6 @@ watch: sleep 0.5; \ done -serve: - node server - -# npm -node_modules: - npm install - -# vendor lib -copy_lib: - @node copy_lib.js - -# samples -copy_samples: src/config.json - -src/config.json: - @cp -n src/config.sample.json src/config.json - # pug $(DIST_DIR)/index.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug) @echo pug: $< ➜ $@ @@ -60,7 +38,7 @@ $(DIST_DIR)/index.staging.html: src/index.pug src/config.json $(wildcard src/*.p node_modules/.bin/pug --pretty $< --out $(dir $@) -E staging.html -O src/config.json || touch $@ # sass -$(DIST_DIR)/styles/index.css: src/styles/index.scss $(wildcard src/*.scss src/*/*.scss) +$(DIST_DIR)/styles/index.css: src/styles/_index.scss $(wildcard src/*.scss src/*/*.scss src/*/*/*.scss src/*/*/*/*.scss) @echo sass: $< ➜ $@ @node_modules/.bin/node-sass $< $@ --source-map true --source-map-contents || touch $@ @@ -76,11 +54,6 @@ buildstaging: build buildprod: build $(MAKE) $(DIST_DIR)/index.prod.html -deploy: pull install build - -pull: - git pull - sync: buildstaging rsync -rv www/* staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/ --exclude=www/index.html --exclude=www/index.prod.html --exclude=www/index.staging.html rsync --no-R --no-implied-dirs www/index.staging.html staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/index.html @@ -91,4 +64,4 @@ syncprod: buildprod rsync --no-R --no-implied-dirs www/index.prod.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html rsync -v www/.htaccess alpha@ssh-alpha.happy-dev.fr:~/www/ -.PHONY: default install copy_lib copy_samples build watch serve clean sync syncprod buildstaging buildprod pull deploy \ No newline at end of file +.PHONY: default build watch sync syncprod buildstaging buildprod \ No newline at end of file diff --git a/README.md b/README.md index 1489beb..c368dc0 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,181 @@ -# HD app +# SiB App -HD app is the magic tool that allows the Happy Dev network to thrive in a decentralized way. +SiB App is the magic tool that allows the Happy Dev network to thrive in a decentralized way. -## Use cases +## Getting Started -Identified and scheduled use cases of the application includes (but are not limited to): +These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system. -- Listing of projects -- Listing of members -- Search of members by skills -- Invoicing and billing -- Project-scoped chat -- Personal messaging +### Prerequisites -### Chat +To install SiB App, you'll need to have: -The repository of the SIB Chat component can be found here: +- Python3 & Pip +- NodeJS & NPM +- A Prosody Server +- (Optional) A SMTP Server -- https://git.happy-dev.fr/startinblox/sib-chat +### Installing -It is based on XMPP as messaging protocol, Prosody as the server and ConverseJS as the client. +#### At first, you'll need to deploy a `sib-manager` server, then configure it. -### Project +#### `sib-manager` installation or update -The repository of the project listing components is the core and can be found here: +``` +$ pip3 install -U sib-manager +``` -- https://git.happy-dev.fr/startinblox/sib-core +#### `sib-manager` deploy -### Invoicing +``` +$ sib startproject newserver -m djangoldp_project -m oidc_provider@django-oidc-provider -m djangoldp_circle -m djangoldp_joboffer -m djangoldp_profile -m djangoldp_skill -m djangoldp_account -m djangoldp_notification -m djangoldp_conversation +$ sib initproject newserver +``` -The invoicing component is still at an early stage. Its repository is here: +We're using +- `djangoldp_project`, +- `django-oidc-provider`, +- `djangoldp_circle`, +- `djangoldp_joboffer`, +- `djangoldp_profile`, +- `djangoldp_skill`, +- `djangoldp_account`, +- `djangoldp_notification`, +- `djangoldp_conversation` -- https://git.happy-dev.fr/startinblox/sib-invoicing +As dependencies, if you don't want them, just remove the `-m packagename`. -## Architecture +`sibserver` is the name of the folder that `sib-manager` will create, choose it wisely. -Some general schema of the existing StartinBlox applications architecture can be found here: +In addition to the `startproject` you can add : -https://docs.google.com/presentation/d/1iCRGaJpFvZjhjIUnpsn6lRTJJ31ES6n94BNkJygzUwM/edit?usp=sharing +- `--site-url "http://localhost:8000"` +- `--production` to use postgresql instead of sqlite +- `--db-host`, `--db-name`, `--db-user` and `--db-pass` are used to configure the database (mandatory with `--production`) +- `--smtp-host`, `--smtp-user` and `--smtp-pass` are used to configure the SMTP (optional) -## Installation +#### `sibserver` configuration -If you want to contribute or test the app, please follow those steps. +You'll have to change some settings on the `sibserver` files. -### Requirements +- Add your server name to `ALLOWED_HOSTS` + - In `settings.py`, add your hostname on `ALLOWED_HOSTS`, eg: + ``` + ALLOWED_HOSTS = ['api.myserver.com', 'localhost'] + ``` +- Around line `96-97` of `settings.py` set your `PROSODY_HTTP_URL`, `JABBER_DEFAULT_HOST`, eg: + ``` + PROSODY_HTTP_URL = 'https://jabber.happy-dev.fr' + JABBER_DEFAULT_HOST = 'happy-dev.fr' + ``` -You need to have both NodeJS and NPM installed and working. +#### `sib-manager` launching -### Installation process +On the first `sibserver` folder -clone then: +``` +$ ./manage.py runserver +``` -* `make install` +#### Create a Client ID for Prosody & Client -Edit the created `./src/config.pug` file to : - - update the `client_id` [you generated on the server](https://git.happy-dev.fr/startinblox/applications/sib-app-data-server/blob/master/README.md#openidconnect-configuration) / OIDC provider - - update the `sdn` / Server Domain Name to match yours +- Go to `localhost:8000/admin/` +- Login with previously created account. + - If needed you can create another admin account with `./manage.py createsuperadmin` +- Add a `Clients` on `OpenID Connect Provider` section + - Name it as you wish + - `Client type`: `Public` + - `Response types`: `id_token token (Implicit Flow)` + - `Redirect URIs`: + ``` + http://localhost:3000 + http://127.0.0.1:3000 + http://0.0.0.0:3000 + http://localhost:8000 + https://myserver.com + ``` +- Keep the `6-digits` newly create `Client ID` somewhere -## Build +#### Then, you'll have to install the client. -A first build is mandatory for compiling the static assets. +#### Clone this repository -* `make build` +``` +# With SSH +$ git clone git@git.happy-dev.fr:startinblox/applications/sib-app.git -or +# Or with HTTPS +$ git clone https://git.happy-dev.fr/startinblox/applications/sib-app.git +``` -* `make watch` +#### Install dependencies -if you are working on something and want to benefit of the hot reload feature. +``` +$ cd sib-app +$ npm install +``` -## Run server +#### Configure `config.json` -* `make serve` +On the newly created `./src/config.json` change the `dev` configuration like this: +``` + "dev": { + "sdn": "http://api.myserver.com", # Or localhost:8000 + "cdn": "https://cdn.happy-dev.fr", + "xmpp": "https://prosody.myserver.com/http-bind/", + "client_id": "000000" # <- Here goes your previously created Client ID + }, +``` + +#### That's all! Now let's run it! + +``` +# For dev +$ make watch +$ npm run serve + +# Or for prod +$ make build +# Then publish the www folder + +``` + +## Deployment + +Deployment will need a registered RSA Key on production servers. + +### On Alpha + +``` +$ make syncprod +``` + +### On Staging + +``` +$ make sync +``` + +## Built With + +* [Sib-Core](https://git.happy-dev.fr/startinblox/framework/sib-core/) - An awesome new framework! + +### Architecture + +Some general schema of the existing StartinBlox applications architecture can be found [here](https://docs.google.com/presentation/d/1iCRGaJpFvZjhjIUnpsn6lRTJJ31ES6n94BNkJygzUwM/edit?usp=sharing). + + \ No newline at end of file diff --git a/copy_lib.js b/copy_lib.js deleted file mode 100644 index 4cc6932..0000000 --- a/copy_lib.js +++ /dev/null @@ -1,20 +0,0 @@ -const { basename, join, resolve } = require('path'); -const { readFileSync, lstatSync } = require('fs'); -const { exec } = require('child_process'); - -const distDir = 'www/lib'; - -const filelist = readFileSync('lib_list.txt', 'utf-8').split(/\r?\n/); - -exec(`mkdir -p ${distDir}`, () => { - filelist.forEach(path => { - path = resolve(path); - const filename = basename(path); - const dest = lstatSync(path).isDirectory() - ? distDir - : join(distDir, filename); - const cmd = `rsync -ru ${path} ${dest}`; - console.log(cmd); - exec(cmd); - }); -}); diff --git a/lib_list.txt b/lib_list.txt index c3495ec..254e4ce 100644 --- a/lib_list.txt +++ b/lib_list.txt @@ -1,5 +1 @@ node_modules/normalize.css/normalize.css -node_modules/@webcomponents/webcomponentsjs -node_modules/@webcomponents/html-imports/src/html-imports.js -node_modules/oidc-client/dist/oidc-client.min.js -node_modules/oidc-client/dist/oidc-client.js \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ff61feb..21ee807 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,21 @@ { - "name": "hd-app", + "name": "sib-app", "version": "1.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { "@babel/cli": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.0.tgz", - "integrity": "sha512-+OdtGZcJNH92CnDqwaPxh7P7gddFyhoiHV3GBzgKpYbxIJlQ4WDEiC8m+AMcueYzlI+bXqrYlIU/Pp17NaC0hg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.4.4.tgz", + "integrity": "sha512-XGr5YjQSjgTa6OzQZY57FAJsdeVSAKR/u/KA5exWIz66IKtv/zXtHy+fIZcMry/EgYegwuHE7vzGnrFhjdIAsQ==", "dev": true, "requires": { - "chokidar": "^2.0.3", + "chokidar": "^2.0.4", "commander": "^2.8.1", "convert-source-map": "^1.1.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.0.0", - "lodash": "^4.17.10", + "lodash": "^4.17.11", "mkdirp": "^0.5.1", "output-file-sync": "^2.0.0", "slash": "^2.0.0", @@ -32,31 +32,31 @@ } }, "@babel/core": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.0.tgz", - "integrity": "sha512-9EWmD0cQAbcXSc+31RIoYgEHx3KQ2CCSMDBhnXrShWvo45TMw+3/55KVxlhkG53kw9tl87DqINgHDgFVhZJV/Q==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz", + "integrity": "sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.0.0", - "@babel/helpers": "^7.1.0", - "@babel/parser": "^7.1.0", - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/generator": "^7.4.4", + "@babel/helpers": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4", "convert-source-map": "^1.1.0", - "debug": "^3.1.0", - "json5": "^0.5.0", - "lodash": "^4.17.10", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.11", "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" @@ -71,14 +71,14 @@ } }, "@babel/generator": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz", - "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz", + "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==", "dev": true, "requires": { - "@babel/types": "^7.0.0", + "@babel/types": "^7.4.4", "jsesc": "^2.5.1", - "lodash": "^4.17.10", + "lodash": "^4.17.11", "source-map": "^0.5.0", "trim-right": "^1.0.1" } @@ -104,23 +104,23 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", + "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", "dev": true, "requires": { - "@babel/types": "^7.0.0" + "@babel/types": "^7.4.4" } }, "@babel/helpers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.0.tgz", - "integrity": "sha512-V1jXUTNdTpBn37wqqN73U+eBpzlLHmxA4aDaghJBggmzly/FpIJMHXse9lgdzQQT4gs5jZ5NmYxOL8G3ROc29g==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz", + "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==", "dev": true, "requires": { - "@babel/template": "^7.1.0", - "@babel/traverse": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/template": "^7.4.4", + "@babel/traverse": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/highlight": { @@ -135,43 +135,43 @@ } }, "@babel/parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.0.tgz", - "integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz", + "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==", "dev": true }, "@babel/template": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz", - "integrity": "sha512-yZ948B/pJrwWGY6VxG6XRFsVTee3IQ7bihq9zFpM00Vydu6z5Xwg0C3J644kxI9WOTzd+62xcIsQ+AT1MGhqhA==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", + "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4" } }, "@babel/traverse": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz", - "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz", + "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.0.0", + "@babel/generator": "^7.4.4", "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "debug": "^3.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.4.4", + "@babel/types": "^7.4.4", + "debug": "^4.1.0", "globals": "^11.1.0", - "lodash": "^4.17.10" + "lodash": "^4.17.11" }, "dependencies": { "debug": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", - "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" @@ -186,13 +186,13 @@ } }, "@babel/types": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz", - "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", + "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", "dev": true, "requires": { "esutils": "^2.0.2", - "lodash": "^4.17.10", + "lodash": "^4.17.11", "to-fast-properties": "^2.0.0" } }, @@ -211,16 +211,6 @@ "@types/babel-types": "*" } }, - "@webcomponents/html-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@webcomponents/html-imports/-/html-imports-1.2.0.tgz", - "integrity": "sha512-EIy8RqSfsoJ5Tk2wsfaSX4IKhXg8oYCq/xVEz8LEELXhv5tup/iZ/SInoz8SLtZGFP+vjUh2oRsgkUMhbrr0GQ==" - }, - "@webcomponents/webcomponentsjs": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-1.2.7.tgz", - "integrity": "sha512-011DyXjpQoZ7f6oMCpYTYgrzsWJ7+0fEbt6Y8KcfZZa3ZdJ/ttoMgeH75SqHDe7aNdolfMhCvrSNNgh9wcsgpA==" - }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -228,13 +218,30 @@ "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + } } }, "acorn": { @@ -260,22 +267,16 @@ } } }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", + "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^2.0.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" } }, "align-text": { @@ -330,6 +331,18 @@ "requires": { "micromatch": "^3.1.4", "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } } }, "aproba": { @@ -352,19 +365,22 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "dev": true, + "optional": true }, "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true + "dev": true, + "optional": true }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true + "dev": true, + "optional": true }, "array-find-index": { "version": "1.0.2", @@ -382,13 +398,8 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true + "dev": true, + "optional": true }, "asap": { "version": "2.0.6", @@ -415,25 +426,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true + "dev": true, + "optional": true }, "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", - "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true, + "optional": true }, "async-foreach": { "version": "0.1.3", @@ -441,12 +442,6 @@ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true }, - "async-limiter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", - "dev": true - }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -457,7 +452,8 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "dev": true, + "optional": true }, "aws-sign2": { "version": "0.7.0", @@ -471,39 +467,11 @@ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "axios": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz", - "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=", - "dev": true, - "requires": { - "follow-redirects": "^1.2.5", - "is-buffer": "^1.1.5" - } - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "optional": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "optional": true - } - } - }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -535,12 +503,6 @@ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", "dev": true }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -552,6 +514,7 @@ "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "optional": true, "requires": { "cache-base": "^1.0.1", "class-utils": "^0.3.5", @@ -567,6 +530,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^1.0.0" } @@ -576,6 +540,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -585,6 +550,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -594,6 +560,7 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "optional": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -602,54 +569,21 @@ } } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "optional": true, "requires": { "tweetnacl": "^0.14.3" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, - "requires": { - "callsite": "1.0.0" - } - }, "binary-extensions": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", - "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", - "dev": true - }, - "blob": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz", - "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", - "dev": true + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true }, "block-stream": { "version": "0.0.9", @@ -661,73 +595,21 @@ } }, "body-parser": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", - "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "dev": true, "requires": { "bytes": "3.0.0", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", - "iconv-lite": "0.4.19", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", "on-finished": "~2.3.0", - "qs": "6.5.1", - "raw-body": "2.3.2", - "type-is": "~1.6.15" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "raw-body": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", - "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", - "dev": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.2", - "iconv-lite": "0.4.19", - "unpipe": "1.0.0" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" - } - } - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" } }, "brace-expansion": { @@ -745,6 +627,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "optional": true, "requires": { "arr-flatten": "^1.1.0", "array-unique": "^0.3.2", @@ -763,200 +646,13 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } } } }, - "browser-sync": { - "version": "2.24.7", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.24.7.tgz", - "integrity": "sha512-NqXek0cPNEayQm77VGnD+qrwcVBTKMIQ9bdP6IWDRUTU1Bk7tZeq5QR3OG5Rr36Rao1t+Vx1QnfolHvvr5qsTA==", - "dev": true, - "requires": { - "browser-sync-ui": "v1.0.1", - "bs-recipes": "1.3.4", - "chokidar": "1.7.0", - "connect": "3.6.6", - "connect-history-api-fallback": "^1.5.0", - "dev-ip": "^1.0.1", - "easy-extender": "^2.3.4", - "eazy-logger": "3.0.2", - "etag": "^1.8.1", - "fresh": "^0.5.2", - "fs-extra": "3.0.1", - "http-proxy": "1.15.2", - "immutable": "3.8.2", - "localtunnel": "1.9.0", - "micromatch": "2.3.11", - "opn": "5.3.0", - "portscanner": "2.1.1", - "qs": "6.2.3", - "raw-body": "^2.3.2", - "resp-modifier": "6.0.2", - "rx": "4.1.0", - "serve-index": "1.9.1", - "serve-static": "1.13.2", - "server-destroy": "1.0.1", - "socket.io": "2.1.1", - "ua-parser-js": "0.7.17", - "yargs": "6.4.0" - }, - "dependencies": { - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" - } - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - } - } - }, - "browser-sync-ui": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-1.0.1.tgz", - "integrity": "sha512-RIxmwVVcUFhRd1zxp7m2FfLnXHf59x4Gtj8HFwTA//3VgYI3AKkaQAuDL8KDJnE59XqCshxZa13JYuIWtZlKQg==", - "dev": true, - "requires": { - "async-each-series": "0.1.1", - "connect-history-api-fallback": "^1.1.0", - "immutable": "^3.7.6", - "server-destroy": "1.0.1", - "socket.io-client": "2.0.4", - "stream-throttle": "^0.1.3" - } - }, - "bs-recipes": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", - "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -968,6 +664,7 @@ "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, + "optional": true, "requires": { "collection-visit": "^1.0.0", "component-emitter": "^1.2.1", @@ -980,16 +677,10 @@ "unset-value": "^1.0.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", "dev": true }, "camelcase-keys": { @@ -1000,14 +691,6 @@ "requires": { "camelcase": "^2.0.0", "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } } }, "caseless": { @@ -1027,9 +710,9 @@ } }, "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -1047,25 +730,24 @@ } }, "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz", + "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==", "dev": true, "optional": true, "requires": { "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", - "inherits": "^2.0.1", + "inherits": "^2.0.3", "is-binary-path": "^1.0.0", "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", + "normalize-path": "^3.0.0", "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "readdirp": "^2.2.1", + "upath": "^1.1.1" } }, "class-utils": { @@ -1073,6 +755,7 @@ "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, + "optional": true, "requires": { "arr-union": "^3.1.0", "define-property": "^0.2.5", @@ -1085,6 +768,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -1119,12 +803,6 @@ "wrap-ansi": "^2.0.0" } }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -1136,6 +814,7 @@ "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, + "optional": true, "requires": { "map-visit": "^1.0.0", "object-visit": "^1.0.0" @@ -1157,9 +836,9 @@ "dev": true }, "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, "requires": { "delayed-stream": "~1.0.0" @@ -1171,23 +850,12 @@ "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==", "dev": true }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", @@ -1195,24 +863,6 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "connect": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", - "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - } - }, - "connect-history-api-fallback": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", - "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", - "dev": true - }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -1268,12 +918,14 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "dev": true, + "optional": true }, "core-js": { "version": "2.5.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -1328,13 +980,15 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "dev": true, + "optional": true }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, + "optional": true, "requires": { "is-descriptor": "^1.0.2", "isobject": "^3.0.1" @@ -1345,6 +999,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -1354,6 +1009,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -1363,6 +1019,7 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "optional": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -1395,42 +1052,17 @@ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", "dev": true }, - "dev-ip": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", - "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=", - "dev": true - }, "doctypes": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", "dev": true }, - "easy-extender": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz", - "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==", - "dev": true, - "requires": { - "lodash": "^4.17.10" - } - }, - "eazy-logger": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", - "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", - "dev": true, - "requires": { - "tfunk": "^3.0.1" - } - }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "optional": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -1448,74 +1080,6 @@ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, - "engine.io": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz", - "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz", - "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", - "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.4", - "has-binary2": "~1.0.2" - } - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -1549,17 +1113,12 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - }, "expand-brackets": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, + "optional": true, "requires": { "debug": "^2.3.3", "define-property": "^0.2.5", @@ -1575,6 +1134,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -1584,72 +1144,22 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } } } }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - }, - "dependencies": { - "fill-range": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", - "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^3.0.0", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "express": { - "version": "4.16.3", - "resolved": "http://registry.npmjs.org/express/-/express-4.16.3.tgz", - "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", "dev": true, "requires": { "accepts": "~1.3.5", "array-flatten": "1.1.1", - "body-parser": "1.18.2", + "body-parser": "1.18.3", "content-disposition": "0.5.2", "content-type": "~1.0.4", "cookie": "0.3.1", @@ -1666,10 +1176,10 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", - "qs": "6.5.1", + "proxy-addr": "~2.0.4", + "qs": "6.5.2", "range-parser": "~1.2.0", - "safe-buffer": "5.1.1", + "safe-buffer": "5.1.2", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", @@ -1677,41 +1187,6 @@ "type-is": "~1.6.16", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "finalhandler": { - "version": "1.1.1", - "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" - } - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } } }, "extend": { @@ -1725,6 +1200,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, + "optional": true, "requires": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -1735,6 +1211,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "optional": true, "requires": { "is-plain-object": "^2.0.4" } @@ -1746,6 +1223,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, + "optional": true, "requires": { "array-unique": "^0.3.2", "define-property": "^1.0.0", @@ -1762,6 +1240,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^1.0.0" } @@ -1771,6 +1250,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -1780,6 +1260,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -1789,6 +1270,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -1798,6 +1280,7 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "optional": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -1813,9 +1296,9 @@ "dev": true }, "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", "dev": true }, "fast-json-stable-stringify": { @@ -1824,17 +1307,12 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-number": "^3.0.0", @@ -1847,6 +1325,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -1854,17 +1333,17 @@ } }, "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", + "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "on-finished": "~2.3.0", "parseurl": "~1.3.2", - "statuses": "~1.3.1", + "statuses": "~1.4.0", "unpipe": "~1.0.0" } }, @@ -1878,40 +1357,12 @@ "pinkie-promise": "^2.0.0" } }, - "follow-redirects": { - "version": "1.5.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz", - "integrity": "sha512-sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==", - "dev": true, - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, - "requires": { - "for-in": "^1.0.1" - } + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -1920,25 +1371,14 @@ "dev": true }, "form-data": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", - "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, "requires": { "asynckit": "^0.4.0", - "combined-stream": "1.0.6", + "combined-stream": "^1.0.6", "mime-types": "^2.1.12" - }, - "dependencies": { - "combined-stream": { - "version": "1.0.6", - "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", - "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - } } }, "forwarded": { @@ -1952,6 +1392,7 @@ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, + "optional": true, "requires": { "map-cache": "^0.2.2" } @@ -1962,17 +1403,6 @@ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", "dev": true }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" - } - }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -1986,14 +1416,14 @@ "dev": true }, "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", "dev": true, "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" }, "dependencies": { "abbrev": { @@ -2015,7 +1445,7 @@ "optional": true }, "are-we-there-yet": { - "version": "1.1.4", + "version": "1.1.5", "bundled": true, "dev": true, "optional": true, @@ -2041,7 +1471,7 @@ } }, "chownr": { - "version": "1.0.1", + "version": "1.1.1", "bundled": true, "dev": true, "optional": true @@ -2071,16 +1501,16 @@ "optional": true }, "debug": { - "version": "2.6.9", + "version": "4.1.1", "bundled": true, "dev": true, "optional": true, "requires": { - "ms": "2.0.0" + "ms": "^2.1.1" } }, "deep-extend": { - "version": "0.5.1", + "version": "0.6.0", "bundled": true, "dev": true, "optional": true @@ -2129,7 +1559,7 @@ } }, "glob": { - "version": "7.1.2", + "version": "7.1.3", "bundled": true, "dev": true, "optional": true, @@ -2149,12 +1579,12 @@ "optional": true }, "iconv-lite": { - "version": "0.4.21", + "version": "0.4.24", "bundled": true, "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": ">= 2.1.2 < 3" } }, "ignore-walk": { @@ -2219,17 +1649,17 @@ "optional": true }, "minipass": { - "version": "2.2.4", + "version": "2.3.5", "bundled": true, "dev": true, "optional": true, "requires": { - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.0" } }, "minizlib": { - "version": "1.1.0", + "version": "1.2.1", "bundled": true, "dev": true, "optional": true, @@ -2247,35 +1677,35 @@ } }, "ms": { - "version": "2.0.0", + "version": "2.1.1", "bundled": true, "dev": true, "optional": true }, "needle": { - "version": "2.2.0", + "version": "2.3.0", "bundled": true, "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", + "debug": "^4.1.0", "iconv-lite": "^0.4.4", "sax": "^1.2.4" } }, "node-pre-gyp": { - "version": "0.10.0", + "version": "0.12.0", "bundled": true, "dev": true, "optional": true, "requires": { "detect-libc": "^1.0.2", "mkdirp": "^0.5.1", - "needle": "^2.2.0", + "needle": "^2.2.1", "nopt": "^4.0.1", "npm-packlist": "^1.1.6", "npmlog": "^4.0.2", - "rc": "^1.1.7", + "rc": "^1.2.7", "rimraf": "^2.6.1", "semver": "^5.3.0", "tar": "^4" @@ -2292,13 +1722,13 @@ } }, "npm-bundled": { - "version": "1.0.3", + "version": "1.0.6", "bundled": true, "dev": true, "optional": true }, "npm-packlist": { - "version": "1.1.10", + "version": "1.4.1", "bundled": true, "dev": true, "optional": true, @@ -2375,12 +1805,12 @@ "optional": true }, "rc": { - "version": "1.2.7", + "version": "1.2.8", "bundled": true, "dev": true, "optional": true, "requires": { - "deep-extend": "^0.5.1", + "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" @@ -2410,16 +1840,16 @@ } }, "rimraf": { - "version": "2.6.2", + "version": "2.6.3", "bundled": true, "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, "safe-buffer": { - "version": "5.1.1", + "version": "5.1.2", "bundled": true, "dev": true, "optional": true @@ -2437,7 +1867,7 @@ "optional": true }, "semver": { - "version": "5.5.0", + "version": "5.7.0", "bundled": true, "dev": true, "optional": true @@ -2490,17 +1920,17 @@ "optional": true }, "tar": { - "version": "4.4.1", + "version": "4.4.8", "bundled": true, "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", + "chownr": "^1.1.1", "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", + "safe-buffer": "^5.1.2", "yallist": "^3.0.2" } }, @@ -2511,12 +1941,12 @@ "optional": true }, "wide-align": { - "version": "1.1.2", + "version": "1.1.3", "bundled": true, "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "^1.0.2 || 2" } }, "wrappy": { @@ -2526,7 +1956,7 @@ "optional": true }, "yallist": { - "version": "3.0.2", + "version": "3.0.3", "bundled": true, "dev": true, "optional": true @@ -2592,7 +2022,8 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "dev": true, + "optional": true }, "getpass": { "version": "0.1.7", @@ -2617,42 +2048,6 @@ "path-is-absolute": "^1.0.0" } }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "glob-parent": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", @@ -2677,9 +2072,9 @@ } }, "globals": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", - "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "globule": { @@ -2706,12 +2101,12 @@ "dev": true }, "har-validator": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", - "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", "dev": true, "requires": { - "ajv": "^5.1.0", + "ajv": "^6.5.5", "har-schema": "^2.0.0" } }, @@ -2733,29 +2128,6 @@ "ansi-regex": "^2.0.0" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2773,6 +2145,7 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, + "optional": true, "requires": { "get-value": "^2.0.6", "has-values": "^1.0.0", @@ -2784,6 +2157,7 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "kind-of": "^4.0.0" @@ -2794,6 +2168,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -2808,7 +2183,7 @@ }, "http-errors": { "version": "1.6.3", - "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { @@ -2816,24 +2191,6 @@ "inherits": "2.0.3", "setprototypeof": "1.1.0", "statuses": ">= 1.4.0 < 2" - }, - "dependencies": { - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - } - } - }, - "http-proxy": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", - "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", - "dev": true, - "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" } }, "http-signature": { @@ -2856,12 +2213,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "immutable": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", - "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=", - "dev": true - }, "in-publish": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", @@ -2882,12 +2233,6 @@ "repeating": "^2.0.0" } }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -2911,9 +2256,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", + "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", "dev": true }, "is-accessor-descriptor": { @@ -2921,6 +2266,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -2930,6 +2276,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -2947,6 +2294,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, + "optional": true, "requires": { "binary-extensions": "^1.0.0" } @@ -2957,20 +2305,12 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, - "requires": { - "builtin-modules": "^1.0.0" - } - }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -2980,6 +2320,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -2991,6 +2332,7 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, + "optional": true, "requires": { "is-accessor-descriptor": "^0.1.6", "is-data-descriptor": "^0.1.4", @@ -3001,25 +2343,11 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "dev": true, + "optional": true } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, "is-expression": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", @@ -3042,7 +2370,8 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "dev": true, + "optional": true }, "is-extglob": { "version": "2.1.1", @@ -3070,9 +2399,9 @@ } }, "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "optional": true, "requires": { @@ -3084,6 +2413,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -3093,21 +2423,13 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, - "is-number-like": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz", - "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==", - "dev": true, - "requires": { - "lodash.isfinite": "^3.3.2" - } - }, "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", @@ -3119,22 +2441,11 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "optional": true, "requires": { "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -3166,13 +2477,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true + "dev": true, + "optional": true }, "isarray": { "version": "1.0.0", @@ -3190,7 +2496,8 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", @@ -3199,9 +2506,9 @@ "dev": true }, "js-base64": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", - "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", + "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", "dev": true }, "js-stringify": { @@ -3220,13 +2527,12 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "jsesc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", - "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json-schema": { @@ -3236,9 +2542,9 @@ "dev": true }, "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stringify-safe": { @@ -3248,18 +2554,20 @@ "dev": true }, "json5": { - "version": "0.5.1", - "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } } }, "jsprim": { @@ -3274,11 +2582,6 @@ "verror": "1.10.0" } }, - "jsrsasign": { - "version": "8.0.12", - "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-8.0.12.tgz", - "integrity": "sha1-Iqu5ZW00owuVMENnIINeicLlwxY=" - }, "jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -3293,7 +2596,8 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "dev": true, + "optional": true }, "lazy-cache": { "version": "1.0.4", @@ -3310,15 +2614,9 @@ "invert-kv": "^1.0.0" } }, - "limiter": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.3.tgz", - "integrity": "sha512-zrycnIMsLw/3ZxTbW7HCez56rcFGecWTx5OZNplzcXUUmJLmoYArC6qdJzmAN5BWiNXGcpjhF9RQ1HSv5zebEw==", - "dev": true - }, "load-json-file": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { @@ -3329,87 +2627,12 @@ "strip-bom": "^2.0.0" } }, - "localtunnel": { - "version": "1.9.0", - "resolved": "http://registry.npmjs.org/localtunnel/-/localtunnel-1.9.0.tgz", - "integrity": "sha512-wCIiIHJ8kKIcWkTQE3m1VRABvsH2ZuOkiOpZUofUCf6Q42v3VIZ+Q0YfX1Z4sYDRj0muiKL1bLvz1FeoxsPO0w==", - "dev": true, - "requires": { - "axios": "0.17.1", - "debug": "2.6.8", - "openurl": "1.1.1", - "yargs": "6.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "yargs": { - "version": "6.6.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" - } - } - } - }, "lodash": { "version": "4.17.11", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", "dev": true }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true, - "optional": true - }, - "lodash.isfinite": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", - "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=", - "dev": true - }, - "lodash.mergewith": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", - "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", - "dev": true - }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", @@ -3427,9 +2650,9 @@ } }, "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, "requires": { "pseudomap": "^1.0.2", @@ -3440,7 +2663,8 @@ "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true + "dev": true, + "optional": true }, "map-obj": { "version": "1.0.1", @@ -3453,16 +2677,11 @@ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, + "optional": true, "requires": { "object-visit": "^1.0.0" } }, - "math-random": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", - "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", - "dev": true - }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -3489,7 +2708,7 @@ "dependencies": { "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } @@ -3512,6 +2731,7 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -3569,6 +2789,7 @@ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, + "optional": true, "requires": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" @@ -3579,6 +2800,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "optional": true, "requires": { "is-plain-object": "^2.0.4" } @@ -3601,16 +2823,18 @@ "dev": true }, "nan": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz", - "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==", - "dev": true + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "dev": true, + "optional": true }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, + "optional": true, "requires": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -3626,9 +2850,9 @@ } }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "node-gyp": { @@ -3660,9 +2884,9 @@ } }, "node-sass": { - "version": "4.9.3", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", - "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz", + "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -3672,15 +2896,13 @@ "get-stdin": "^4.0.1", "glob": "^7.0.3", "in-publish": "^2.0.0", - "lodash.assign": "^4.2.0", - "lodash.clonedeep": "^4.3.2", - "lodash.mergewith": "^4.6.0", + "lodash": "^4.17.11", "meow": "^3.7.0", "mkdirp": "^0.5.1", - "nan": "^2.10.0", + "nan": "^2.13.2", "node-gyp": "^3.8.0", "npmlog": "^4.0.0", - "request": "2.87.0", + "request": "^2.88.0", "sass-graph": "^2.2.4", "stdout-stream": "^1.4.0", "true-case-path": "^1.0.2" @@ -3694,7 +2916,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -3705,6 +2927,12 @@ "supports-color": "^2.0.0" } }, + "nan": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", + "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", + "dev": true + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -3723,30 +2951,39 @@ } }, "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", + "resolve": "^1.10.0", "semver": "2 || 3 || 4 || 5", "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "resolve": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz", + "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + } } }, "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } + "optional": true }, "normalize.css": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.0.tgz", - "integrity": "sha512-iXcbM3NWr0XkNyfiSBsoPezi+0V92P9nj84yVV1/UZxRUrGczgX/X91KMAGM0omWLY2+2Q1gKD/XRn4gQRDB2A==" + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" }, "npmlog": { "version": "4.1.2", @@ -3767,9 +3004,9 @@ "dev": true }, "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true }, "object-assign": { @@ -3778,17 +3015,12 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, + "optional": true, "requires": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -3800,6 +3032,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -3809,55 +3042,33 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, - "object-path": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", - "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=", - "dev": true - }, "object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, + "optional": true, "requires": { "isobject": "^3.0.0" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, + "optional": true, "requires": { "isobject": "^3.0.1" } }, - "oidc-client": { - "version": "1.5.3-beta.1", - "resolved": "https://registry.npmjs.org/oidc-client/-/oidc-client-1.5.3-beta.1.tgz", - "integrity": "sha512-p4EcEuMuVV2mwcH59BSNE/0zNalksELSpOp/r7oH4vGppIwsE1cHvXhHqc4hX7jpfrxU7wYsEZ74ECNXXnZB5g==", - "requires": { - "babel-polyfill": ">=6.9.1", - "jsrsasign": "^8.0.12" - } - }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -3876,21 +3087,6 @@ "wrappy": "1" } }, - "openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=", - "dev": true - }, - "opn": { - "version": "5.3.0", - "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz", - "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", @@ -3899,7 +3095,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -3933,35 +3129,6 @@ "mkdirp": "^0.5.1" } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - }, - "dependencies": { - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - } - } - }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", @@ -3971,35 +3138,18 @@ "error-ex": "^1.2.0" } }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, - "requires": { - "better-assert": "~1.0.0" - } - }, "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true }, "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "dev": true, + "optional": true }, "path-dirname": { "version": "1.0.2", @@ -4073,27 +3223,12 @@ "pinkie": "^2.0.0" } }, - "portscanner": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", - "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", - "dev": true, - "requires": { - "async": "1.5.2", - "is-number-like": "^1.0.3" - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true + "dev": true, + "optional": true }, "process-nextick-args": { "version": "2.0.0", @@ -4111,13 +3246,13 @@ } }, "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", + "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", "dev": true, "requires": { "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" + "ipaddr.js": "1.9.0" } }, "pseudomap": { @@ -4126,6 +3261,12 @@ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", "dev": true }, + "psl": { + "version": "1.1.31", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", + "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", + "dev": true + }, "pug": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz", @@ -4292,40 +3433,21 @@ "dev": true }, "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "qs": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", - "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=", + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", "dev": true }, - "randomatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz", - "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==", - "dev": true, - "requires": { - "is-number": "^4.0.0", - "kind-of": "^6.0.0", - "math-random": "^1.0.1" - }, - "dependencies": { - "is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true - } - } - }, "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true }, "raw-body": { @@ -4381,6 +3503,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "optional": true, "requires": { "graceful-fs": "^4.1.11", "micromatch": "^3.1.10", @@ -4400,22 +3523,15 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, + "optional": true, "requires": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -4425,13 +3541,15 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "dev": true, + "optional": true }, "repeat-element": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true + "dev": true, + "optional": true }, "repeat-string": { "version": "1.6.1", @@ -4449,39 +3567,31 @@ } }, "request": { - "version": "2.87.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", - "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "dev": true, "requires": { "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", + "aws4": "^1.8.0", "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", "http-signature": "~1.2.0", "is-typedarray": "~1.0.0", "isstream": "~0.1.2", "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" - }, - "dependencies": { - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - } + "uuid": "^3.3.2" } }, "require-directory": { @@ -4496,12 +3606,6 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, "resolve": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", @@ -4515,23 +3619,15 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resp-modifier": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", - "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", "dev": true, - "requires": { - "debug": "^2.2.0", - "minimatch": "^3.0.2" - } + "optional": true }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "dev": true, + "optional": true }, "right-align": { "version": "0.1.3", @@ -4543,20 +3639,14 @@ } }, "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "^7.1.3" } }, - "rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", - "dev": true - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -4568,6 +3658,7 @@ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, + "optional": true, "requires": { "ret": "~0.1.10" } @@ -4588,38 +3679,6 @@ "lodash": "^4.0.0", "scss-tokenizer": "^0.2.3", "yargs": "^7.0.0" - }, - "dependencies": { - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } } }, "scss-tokenizer": { @@ -4668,29 +3727,6 @@ "on-finished": "~2.3.0", "range-parser": "~1.2.0", "statuses": "~1.4.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", - "dev": true - } - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" } }, "serve-static": { @@ -4705,12 +3741,6 @@ "send": "0.16.2" } }, - "server-destroy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", - "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=", - "dev": true - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -4722,6 +3752,7 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -4734,6 +3765,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -4752,11 +3784,6 @@ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, - "simple-line-icons": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/simple-line-icons/-/simple-line-icons-2.4.1.tgz", - "integrity": "sha1-t1vFoNh+UwkowszaVzUnS7JW8jQ=" - }, "slash": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", @@ -4768,6 +3795,7 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, + "optional": true, "requires": { "base": "^0.11.1", "debug": "^2.2.0", @@ -4784,6 +3812,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -4793,6 +3822,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -4804,6 +3834,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, + "optional": true, "requires": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -4815,6 +3846,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^1.0.0" } @@ -4824,6 +3856,7 @@ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -4833,6 +3866,7 @@ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^6.0.0" } @@ -4842,6 +3876,7 @@ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, + "optional": true, "requires": { "is-accessor-descriptor": "^1.0.0", "is-data-descriptor": "^1.0.0", @@ -4855,6 +3890,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, + "optional": true, "requires": { "kind-of": "^3.2.0" }, @@ -4864,151 +3900,13 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } } } }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - } - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=", - "dev": true - }, - "socket.io-client": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz", - "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~2.6.4", - "engine.io-client": "~3.1.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.1.1", - "to-array": "0.1.4" - } - }, - "socket.io-parser": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz", - "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "has-binary2": "~1.0.2", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } - } - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -5020,6 +3918,7 @@ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, + "optional": true, "requires": { "atob": "^2.1.1", "decode-uri-component": "^0.2.0", @@ -5032,12 +3931,13 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "dev": true, + "optional": true }, "spdx-correct": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.1.tgz", - "integrity": "sha512-hxSPZbRZvSDuOvADntOElzJpenIR7wXJkuoUcUtS0erbgt2fgeaoPIYretfKpslMhfFDY4k0MZ2F5CUzhBsSvQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -5045,9 +3945,9 @@ } }, "spdx-exceptions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", "dev": true }, "spdx-expression-parse": { @@ -5061,9 +3961,9 @@ } }, "spdx-license-ids": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", - "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", + "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", "dev": true }, "split-string": { @@ -5071,14 +3971,15 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "optional": true, "requires": { "extend-shallow": "^3.0.0" } }, "sshpk": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", - "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -5097,6 +3998,7 @@ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, + "optional": true, "requires": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -5107,6 +4009,7 @@ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, + "optional": true, "requires": { "is-descriptor": "^0.1.0" } @@ -5114,9 +4017,9 @@ } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true }, "stdout-stream": { @@ -5128,16 +4031,6 @@ "readable-stream": "^2.0.1" } }, - "stream-throttle": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", - "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", - "dev": true, - "requires": { - "commander": "^2.2.0", - "limiter": "^1.0.5" - } - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -5205,49 +4098,6 @@ "inherits": "2" } }, - "tfunk": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", - "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "object-path": "^0.9.0" - }, - "dependencies": { - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } - } - }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -5259,6 +4109,7 @@ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, + "optional": true, "requires": { "kind-of": "^3.0.2" }, @@ -5268,6 +4119,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, + "optional": true, "requires": { "is-buffer": "^1.1.5" } @@ -5279,6 +4131,7 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, + "optional": true, "requires": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -5291,6 +4144,7 @@ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, + "optional": true, "requires": { "is-number": "^3.0.0", "repeat-string": "^1.6.1" @@ -5303,12 +4157,21 @@ "dev": true }, "tough-cookie": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", - "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, "requires": { + "psl": "^1.1.24", "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } } }, "trim-newlines": { @@ -5345,25 +4208,35 @@ "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "~2.1.24" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + } } }, - "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", - "dev": true - }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", @@ -5419,17 +4292,12 @@ "dev": true, "optional": true }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, "union-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, + "optional": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -5442,6 +4310,7 @@ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, + "optional": true, "requires": { "is-extendable": "^0.1.0" } @@ -5451,6 +4320,7 @@ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, + "optional": true, "requires": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -5460,12 +4330,6 @@ } } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -5477,6 +4341,7 @@ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, + "optional": true, "requires": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -5487,6 +4352,7 @@ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, + "optional": true, "requires": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -5498,6 +4364,7 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dev": true, + "optional": true, "requires": { "isarray": "1.0.0" } @@ -5508,28 +4375,40 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "dev": true, + "optional": true } } }, "upath": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", - "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", + "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", "dev": true, "optional": true }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "dev": true, + "optional": true }, "use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "dev": true, + "optional": true }, "util-deprecate": { "version": "1.0.2", @@ -5606,12 +4485,6 @@ "string-width": "^1.0.2 || 2" } }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=", - "dev": true - }, "with": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", @@ -5630,7 +4503,7 @@ }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { @@ -5644,23 +4517,6 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", @@ -5674,9 +4530,9 @@ "dev": true }, "yargs": { - "version": "6.4.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz", - "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { "camelcase": "^3.0.0", @@ -5690,25 +4546,34 @@ "set-blocking": "^2.0.0", "string-width": "^1.0.2", "which-module": "^1.0.0", - "window-size": "^0.2.0", "y18n": "^3.2.1", - "yargs-parser": "^4.1.0" + "yargs-parser": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } } }, "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { "camelcase": "^3.0.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + } } - }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true } } } diff --git a/package.json b/package.json index 9d65ac5..637731c 100644 --- a/package.json +++ b/package.json @@ -1,21 +1,20 @@ { - "name": "hd-app", + "name": "sib-app", "version": "1.0.0", - "license": "ISC", + "license": "MIT", + "scripts": { + "serve": "node server.js", + "postinstall": "node postinstall.js" + }, "devDependencies": { - "@babel/core": "^7.1.0", - "@babel/cli": "^7.1.0", - "node-sass": "^4.9.3", + "@babel/core": "^7.4.4", + "@babel/cli": "^7.4.4", + "node-sass": "^4.12.0", "pug-cli": "^1.0.0-alpha6", - "browser-sync": "^2.24.7", - "express": "^4.16.3" + "express": "^4.16.4" }, "dependencies": { - "@webcomponents/html-imports": "^1.2.0", - "@webcomponents/webcomponentsjs": "^1.2.7", "include-media": "^1.4.9", - "normalize.css": "^8.0.0", - "oidc-client": "^1.5.3-beta.1", - "simple-line-icons": "^2.4.1" + "normalize.css": "^8.0.1" } } diff --git a/postinstall.js b/postinstall.js new file mode 100644 index 0000000..ff2fe59 --- /dev/null +++ b/postinstall.js @@ -0,0 +1,8 @@ +const fs = require('fs'); +const { exec } = require('child_process'); + +if (!fs.existsSync('src/config.json')) { + const cmd = `rsync -ru src/config.sample.json src/config.json`; + console.log(cmd); + exec(cmd); +} \ No newline at end of file diff --git a/server.js b/server.js index 7b0f156..f525bc3 100644 --- a/server.js +++ b/server.js @@ -1,5 +1,4 @@ -const port = 9000; -const browserSyncPort = 3000; +const port = 3000; const distPath = 'www'; // express server @@ -8,19 +7,5 @@ const express = require('express'); const app = express(); app .use(express.static(distPath)) - // .use('/src', express.static(join(__dirname, 'src'))) - .get(/^[^.]*$/, (req, rep) => - rep.sendFile(join(__dirname, distPath, '/index.html')), - ) + .get(/^[^.]*$/, (req, rep) => rep.sendFile(join(__dirname, distPath, '/index.html'))) .listen(port); - -// browser sync -const bs = require('browser-sync').create(); -bs.init({ - files: [distPath + '/**/*'], - proxy: `http://localhost:${port}`, - open: false, - notify: false, - port: browserSyncPort - // tunnel: true, -}); diff --git a/src/dependencies.pug b/src/dependencies.pug index d6815d5..f1c82fd 100644 --- a/src/dependencies.pug +++ b/src/dependencies.pug @@ -1,32 +1,24 @@ -// Scripts -//- script(src="https://unpkg.com/@webcomponents/webcomponentsjs@1.2.7/webcomponents-loader.js") -//script(src="/lib/webcomponentsjs/webcomponents-loader.js") -//- script(src="lib/html-imports.js") - script(type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0") - script(src="/scripts/index.js") -// Stylesheets -link(rel='stylesheet', href='/lib/normalize.css') +//- Stylesheets link(rel='stylesheet', href='/styles/index.css') link(rel='stylesheet', href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&subset=latin-ext') link(rel='stylesheet', href='https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i') -// Web components - //- local -//script(type="module" src="/lib/sib-core/sib-display.js") -//script(type="module" src="/lib/sib-router/sib-router.js") -//script(type="module" src="/lib/sib-core/sib-form.js") +//- script(type="module" src="/lib/sib-core/src/index.js") +//- script(type="module" src="/lib/sib-router/src/index.js") +//- script(type="module" src="/lib/sib-chat/sib-chat.js") +//- script(type="module" src="/lib/sib-notifications/sib-notifications.js") +//- script(type="module" src="/lib/sib-conversation/sib-conversation.js") +//- script(type="module" src="/lib/sib-directory/sib-directory.js") -//link(rel='import', href='/lib/sib-chat/sib-chat.html') - -//- cdn -script(type="module" src="https://unpkg.com/@startinblox/core@0.7.15") +//- CDN +script(type="module" src="https://unpkg.com/@startinblox/core@0.7") script(type="module" src="https://unpkg.com/@startinblox/router@0.7.2") script(type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7") -script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.11") +script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12") script(type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1") -script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.10") +script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.15") diff --git a/src/get_config.pug b/src/get_config.pug index befcb19..5a04ca7 100644 --- a/src/get_config.pug +++ b/src/get_config.pug @@ -1,6 +1,5 @@ -- var __env = locals[process.env.ENV] - - + var __env = locals[process.env.ENV] for(k in __env){ eval(`var ${k} = __env[${JSON.stringify(k)}]`); } \ No newline at end of file diff --git a/src/header.pug b/src/header.pug index 6aced93..9099c88 100644 --- a/src/header.pug +++ b/src/header.pug @@ -1,4 +1,3 @@ -#button-toggle #logo img(src="/images/logo.png" width=111 height=32) diff --git a/src/index.pug b/src/index.pug index 1c2a3b4..0a96eec 100644 --- a/src/index.pug +++ b/src/index.pug @@ -9,30 +9,33 @@ html(lang="en") link(rel="icon" type="image/png" href="/images/favicon.png") include dependencies.pug body - div.layer - header#header.row(role='banner') - include header.pug - .content.row - include menu-left.pug - - main#mainContainer - //- #dashboard(hidden) - include page-dashboard.pug - #members(hidden) - include page-members.pug - #member-chat(hidden) - include page-member-chat.pug - #job-offers(hidden) - include page-job-offers.pug - #job-offer-create(hidden) - include page-job-offer-create.pug - #project(hidden) - include page-project.pug - //- #client-creation(hidden) - include page-client-creation.pug - //-#groups(hidden) - include page-groups.pug - #circle(hidden) - include page-group.pug - //- #search(hidden) - include page-search.pug + header#header(role='banner') + include header.pug + main + include menu-left.pug + div#viewport + + #members(hidden).no-sidebar + include page-members-directory.pug + + #job-offers(hidden).no-sidebar + include page-job-offers.pug + + #job-offer-create(hidden).no-sidebar + sib-link(class="backlink", next="job-offers") Back + include page-job-offer-create.pug + + #project(hidden).with-sidebar + include page-project.pug + + #circle(hidden).with-sidebar + include page-circle.pug + + #member-chat(hidden).with-sidebar + include page-member-chat.pug + + #user-profile(hidden) + + #user-settings(hidden) + + #user-admin(hidden) diff --git a/src/menu-left.pug b/src/menu-left.pug index 7d6e531..beb5cfc 100644 --- a/src/menu-left.pug +++ b/src/menu-left.pug @@ -1,22 +1,10 @@ -nav#navbar +nav#main__menu sib-router#navbar-router(default-route='members') sib-route.menu(name='members') - div.menu-notification - sib-display( - data-src=`${sdn}/members/`, - data-fields='-', - counter-template='${counter}' - ) div.menu-label Members div.menu-icon.icon-people div.divider - sib-route.menu(name='job-offers') - div.menu-notification - sib-display( - data-src=`${sdn}/job-offers/`, - data-fields='-', - counter-template='${counter}' - ) + sib-route.menu(name='job-offers', rdf-type='hd:joboffer') div.menu-label Job offers div.menu-icon.icon-briefcase sib-route(hidden, name='job-offer-create') @@ -27,7 +15,7 @@ nav#navbar div.menu-icon.icon-arrow-up div.menu-label Projects div.menu-icon.icon-folder-alt - sib-route(hidden,name='project', id-prefix=`${sdn}/projects/`, use-id) + sib-route(hidden,name='project', id-prefix=`${sdn}/projects/`, rdf-type='hd:project', use-id='') div.sub-menu sib-display( data-src=`${sdn}/projects/`, @@ -43,7 +31,7 @@ nav#navbar div.menu-icon.icon-arrow-up div.menu-label Cercles div.menu-icon.icon-globe - sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`) + sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`, rdf-type='hd:circle') div.sub-menu sib-display( data-src=`${sdn}/circles/`, @@ -58,7 +46,7 @@ nav#navbar div.menu-icon.icon-arrow-up div.menu-label Chat div.menu-icon.icon-envelope-letter - sib-route(hidden, name='member-chat', id-prefix=`${sdn}/members/`, use-id='') + sib-route(hidden, name='member-chat', id-prefix=`${sdn}/members/`, rdf-type='foaf:user', use-id='') div.sub-menu sib-display( data-src=`${sdn}/members/`, diff --git a/src/page-chat.pug b/src/page-chat.pug deleted file mode 100644 index e69de29..0000000 diff --git a/src/page-group-chat.pug b/src/page-circle-chat.pug similarity index 82% rename from src/page-group-chat.pug rename to src/page-circle-chat.pug index 72bb999..606e5a7 100644 --- a/src/page-group-chat.pug +++ b/src/page-circle-chat.pug @@ -1,4 +1,4 @@ -.chat-view +.content-box.full-width.chat-view sib-chat( data-authentication='login', data-auto-login='true', diff --git a/src/page-circle-create.pug b/src/page-circle-create.pug new file mode 100644 index 0000000..e7eeb59 --- /dev/null +++ b/src/page-circle-create.pug @@ -0,0 +1,26 @@ +.content-box.with-form.full-width + h1 New group + p Here you can create a new group according to your interests, what you want to share, etc. + + sib-form( + data-src=`${sdn}/circles/`, + range-owner=`${sdn}/users/`, + range-team=`${sdn}/members/` + + data-fields='name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID', + + label-name="Channel's name", + label-description='Description', + label-owner='Owner of this channel', + label-foaf:jabberID='Chatroom id', + label-team='Member(s) of this channel', + + value-description-text='You can write a short description like "Here, we are like Pinky and the Brain, we talk about strategy to conquer the world".', + value-owner-text='The one who will admin this channel', + value-team-text='Add any members as you want.', + + + widget-description='sib-form-textarea', + widget-jabberRoom='sib-form-checkbox', + widget-team='sib-form-multiple-dropdown' + ) diff --git a/src/page-circle-edit.pug b/src/page-circle-edit.pug new file mode 100644 index 0000000..008bc6d --- /dev/null +++ b/src/page-circle-edit.pug @@ -0,0 +1,9 @@ +#circle-edit.content-box.with-form.full-width + h1 Edit group + sib-form.block( + range-owner=`${sdn}/members/`, + data-fields="name, description, owner, team, jabberID, jabberRoom" + range-team=`${sdn}/members/`, + widget-team='sib-form-multiple-dropdown', + bind-resources + ) diff --git a/src/page-group-profile.pug b/src/page-circle-profile.pug similarity index 96% rename from src/page-group-profile.pug rename to src/page-circle-profile.pug index 55114d3..7784abf 100644 --- a/src/page-group-profile.pug +++ b/src/page-circle-profile.pug @@ -1,4 +1,4 @@ -.frame +.content-box.full-width h2 Channel's name: sib-display( data-fields='name', diff --git a/src/page-group.pug b/src/page-circle.pug similarity index 53% rename from src/page-group.pug rename to src/page-circle.pug index 2c1cb89..a8fd84d 100644 --- a/src/page-group.pug +++ b/src/page-circle.pug @@ -1,3 +1,12 @@ +.views-container + #circle-chat + include page-circle-chat.pug + #circle-profile + include page-circle-profile.pug + #circle-edit + include page-circle-edit.pug + #circle-create + include page-circle-create.pug nav.jsRightMenu(role='navigation') sib-router(default-route='circle-chat') ul @@ -8,20 +17,10 @@ nav.jsRightMenu(role='navigation') a Chat sib-route(name='circle-profile') li - a Info - sib-ac-checker(permission='change' bind-resources) - sib-route(name='circle-edit') - li - a Edit + a Information + sib-route(name='circle-edit') + li + a Edit sib-route(name='circle-create') li - a Add new -#views-container - #circle-chat - include page-group-chat.pug - #circle-profile - include page-group-profile.pug - #circle-edit - include page-group-edit.pug - #circle-create - include page-group-create.pug + a Add new \ No newline at end of file diff --git a/src/page-group-create.pug b/src/page-group-create.pug deleted file mode 100644 index 922bd3a..0000000 --- a/src/page-group-create.pug +++ /dev/null @@ -1,26 +0,0 @@ -.frame-form - h1 New group - p.form-goal Here you can create a new group according to your interests, what you want to share, etc. - .form-view - sib-form( - data-src=`${sdn}/circles/`, - range-owner=`${sdn}/users/`, - range-team=`${sdn}/members/` - - data-fields='name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID', - - label-name="Channel's name", - label-description='Description', - label-owner='Owner of this channel', - label-foaf:jabberID='Chatroom id', - label-team='Member(s) of this channel', - - value-description-text='You can write a short description like "Here, we are like Pinky and the Brain, we talk about strategy to conquer the world".', - value-owner-text='The one who will admin this channel', - value-team-text='Add any members as you want.', - - - widget-description='sib-form-textarea', - widget-jabberRoom='sib-form-checkbox', - widget-team='sib-form-multiple-dropdown' - ) diff --git a/src/page-group-edit.pug b/src/page-group-edit.pug deleted file mode 100644 index edcfa1c..0000000 --- a/src/page-group-edit.pug +++ /dev/null @@ -1,10 +0,0 @@ -#circle-edit - h1 Edit group - .form-view - sib-form.block( - range-owner=`${sdn}/members/`, - data-fields="name, description, owner, team, jabberID, jabberRoom" - range-team=`${sdn}/members/`, - widget-team='sib-form-multiple-dropdown', - bind-resources - ) diff --git a/src/page-groups.pug b/src/page-groups.pug deleted file mode 100644 index 68885fb..0000000 --- a/src/page-groups.pug +++ /dev/null @@ -1,7 +0,0 @@ -#circles - sib-display#circles-list( - data-src=`${sdn}/circles/`, - data-fields='name, description', - search-fields='name, description', - next='group' - ) diff --git a/src/page-job-offer-create.pug b/src/page-job-offer-create.pug index 14f9388..f15bf1a 100644 --- a/src/page-job-offer-create.pug +++ b/src/page-job-offer-create.pug @@ -1,5 +1,7 @@ -.frame-form - +.content-box.with-form + h1 Post a new job offer + p.center This form allows you to share an offer to all members of the network. + sib-widget(name='title-text') template p Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP". @@ -8,24 +10,20 @@ template p Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...' - sib-link(next='job-offers' class='back') Back - h1 Post a new job offer - p.form-goal This form allows you to share an offer to all members of the network. - .form-view - sib-form.block( - data-src=`${sdn}/job-offers/`, - range-skills= `${sdn}/skills/`, - range-author= `${sdn}/users/`, + sib-form.block( + data-src=`${sdn}/job-offers/`, + range-skills= `${sdn}/skills/`, + range-author= `${sdn}/users/`, - data-fields='title, title-text, description, description-text, skills', + data-fields='title, title-text, description, description-text, skills', - label-title='Title*', - label-description='Description*', - label-skills='The required skills for this mission:*', - - widget-title-text='title-text', - widget-description-text='description-text', - widget-skills='sib-form-auto-completion', - - next="job-offers" - ) + label-title='Title*', + label-description='Description*', + label-skills='The required skills for this mission:*', + + widget-title-text='title-text', + widget-description-text='description-text', + widget-skills='sib-form-auto-completion', + + next="job-offers" + ) diff --git a/src/page-job-offers.pug b/src/page-job-offers.pug index 219599d..f648a42 100644 --- a/src/page-job-offers.pug +++ b/src/page-job-offers.pug @@ -1,11 +1,11 @@ -div.grid-layer +div.job-offers__main include templates/template-groups.pug include templates/template-skills.pug include templates/template-joboffers-filter.pug - div.grid-layer-main.containerV - h2 New offers + div.job-offers__content + h1 New offers span Here you can find and post offers sib-display#offers-list( data-src=`${sdn}/job-offers/`, @@ -35,15 +35,9 @@ div.grid-layer search-widget-open='joboffers-filter' ) - div.grid-layer-links.containerV + div.job-offers__newoffer template#groups-list-template p ${value} - sib-link(next="job-offer-create").containerH.containerCenter.action-link + sib-link(next="job-offer-create").plus-button div.icon-plus div Post a new offer - //-sib-link().containerH.containerCenter.how-link - div.icon-idea - div.grow How To find a new offer? - //-sib-link().containerH.containerCenter.how-link - div.icon-idea - div.grow How to set notification? diff --git a/src/page-member-chat.pug b/src/page-member-chat.pug index a082cf0..fdc62b2 100644 --- a/src/page-member-chat.pug +++ b/src/page-member-chat.pug @@ -1,10 +1,9 @@ -div - .chat-view - sib-chat( - data-authentication='login', - data-auto-login='true', - data-bosh-service-url=xmpp, - data-debug='false', - data-locales-url='en', - bind-resources - ) +.content-box.full-width.chat-view + sib-chat( + data-authentication='login', + data-auto-login='true', + data-bosh-service-url=xmpp, + data-debug='false', + data-locales-url='en', + bind-resources + ) diff --git a/src/page-member-edit.pug b/src/page-member-edit.pug deleted file mode 100644 index 31aaa9e..0000000 --- a/src/page-member-edit.pug +++ /dev/null @@ -1,96 +0,0 @@ -.form-view - sib-form.block( - data-fields='user.first_name, user.last_name, user.account.picture, bio, groups, phone, skills, website', - widget-user='hdapp-usereditinfo', - range-groups=`${sdn}/groups/`, widget-skills='sib-form-multiple-dropdown', - range-skills=`${sdn}/skills/`, - bind-resources - ) - - #crop-modal - .crop-wrapper - img#crop-preview(src='') - .control-bar - button#cancel-img-cropping.btn.btn-link Annuler - i#rotate-img.fa.fa-undo(aria-hidden='true') - button#crop-img.btn.btn-link Valider - - -//-script. - class LDPFormImgUpload extends SIBWidget { - get template() { - return ` - `; - } - - render() { - store.get(this.value).then( (value) => { - this._value = value; - this.innerHTML = this.template; - }); - } - } - customElements.define("ldp-form-img-upload", LDPFormImgUpload); - widget-avatar="ldp-form-img-upload" - - -//-script. - // Constant declaration - const avatarPreview = document.querySelector("#avatar-preview"); - const avatarInput = document.querySelector("#avatar-input"); - const cropModal = document.querySelector("#crop-modal"); - const cropPreview = cropModal.querySelector("#crop-preview"); - const $cropPreview = $(cropPreview); - - // Triggers cropping on image upload - avatarInput.addEventListener("change", function(e) { - var img = avatarInput.files[0]; - var reader = new FileReader(); - - reader.onloadend = function () { - cropPreview.src = reader.result; - cropModal.classList.add("cropping-mode"); - } - - if (img) { - reader.readAsDataURL(img);//reads the data as a URL - } - }); - cropPreview.addEventListener("load", () => { - $cropPreview.cropper({ - aspectRatio: 1/1, - viewMode: 3, - zoomable: false, - }); - }); - - - // Rotate image - cropModal.querySelector("#rotate-img").addEventListener("click", () => { - $cropPreview.cropper("rotate", -90); - }); - - - // Cancel cropping - cropModal.querySelector("#cancel-img-cropping").addEventListener("click", () => { - closeCropping(); - }); - - // Shortcut - document.querySelector("body").addEventListener("keydown", function(e) { - // Escape key - if (e.keyCode == 27 && cropModal.classList.contains("cropping-mode")) { - closeCropping(); - } - }); - function closeCropping() { - cropModal.classList.remove("cropping-mode"); - avatarInput.value = null; - } - - - // Validating cropping - cropModal.querySelector("#crop-img").addEventListener("click", () => { - avatarPreview.src = $cropPreview.cropper("getCroppedCanvas").toDataURL() - closeCropping(); - }); diff --git a/src/page-members.pug b/src/page-members-directory.pug similarity index 100% rename from src/page-members.pug rename to src/page-members-directory.pug diff --git a/src/page-project-chat.pug b/src/page-project-chat.pug index 59730e7..fdc62b2 100644 --- a/src/page-project-chat.pug +++ b/src/page-project-chat.pug @@ -1,4 +1,4 @@ -.chat-view +.content-box.full-width.chat-view sib-chat( data-authentication='login', data-auto-login='true', diff --git a/src/page-project-create.pug b/src/page-project-create.pug index 7e8fc7e..e954c5a 100644 --- a/src/page-project-create.pug +++ b/src/page-project-create.pug @@ -1,33 +1,33 @@ -.frame-form +.content-box.with-form.full-width h1 New project - p.form-goal Here you can create your project, add members and assign them a job. - .form-view - sib-form.block( - data-src=`${sdn}/projects/`, - range-members=`${sdn}/members/`, - range-team=`${sdn}/users/`, + p Here you can create your project, add members and assign them a job. + + sib-form.block( + data-src=`${sdn}/projects/`, + range-members=`${sdn}/members/`, + range-team=`${sdn}/users/`, - data-fields='block-project__info, block-project__fee, block-project__customer', + data-fields='block-project__info, block-project__fee, block-project__customer', - set-block-project__info='customer.name, name, customer.logo, description', - label-customer.name='Customer\'s name', - label-name='Project\'s name', - label-customer.logo='Customer\'s logo', - label-description='Project description', - - set-block-project__fee='fieldset-fee, businessProvider, businessProviderFee', - widget-fieldset-fee='template-legend-fee', - label-businessProvider='Business provider', - label-businessProviderFee='Amount of the contribution', - - set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone', - widget-fieldset-customer='template-legend-customer', - label-customer.companyRegister='Company register', - label-customer.address='Address', - label-customer.firstName='Name of the contact at the customer\'s premises', - label-customer.lastName='Firstname of the contact at the customer\'s premises', - label-customer.role='Role within the company', - label-customer.email='Email', - label-customer.phone='Phone' - ) + set-block-project__info='customer.name, name, customer.logo, description', + label-customer.name='Customer\'s name', + label-name='Project\'s name', + label-customer.logo='Customer\'s logo', + label-description='Project description', + + set-block-project__fee='fieldset-fee, businessProvider, businessProviderFee', + widget-fieldset-fee='hd-template-project-title', + label-businessProvider='Business provider', + label-businessProviderFee='Amount of the contribution', + + set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone', + widget-fieldset-customer='hd-template-project-title', + label-customer.companyRegister='Company register', + label-customer.address='Address', + label-customer.firstName='Name of the contact at the customer\'s premises', + label-customer.lastName='Firstname of the contact at the customer\'s premises', + label-customer.role='Role within the company', + label-customer.email='Email', + label-customer.phone='Phone' + ) \ No newline at end of file diff --git a/src/page-project-edit.pug b/src/page-project-edit.pug index f15b79b..3038890 100644 --- a/src/page-project-edit.pug +++ b/src/page-project-edit.pug @@ -1,59 +1,59 @@ -sib-widget(name='template-legend-team') - template - span ${label} -sib-widget(name='template-members') - template - - sib-form.team.is-horizontal( - naked, - data-src='${id}', - data-fields='user.name, name', - range-user.name=`${sdn}/users/`, - class-name='field', - class-user.name='field', - label-name='Role', - label-user.name='Member(s)', - ) - -.frame-form +.content-box.with-form.full-width h1 Edit your project - p.form-goal Here you can edit your projet's details - .form-view - sib-form.block( - data-fields='block-project__info, block-project__fee, block-project__customer, block-project__team', + p Here you can edit your projet's details - set-block-project__info='customer.name, name, customer.logo, description', - label-customer.name='Customer\'s name', - label-name='Project\'s name', - label-customer.logo='Customer\'s logo', - label-description='Project description', - - set-block-project__fee='fieldset-fee, businessProvider, businessProvider.fee', - range-businessProvider=`${sdn}/businessproviders/`, - label-businessProvider='Business provider', - label-businessProvider.fee='Amount of the contribution (%)', - widget-fieldset-fee='template-legend-team', - widget-businessProvider.fee='sib-form-number', - label-fieldset-fee='Fee', - - set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone', - label-customer.companyRegister='Company registration number', - label-customer.address='Address', - label-customer.firstName='Name of the contact at the customer\'s premises', - label-customer.lastName='Firstname of the contact at the customer\'s premises', - label-customer.role='Role within the company', - label-customer.email='Email', - label-customer.phone='Phone', - widget-fieldset-customer='template-legend-team', - label-fieldset-customer='Customer information', + sib-widget(name='hd-template-project-title') + template + span ${label} - set-block-project__team='fieldset-team, members', - label-fieldset-team='The team', - widget-fieldset-team='template-legend-team', - widget-members='template-members', - multiple-members, + sib-widget(name='template-members') + template + sib-form.team.is-horizontal( + naked, + data-src='${id}', + data-fields='user.name, name', + range-user.name=`${sdn}/users/`, + class-name='field', + class-user.name='field', + label-name='Role', + label-user.name='Member(s)', + ) - bind-resources - ) + sib-form.block( + data-fields='block-project__info, block-project__fee, block-project__customer, block-project__team', + + set-block-project__info='customer.name, name, customer.logo, description', + label-customer.name='Customer\'s name', + label-name='Project\'s name', + label-customer.logo='Customer\'s logo', + label-description='Project description', + + set-block-project__fee='fieldset-fee, businessProvider, businessProvider.fee', + range-businessProvider=`${sdn}/businessproviders/`, + label-businessProvider='Business provider', + label-businessProvider.fee='Amount of the contribution (%)', + widget-fieldset-fee='hd-template-project-title', + widget-businessProvider.fee='sib-form-number', + label-fieldset-fee='Fee', + + set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone', + label-customer.companyRegister='Company registration number', + label-customer.address='Address', + label-customer.firstName='Name of the contact at the customer\'s premises', + label-customer.lastName='Firstname of the contact at the customer\'s premises', + label-customer.role='Role within the company', + label-customer.email='Email', + label-customer.phone='Phone', + widget-fieldset-customer='hd-template-project-title', + label-fieldset-customer='Customer information', + + set-block-project__team='fieldset-team, members', + label-fieldset-team='The team', + widget-fieldset-team='hd-template-project-title', + widget-members='template-members', + multiple-members, + + bind-resources + ) diff --git a/src/page-project-profile.pug b/src/page-project-profile.pug index 5dbd56a..fb8cf93 100644 --- a/src/page-project-profile.pug +++ b/src/page-project-profile.pug @@ -1,4 +1,4 @@ -.frame +.content-box.full-width include templates/template-business-provider.pug include templates/template-customer.pug diff --git a/src/page-project.pug b/src/page-project.pug index ed32ffe..ec2e276 100644 --- a/src/page-project.pug +++ b/src/page-project.pug @@ -1,3 +1,12 @@ +.views-container + #project-chat + include page-project-chat.pug + #project-profile + include page-project-profile.pug + #project-edit + include page-project-edit.pug + #project-create + include page-project-create.pug nav.jsRightMenu(role='navigation') sib-router(default-route='project-chat') ul @@ -14,13 +23,4 @@ nav.jsRightMenu(role='navigation') a Edit sib-route(name='project-create', use-id) li - a Add new -#views-container - #project-chat - include page-project-chat.pug - #project-profile - include page-project-profile.pug - #project-edit - include page-project-edit.pug - #project-create - include page-project-create.pug + a Add new \ No newline at end of file diff --git a/src/page-projects.pug b/src/page-projects.pug deleted file mode 100644 index 4490ae2..0000000 --- a/src/page-projects.pug +++ /dev/null @@ -1,10 +0,0 @@ -//#projects -div - h1 Projects - sib-display( - data-src=`${sdn}/projects/`, - data-fields='phone, customer, name', - widget-customer='hdapp-client', - search-fields='phone, name', - next='project' - ) diff --git a/src/page-user-panel.pug b/src/page-user-panel.pug index b4ad000..efec855 100644 --- a/src/page-user-panel.pug +++ b/src/page-user-panel.pug @@ -1,13 +1,13 @@ nav(role="user's functionalities menu") sib-router ul - sib-route(name='') + sib-route(name='user-profile') li a(href='#') My profile - sib-route(name='') + sib-route(name='user-settings') li a(href='#') Settings - sib-route(name='') + sib-route(name='user-admin') li a Admin button(role='log out' onclick="document.querySelector('sib-auth').logout();") Log out diff --git a/src/scripts/hd-app.js b/src/scripts/hd-app.js deleted file mode 100644 index 1fe90ce..0000000 --- a/src/scripts/hd-app.js +++ /dev/null @@ -1,63 +0,0 @@ -document.addEventListener("DOMContentLoaded", function (event) { - // Constants declaration - const navBar = document.querySelector("#navbar"); - const searchBar = document.querySelector("#search-bar"); - const searchView = document.querySelector("#search-view"); - const searchInput = searchBar.querySelector("#search-input"); - const btnToggle = document.querySelector("#button-toggle"); - - - // Shortcuts - window.addEventListener("keydown", function (e) { - // CTRL + K triggers the search feature - if ((e.keyCode == 75 || e.keyCode == 80) && (e.ctrlKey === true || e.metaKey === true)) { - e.preventDefault(); - e.stopPropagation(); - openSearchBar(); - } - - // Escape key - else if (e.keyCode == 27 && navBar.classList.contains("search-mode")) { - closeSearchBar(); - } - }); - - searchBar.querySelector("#close-search-icon").addEventListener("click", emptySearchBar); - - function openSearchBar(e) { - navBar.classList.add("search-mode"); - searchBar.querySelector("#search-input").focus(); - searchView.classList.add("search-mode"); - } - - function closeSearchBar(e) { - navBar.classList.remove("search-mode"); - searchView.classList.remove("search-mode"); - } - - function emptySearchBar(e) { - searchInput.value = ''; - openSearchBar(); - searchInput.focus; - } - - - // Synchronizes the search input with the s - searchInput.addEventListener("keyup", (e) => { - searchView.querySelectorAll("ldp-form input[type=text]").forEach((el) => { - el.value = searchInput.value; - }); - }); - - - btnToggle.addEventListener('click', e => { - navBar.classList.toggle('open'); - e.stopPropagation(); - }); - - window.addEventListener('click', e => { - navBar.classList.remove('open'); - }); - - -}); diff --git a/src/scripts/index.js b/src/scripts/index.js index 9b4fac6..7146e97 100644 --- a/src/scripts/index.js +++ b/src/scripts/index.js @@ -1,35 +1,9 @@ document.addEventListener('DOMContentLoaded', function (event) { - const navBar = document.querySelector('#navbar'); - const btnToggle = document.querySelector('#button-toggle'); const menuWrappers = Array.from(document.querySelectorAll('.menu-wrapper')); const rightMenus = Array.from(document.querySelectorAll('nav.jsRightMenu')); - - if (!navBar || !btnToggle) return; + const viewsContainer = Array.from(document.querySelectorAll('.views-container')); - btnToggle.addEventListener('click', e => { - navBar.classList.toggle('open'); - e.stopPropagation(); - }); - - window.addEventListener('click', e => { - navBar.classList.remove('open'); - }); - - function resize() { - setTimeout(() => - Array.from(document.querySelectorAll('.chat-view')).forEach(elm => { - if (!elm.offsetParent) return; - elm.style.setProperty('--pos-top', elm.offsetTop + 'px'); - })); - } - window.addEventListener('resize', resize); - window.addEventListener('navigate', resize); - window.addEventListener('popstate', resize); - document.addEventListener('load', resize); - document.addEventListener('WebComponentsReady', resize); - resize(); - - // Toggle sub-menus + //- Toggle sub-menus menuWrappers.forEach(menuWrapper => { const menu = menuWrapper.querySelector('.menu'); menu.addEventListener('click', e => { @@ -37,12 +11,14 @@ document.addEventListener('DOMContentLoaded', function (event) { }); }); - // Open/close menu on the right + //- Open/close menu on the right rightMenus.forEach(rightMenu => { const btnRightMenu = rightMenu.querySelector("li.jsOffsiteToggle"); - + btnRightMenu.addEventListener('click', e => { - rightMenu.classList.toggle('offsite-is-closed'); + rightMenus.forEach(rM => rM.classList.toggle('offsite-is-closed')); + viewsContainer.forEach(vC => vC.classList.toggle('sidebar-is-closed')); }) - }) -}); + }); + +}); \ No newline at end of file diff --git a/src/styles/_index.scss b/src/styles/_index.scss new file mode 100644 index 0000000..7da5802 --- /dev/null +++ b/src/styles/_index.scss @@ -0,0 +1,21 @@ +@charset "UTF-8"; + +@import '../../node_modules/include-media/dist/include-media'; +@import '../../node_modules/normalize.css/normalize'; + +@import 'abstracts/variables'; +@import 'abstracts/mixins'; +@import 'components/icons/index'; +@import 'base/main'; + +div#viewport { + display: flex; + flex-grow: 1; + flex-shrink: 1; + overflow-y: auto; + @import 'components/index'; + @import 'layout/members/index'; + @import 'layout/job-offers/index'; + @import 'layout/project-profile/index'; + @import 'layout/circle-profile/index'; +} diff --git a/src/styles/abstracts/_mixins.scss b/src/styles/abstracts/_mixins.scss new file mode 100644 index 0000000..741219e --- /dev/null +++ b/src/styles/abstracts/_mixins.scss @@ -0,0 +1,4 @@ +@mixin window-style-modal($background: $color-0-0-100, $shadow: hsla(212, 7%, 55%, 0.19)) { + box-shadow: 0 0 8px 0 $shadow; + background-color: $background; +} \ No newline at end of file diff --git a/src/styles/abstracts/_variables.scss b/src/styles/abstracts/_variables.scss new file mode 100644 index 0000000..e63db81 --- /dev/null +++ b/src/styles/abstracts/_variables.scss @@ -0,0 +1,25 @@ +// Color Variables +$color-43-100-50: hsl(43, 100%, 50%); +$color-45-95-54: hsl(45, 95%, 54%); +$color-46-100-67: hsl(46, 100%, 67%); +$color-46-100-50: hsl(46, 100%, 50%); +$color-0-0-100: hsl(0, 0%, 100%); +$color-210-17-91: hsl(210, 17%, 91%); +$color-222-52-90: hsl(222, 52%, 90%); +$color-210-25-95: hsl(210, 25%, 95%); +$color-222-57-95: hsl(222, 57%, 95%); +$color-213-20-91: hsl(213, 20%, 91%); +$color-221-51-90: hsl(221, 51%, 90%); +$color-0-0-85: hsl(0, 0%, 85%); +$color-229-25-79: hsl(229, 25%, 79%); +$color-215-9-73: hsl(215, 9%, 73%); +$color-244-10-70: hsl(244, 10%, 70%); +$color-215-6-63: hsl(215, 6%, 63%); +$color-210-5-56: hsl(210, 5%, 56%); +$color-210-4-50: hsl(210, 4%, 50%); +$color-213-4-50: hsl(213, 4%, 50%); +$color-213-13-86: hsla(213, 13%, 86%, 0.2); +$color-0-0-29: hsl(0, 0%, 29%); +$color-233-18-29: hsl(233, 18%, 29%); +$color-216-4-22: hsl(216, 4%, 22%); +$color-244-73-62: hsl(244, 73%, 62%); diff --git a/src/styles/base/_compat.scss b/src/styles/base/_compat.scss new file mode 100644 index 0000000..4a5b345 --- /dev/null +++ b/src/styles/base/_compat.scss @@ -0,0 +1,34 @@ +%grid-layer { + display: grid; + font-size: 16px; + grid-template-columns: [start]auto[middle]25%[end]; + grid-template-rows: [start]7em[middle]auto[end]; +} + +%flex-grid-layer { + display: flex; + flex-direction: column; + align-items: stretch; +} + +%grid-layer-main { + @extend %flex-grid-layer; + grid-column-start: start; + grid-column-end: end; + grid-row-start: start; + grid-row-end: end; +} + +%grid-layer-links { + @extend %flex-grid-layer; + grid-column-start: middle; + grid-column-end: end; + grid-row-start: start; + grid-row-end: middle; +} + +%containerV { + display: flex; + flex-direction: column; + align-items: stretch; +} \ No newline at end of file diff --git a/src/styles/base/form.scss b/src/styles/base/form.scss new file mode 100644 index 0000000..5265551 --- /dev/null +++ b/src/styles/base/form.scss @@ -0,0 +1,294 @@ +.content-box { + + &.with-form { + + hd-template-project-title { + border-bottom: 1px solid $color-221-51-90; + color: $color-233-18-29; + font-size: 1.8rem; + font-weight: 600; + padding-bottom: 1rem; + } + + sib-form { + border-bottom: 1px solid $color-210-17-91; + padding-bottom: 2.55rem; + } + + h1 { + color: $color-233-18-29; + font-weight: bold; + font-size: 2rem; + text-align: center; + } + + p.center { + margin-bottom: 6.8rem; + text-align: center; + } + + [name$='-text'] { + font-size: 1.5rem; + margin-bottom: 2em; + } + + div[name^='block-'] { + display: flex; + flex-direction: column; + } + + input { + -webkit-appearance: none; + align-items: center; + background: $color-222-57-95; + border: none; + color: $color-233-18-29; + display: inline-flex; + justify-content: flex-start; + line-height: 1.5; + vertical-align: top; + } + + sib-form-auto-completion, + sib-form-checkbox, + sib-form-dropdown, + sib-form-label-text, + sib-form-multiple-dropdown, + sib-form-number, + sib-form-textarea { + display: flex; + flex-direction: column; + + >label { + color: $color-244-10-70; + font-weight: 600; + margin: 2em 0 0.5em; + text-transform: uppercase; + + >div { + padding-bottom: 1rem; + } + } + + select, + textarea { + background: $color-222-57-95; + border: none; + color: $color-233-18-29; + line-height: 1.5; + width: 100%; + + } + + select, + textarea { + padding: 1.7rem; + } + + select { + margin-bottom: 1.7rem; + } + } + + sib-form-auto-completion, + sib-form-checkbox, + sib-form-multiple-dropdown { + + label { + color: $color-216-4-22; + font-weight: 600; + text-transform: initial; + } + } + + sib-form-auto-completion { + + div.choices__inner { + background-color: inherit; + border: none; + display: flex; + flex-direction: column-reverse; + padding-left: 0; + + div.choices__list { + margin-top: 1.7rem; + + div.choices__item { + + button.choices__button { + border-left: 1px solid $color-43-100-50; + opacity: 1; + padding-left: 0; + } + } + } + + input[type='text'].choices__input { + max-width: 27.2rem; + min-width: 27.2rem; + } + } + } + + sib-form-checkbox { + flex-direction: row; + + [type='checkbox'] { + position: relative; + margin-top: 2em; + + &:before { + border: 2px solid $color-210-5-56; + content: ''; + height: 1rem; + left: 0; + margin-left: 1rem; + padding-bottom: 0.2rem; + position: absolute; + width: 1.2rem; + z-index: 1; + } + + &:checked { + &:before { + border: 2px solid $color-210-5-56; + color: $color-244-73-62; + height: 1rem; + left: 0; + margin-left: 1rem; + padding-bottom: 0.2rem; + position: absolute; + width: 1.2rem; + z-index: 1; + @include mdi('check'); + } + } + + &:after { + background: $color-0-0-100; + content: ''; + height: 1rem; + position: absolute; + width: 1rem; + } + } + } + + sib-form-dropdown { + + select { + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + background-image: url("/images/chevron-down.png"); + background-position: right 12px top 60%; + background-repeat: no-repeat; + background-size: 14px 9px; + box-sizing: border-box; + } + } + + /* A REFACTORISER. PAS ENCORE UTILISE SUR L'APPLI */ + + sib-form-multiple-dropdown { + + button { + appearance: none; + background-color: $color-0-0-100; + border: 1px solid; + border-radius: 100%; + color: $color-244-73-62; + font-size: 2.55rem; + height: 1em; + line-height: 0; + margin: 0.34rem; + padding: 0 0.04em 0.08em; + vertical-align: middle; + width: 1em; + } + } + + sib-form-textarea { + align-items: stretch; + } + + sib-multiple-form { + + >label { + display: none; + } + } + + input[type='submit'] { + margin-top: 6rem; + background-color: $color-233-18-29; + color: $color-0-0-100; + float: right; + font-weight: bold; + text-transform: uppercase; + } + } + + .is-horizontal { + display: flex; + } + + sib-multiple-form[name='members'] { + + >div { + align-items: center; + display: flex; + } + + >div:not(:nth-child(-n + 2)) { + + label { + + >div { + display: none; + } + } + } + + button { + appearance: none; + background-color: $color-0-0-100; + border: 1px solid; + border-radius: 100%; + color: $color-244-73-62; + font-size: 2.55rem; + height: 1em; + line-height: 0; + margin: 0.34rem; + padding: 0 0.04em 0.08em; + vertical-align: middle; + width: 1em; + + &::after { + content: Add; + } + } + } +} +sib-form { + + form > * { + margin-top: 0.85rem; + } + + // button like + input[type='color'], + input[type='file'], + input[type='reset'], + input[type='submit'] { + display: inline-block; + padding: 0.85rem 2.55rem; + border: none; + border-radius: 100em; + font-weight: normal; + } + + input[type='reset'] { + display: none; + } +} \ No newline at end of file diff --git a/src/styles/header.scss b/src/styles/base/header.scss similarity index 84% rename from src/styles/header.scss rename to src/styles/base/header.scss index 8b448da..c9bafca 100644 --- a/src/styles/header.scss +++ b/src/styles/base/header.scss @@ -1,8 +1,9 @@ - #header { + max-height: 51px; + height: 51px; align-items: center; - background-color: $color-white; - color: $color-dark-lava; + background-color: $color-0-0-100; + color: $color-216-4-22; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09); display: flex; flex-shrink: 0; @@ -15,15 +16,6 @@ } } -#button-toggle { - color: $color-dark-lava; - cursor: pointer; - display: none; - font-size: 3.2rem; - padding: 2.3rem; - @include icon('menu'); -} - #logo { flex: 1 1 0; } @@ -34,14 +26,14 @@ #search-input { border-radius: 10em; padding: 0.64rem 1.28rem; - border: 1px solid $color-bombay; + border: 1px solid $color-215-9-73; height: 3.8rem; width: 28rem; -webkit-appearance: textfield; & ~ #close-search-icon, & ~ #search-icon { - color: $color-bombay; + color: $color-215-9-73; display: block; font-size: 1.7rem; margin: auto; @@ -49,7 +41,7 @@ right: 3.7rem; top: 50%; transform: translateY(-50%); - -webkit-text-stroke: 1px $color-bombay; + -webkit-text-stroke: 1px $color-215-9-73; } & ~ #close-search-icon { @@ -115,8 +107,8 @@ details { details#user-controls { summary:focus { - background-color: $color-purple-dark; - color: $color-white; + background-color: $color-233-18-29; + color: $color-0-0-100; outline: none; } @@ -160,7 +152,7 @@ details#user-controls { z-index: 1; > nav { - background-color: $color-white; + background-color: $color-0-0-100; box-shadow: 0 7px 8px 0 rgba(0, 0, 0, 0.16); position: absolute; right: 0; @@ -178,14 +170,14 @@ details#user-controls { padding: 1.6rem 1.3rem; a { - color: $color-text-base; + color: $color-213-4-50; text-decoration: none; } } } button { - color: $color-text-base; + color: $color-213-4-50; padding: 1.6rem 1.3rem; text-align: left; width: 100%; @@ -194,8 +186,8 @@ details#user-controls { } &[open] { - background-color: $color-purple-dark; - color: $color-white; + background-color: $color-233-18-29; + color: $color-0-0-100; #user-controls__profile { diff --git a/src/styles/base/main.scss b/src/styles/base/main.scss new file mode 100644 index 0000000..c8274c4 --- /dev/null +++ b/src/styles/base/main.scss @@ -0,0 +1,147 @@ +$breakpoints: (phone: 480px, + tablet: 768px, + desktop: 1024px) !default; + +[hidden], +.hidden { + display: none !important; +} + +* { + outline: none; +} + +:root { + font-size: 10px; + font-family: Open Sans, sans-serif; + --sib-notifications-theme: #{$color-46-100-50}; + + body { + background-color: $color-210-25-95; + color: $color-213-4-50; + font-size: 1.6rem; + overflow: hidden; + overflow-wrap: break-word; + display: flex; + flex-direction: column; + height: 100vh; + overflow: hidden; + } + + main { + display: flex; + flex-direction: row; + height: 100%; + max-width: 100%; + overflow: hidden; + } +} + +img { + max-height: 100%; + max-width: 100%; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: $color-216-4-22; + font-weight: 600; + padding: 0; + + span { + font-weight: 400; + padding-left: 0.85rem; + + &:before { + content: '// '; + } + } +} + +h1 { + font-size: 2.1rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.6rem; +} + +h4 { + font-size: 1.2rem; +} + +h5 { + font-size: 2rem; +} + +button { + background: none; + border: none; + padding: 0; +} + +sib-route, +sib-link, +button, +input, +a { + cursor: pointer; + &:hover, + &:link, + &:active { + cursor: pointer; + } +} + +%padding-main { + padding: 5rem; +} + +.content-box { + @include window-style-modal(); + @extend %padding-main; + display: flex; + flex-direction: column; + flex-grow: 1; + margin: 2rem 1rem 5rem 2rem; + + &.full-width { + background: $color-0-0-100; + flex: 1; + font-size: 1.5rem; + margin: 0 auto; + min-height: calc(100vh - 84px); + } +} + +.backlink { + font-size: 1.5rem; + margin: 2rem 0 0 2rem; + @include icon('arrow-left-circle'); + color: #3d4057; + text-decoration: underline; + + &::before { + text-decoration: none; + } + + &::before { + font-size: 2rem; + margin-right: 1rem; + } +} + +// Compatibility layer for non-updated components +@import 'compat'; +// Other base components +@import 'form'; +@import 'header'; +@import 'menu-left'; \ No newline at end of file diff --git a/src/styles/menu-left.scss b/src/styles/base/menu-left.scss similarity index 56% rename from src/styles/menu-left.scss rename to src/styles/base/menu-left.scss index 223051c..4f10076 100644 --- a/src/styles/menu-left.scss +++ b/src/styles/base/menu-left.scss @@ -1,14 +1,10 @@ -#navbar { - background-color: $color-purple-dark; - color: $color-white; +#main__menu { + background-color: $color-233-18-29; + color: $color-0-0-100; display: block; - flex: 0 0 16em; - flex-direction: column; overflow: auto; + flex: 0 0 16em; transition: flex-basis 0.5s ease-in-out; - // max-width: 16rem; - // position: relative; - // min-height: 100%; &.open { transform: translateX(0); @@ -35,18 +31,17 @@ padding: 1.6rem; &[active] { - background-color: $color-mustard; - color: $color-purple-dark; + background-color: $color-46-100-67; + color: $color-233-18-29; .menu-icon:before { - background-color: $color-purple-dark; - color: $color-white; - // transform: perspective(1000px) translateZ(1px) scale(0.8); + background-color: $color-233-18-29; + color: $color-0-0-100; } .menu-notification > sib-display > div:first-child { - background-color: $color-purple-dark; - color: $color-mustard; + background-color: $color-233-18-29; + color: $color-46-100-67; } } @@ -64,9 +59,6 @@ height: 1.9em; line-height: 1.9em; width: 1.9em; - // transform: perspective(1000px) translateZ(1px) scale(1); - // will-change: transform; - // transition: all 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.4); } } @@ -81,27 +73,10 @@ text-transform: uppercase; width: 8em; } - - /*Fix: presque doublon avec main.scss ligne 71 qui gère le nombre de notifications sur la cloche */ - .menu-notification { - align-self: center; - display: flex; - flex-grow: 0; - flex-shrink: 0; - justify-content: center; - width: 2em; - - > sib-display { - - > div:first-of-type { - @extend %notification; - } - } - } .menu-chevron { align-items: center; - color: $color-spun-pearl; + color: $color-244-10-70; display: flex; flex-grow: 0; flex-shrink: 0; @@ -118,7 +93,7 @@ padding-left: 2.88rem; div { - color: $color-spun-pearl; + color: $color-244-10-70; cursor: pointer; padding-bottom: 1.12rem; @@ -138,24 +113,8 @@ .divider { height: 1px; - background-color: $color-gainsboro-a02; + background-color: $color-213-13-86; } } } -@include media('width sib-chat { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + max-height: calc(100vh - 84px); + z-index: 0; + } +} + diff --git a/src/styles/filters.scss b/src/styles/components/filters.scss similarity index 94% rename from src/styles/filters.scss rename to src/styles/components/filters.scss index d97dc63..03faa2e 100644 --- a/src/styles/filters.scss +++ b/src/styles/components/filters.scss @@ -14,7 +14,7 @@ -webkit-appearance: none; border-style: none; box-shadow: 0 0 5px 0 rgba(133, 140, 148, 0.09); - color: $color-taupe-gray; + color: $color-210-5-56; font-size: 1.36rem; line-height: 1.80; margin-top: 1.36rem; @@ -27,7 +27,7 @@ } select { - background: $color-white; + background: $color-0-0-100; background-image: url("/images/chevron-down.png"); background-position: right 12px top 60%; background-repeat: no-repeat; diff --git a/src/styles/components/howto.scss b/src/styles/components/howto.scss new file mode 100644 index 0000000..391e9ba --- /dev/null +++ b/src/styles/components/howto.scss @@ -0,0 +1,17 @@ +.howto { + padding: 0.85rem; + margin-bottom: 1.7rem; + margin-left: 8.5rem; + flex-basis: auto; + border-radius: 2em; + + div[class*="icon-"] { + align-items: center; + display: flex; + flex-grow: 0; + flex-shrink: 0; + } +} + + + diff --git a/src/styles/components/icons/_index.scss b/src/styles/components/icons/_index.scss new file mode 100644 index 0000000..37259f7 --- /dev/null +++ b/src/styles/components/icons/_index.scss @@ -0,0 +1,3 @@ +@import 'custom-icons'; +@import 'icons'; +@import 'material-design-icons'; \ No newline at end of file diff --git a/src/styles/icons/custom-icons.scss b/src/styles/components/icons/custom-icons.scss similarity index 100% rename from src/styles/icons/custom-icons.scss rename to src/styles/components/icons/custom-icons.scss diff --git a/src/styles/icons/icons.scss b/src/styles/components/icons/icons.scss similarity index 100% rename from src/styles/icons/icons.scss rename to src/styles/components/icons/icons.scss diff --git a/src/styles/icons/material-design-icons.scss b/src/styles/components/icons/material-design-icons.scss similarity index 100% rename from src/styles/icons/material-design-icons.scss rename to src/styles/components/icons/material-design-icons.scss diff --git a/src/styles/components/sidebar.scss b/src/styles/components/sidebar.scss new file mode 100644 index 0000000..ed30795 --- /dev/null +++ b/src/styles/components/sidebar.scss @@ -0,0 +1,107 @@ +.no-sidebar { + flex: 1; + @extend %padding-main; +} + +.with-sidebar { + flex-grow: 1; + display: flex; + flex-direction: row; + align-items: stretch; + overflow-x: hidden; + + .views-container { + flex: 1 0 0; + overflow-y: auto; + -webkit-backface-visibility: hidden; + + &.sidebar-is-closed { + margin-left: -15.5rem; + transform: translate(15.5rem); + } + } + + >div { + transition: all 0.5s; + } + + nav { + transition: all 0.5s; + + >sib-router { + background-color: $color-222-52-90; + color: $color-233-18-29; + flex: 0 0 auto; + font-weight: 600; + + >ul { + cursor: pointer; + list-style: none; + margin: 0; + padding-left: 0; + + li { + align-items: center; + border-bottom: 1px solid $color-229-25-79; + display: flex; + margin: 0; + padding: 2.55rem 2.55rem; + position: relative; + width: 12em; + + &::before { + float: left; + font-size: 4rem; + margin-left: 0; + margin-right: 2.55rem; + } + } + + >li { + @include icon('arrow-right-circle'); + } + + >sib-route { + + &[active] { + background-color: $color-233-18-29; + color: $color-46-100-67; + display: inline-block; + } + + &[name^='circle'], + &[name^='project'] { + + >li::before { + font-size: 4rem; + } + } + + &[name$='chat']>li { + @include ci('chat'); + } + + &[name$='create']>li { + @include ci('offer'); + } + + &[name$='edit']>li { + @include ci('list'); + } + + &[name$='profile']>li { + @include ci('information'); + } + } + } + } + + &.offsite-is-closed { + transform: translate(15.5rem); + + & .jsOffsiteToggle::before { + transform: rotate(180deg); + } + } + } +} \ No newline at end of file diff --git a/src/styles/components/skills.scss b/src/styles/components/skills.scss new file mode 100644 index 0000000..a526548 --- /dev/null +++ b/src/styles/components/skills.scss @@ -0,0 +1,16 @@ +sib-multiple[name*='skills'] { + display: flex; + flex-wrap: wrap; +} + +.skill { + background-color: $color-43-100-50; + border: 1px solid $color-43-100-50; + border-radius: 2em; + color: $color-0-0-100; + display: block; + font-size: 1.4rem; + font-weight: bold; + margin: 0.4rem 1rem 0.4rem 0; + padding: 0.5rem 2rem; +} \ No newline at end of file diff --git a/src/styles/components/user-role.scss b/src/styles/components/user-role.scss new file mode 100644 index 0000000..fed7680 --- /dev/null +++ b/src/styles/components/user-role.scss @@ -0,0 +1,9 @@ +%user-role { + border: 1px solid $color-45-95-54; + border-radius: 3px; + color: $color-210-4-50; + font-size: 1.4rem; + font-weight: 400; + margin-right: 0.4rem; + padding: calc(1.6rem - 0.8em) 0.7em; + } \ No newline at end of file diff --git a/src/styles/content.scss b/src/styles/content.scss deleted file mode 100644 index 4d66ca7..0000000 --- a/src/styles/content.scss +++ /dev/null @@ -1,191 +0,0 @@ -// job offers -// .new-job-offer { -// @extend %button; -// text-transform: uppercase; -// margin-left: 1em; -// margin-bottom: 1em -// //float: right; -// } - -// skills - -/*#member-profile sib-display-lookuplist { - display: flex; - - ul { - display: flex; - flex-wrap: wrap; - list-style: none; - } - - li[name*='skills'] { - padding: 0.3em 1.2em; - border: 1px solid; - border-radius: 2em; - margin: 0.25em; - background-color: $color-selective-yellow; - color: $color-white; - font-weight: bold; - } -} -*/ -// group - -#group-profile { - sib-display-div[name='name'] div { - @extend h1; - } - - sib-display-div[name='label-description'] div { - @extend h2; - } -} -// chat - -.chat-view { - padding: 1.7rem; - position: relative; - z-index: 0; - @extend %frame; - height: calc(100vh - 104px); - - > sib-chat { - @include pos(); - } -} -// member-profile && members - -/*.members-list-condensed { - img { - width: 50px; - height: 100px; - border-radius: 100%; - object-fit: cover; - object-position: top; - } - - label { - display: none; - } - - > div > sib-display > div { - display: grid; - grid-template-columns: 0.5fr 2fr; - grid-template-rows: repeat(3, auto); - grid-column-gap: 3rem; - align-items: center; - - div[name="teammate-img"] { - background: blue; - grid-row: 1 / -1; - } - - } - - - ul{ - margin-top: 0px; - margin-bottom: 0px; - list-style-type: none; - } - >[name$="user"]{ - color: $color-dark-lava; - } - >[name$="avatar"]{ - grid-column-start: first; - grid-column-end: middle; - grid-row-start: first; - grid-row-end: end; - } - } - - // ul { - // padding-left: 1em; - // } -}*/ - -hdapp-available { - display: block; - text-align: right; - - strong { - @extend %button; - } -} - -/*#member-profile { - ul { - @include list-reset(); - } -}*/ - -#member-profile { - @include media('width>tablet') { - div[name='header'] { - float: left; - width: 50%; - } - } - - div[name='name'] { - @extend h1; - - div { - display: inline-block; - margin-right: 0.7rem; - } - } - - sib-link[next='member-chat'] { - border-style: solid; - display: flex; - border-radius: 25px; - border-style: solid; - border-color: $color-majorelle-blue; - color: $color-majorelle-blue; - padding: 1.7rem; - text-decoration:none; - } - - div[name='pseudonym'] { - margin-top: -1.7rem; - margin-bottom: 1.7rem; - } - - #member-info { - &:after { - content: ''; - display: block; - clear: both; - } - } -} - -sib-form { - - form > * { - margin-top: 0.85rem; - } - - // button like - input[type='color'], - input[type='file'], - input[type='reset'], - input[type='submit'] { - @extend %button; - } - - input[type='reset'] { - display: none; - } -} - -/* -label { - @extend h2; - &:after { - content: ':'; - } -} -*/ - diff --git a/src/styles/form.scss b/src/styles/form.scss deleted file mode 100644 index 17cfa25..0000000 --- a/src/styles/form.scss +++ /dev/null @@ -1,291 +0,0 @@ -.frame-form { - display: flex; - flex-direction: column; - margin: 0 auto; - min-height: 100vh; - padding: 6.8rem 8.5rem 10.2rem; - @extend %frame; - - .form-view { - border-bottom: 1px solid $color-platinum; - padding-bottom: 2.55rem; - } -} - -@include styleTemplateFieldset('fee'); -@include styleTemplateFieldset('customer'); -@include styleTemplateFieldset('team'); - -#circle-create, -#circle-edit, -#job-offer-create, -#project-create, -#project-edit { - flex: 1; - font-size: 1.5rem; - - h1 { - color: $color-purple-dark; - font-weight: bold; - font-size: 2rem; - text-align: center; - } - - p.form-goal { - margin-bottom: 6.8rem; - text-align: center; - } - - [name$='-text'] { - font-size: 1.5rem; - margin-bottom: 2em; - } - - div[name^='block-'] { - display: flex; - flex-direction: column; - } - - input { - -webkit-appearance: none; - align-items: center; - background: $color-glitter; - border: none; - color: $color-purple-dark; - display: inline-flex; - justify-content: flex-start; - line-height: 1.5; - vertical-align: top; - } - - sib-form-auto-completion, - sib-form-checkbox, - sib-form-dropdown, - sib-form-label-text, - sib-form-multiple-dropdown, - sib-form-number, - sib-form-textarea { - display: flex; - flex-direction: column; - - > label { - @extend %label; - } - - select, - textarea { - background: $color-glitter; - border: none; - color: $color-purple-dark; - line-height: 1.5; - width: 100%; - - } - - select, - textarea { - padding: 1.7rem; - } - - select { - margin-bottom: 1.7rem; - } - } - - sib-form-auto-completion, - sib-form-checkbox, - sib-form-multiple-dropdown { - - label { - color: $color-dark-lava; - font-weight: 600; - text-transform: initial; - } - } - - sib-form-auto-completion { - - div.choices__inner { - background-color: inherit; - border: none; - display: flex; - flex-direction: column-reverse; - padding-left: 0; - - div.choices__list { - margin-top: 1.7rem; - - div.choices__item { - /*@extend %skill;*/ - - button.choices__button { - border-left: 1px solid $color-selective-yellow; - opacity: 1; - padding-left: 0; - } - } - } - - input[type='text'].choices__input { - max-width: 27.2rem; - min-width: 27.2rem; - } - } - } - - sib-form-checkbox { - flex-direction: row; - - [type='checkbox'] { - cursor: pointer; - position: relative; - margin-top: 2em; - - &:before { - border: 2px solid $color-taupe-gray; - content: ''; - height: 1rem; - left: 0; - margin-left: 1rem; - padding-bottom: 0.2rem; - position: absolute; - width: 1.2rem; - z-index: 1; - } - - &:checked { - &:before { - border: 2px solid $color-taupe-gray; - color: $color-majorelle-blue; - height: 1rem; - left: 0; - margin-left: 1rem; - padding-bottom: 0.2rem; - position: absolute; - width: 1.2rem; - z-index: 1; - @include mdi('check'); - } - } - - &:after { - background: $color-white; - content: ''; - height: 1rem; - position: absolute; - width: 1rem; - } - } - } - - sib-form-dropdown { - - select { - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - background-image: url("/images/chevron-down.png"); - background-position: right 12px top 60%; - background-repeat: no-repeat; - background-size: 14px 9px; - box-sizing: border-box; - } - } - - /* A REFACTORISER. PAS ENCORE UTILISE SUR L'APPLI */ - - sib-form-multiple-dropdown { - - button { - appearance: none; - background-color: $color-white; - border: 1px solid; - border-radius: 100%; - color: $color-majorelle-blue; - cursor: pointer; - font-size: 2.55rem; - height: 1em; - line-height: 0; - margin: 0.34rem; - padding: 0 0.04em 0.08em; - vertical-align: middle; - width: 1em; - } - } - - sib-form-textarea { - align-items: stretch; - } - - sib-multiple-form { - - > label { - display: none; - } - } - - input[type='submit'] { - margin-top: 6rem; - @extend %submit-form; - } -} - -#project-create, -#project-edit { - - input, - textarea { - margin-bottom: 3.4rem; - } -} - -.is-horizontal { - display: flex; -} - -.field { - margin-right: 0.75rem; - max-width: 50%; -} - -.is-expanded { - flex-grow: 1; -} - -sib-multiple-form[name='members'] { - - > div { - align-items: center; - display: flex; - } - - > div:not(:nth-child(-n + 2)) { - - label { - - > div { - display: none; - } - } - } - - button { - appearance: none; - background-color: $color-white; - border: 1px solid; - border-radius: 100%; - color: $color-majorelle-blue; - cursor: pointer; - font-size: 2.55rem; - height: 1em; - line-height: 0; - margin: 0.34rem; - padding: 0 0.04em 0.08em; - vertical-align: middle; - width: 1em; - - &::after { - content: Add; - } - } -} diff --git a/src/styles/index.scss b/src/styles/index.scss deleted file mode 100644 index 14a79e8..0000000 --- a/src/styles/index.scss +++ /dev/null @@ -1,28 +0,0 @@ -@charset "UTF-8"; - -@import '../../node_modules/include-media/dist/include-media'; -@import 'https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css'; -@import 'icons/custom-icons'; -@import 'icons/icons'; -@import 'icons/material-design-icons'; - -@import 'variables'; -@import 'mixins'; -@import 'main'; -@import 'form'; -@import 'content'; - -@import 'filters'; -@import 'right-panel'; - -@import 'group-profile'; -@import 'job-offers'; -@import 'member-profile'; -@import 'members'; -@import 'project-profile'; -@import 'member-chat'; - -// @import 'members'; -@import 'header'; -@import 'menu-left'; -@import 'menu-right'; \ No newline at end of file diff --git a/src/styles/job-offers.scss b/src/styles/job-offers.scss deleted file mode 100644 index d23731a..0000000 --- a/src/styles/job-offers.scss +++ /dev/null @@ -1,134 +0,0 @@ -#offers-list { - @extend .grid-layer; - - > sib-form { - grid-column-start: start; - grid-column-end: middle; - grid-row-start: start; - grid-row-end: middle; - } - - > div { - grid-column-start: start; - grid-column-end: end; - grid-row-start: middle; - grid-row-end: end; - - &:first-of-type { - margin-top: 5rem; - } - - > sib-display { - @extend %frame; - display: block; - font-size: 1.5rem; - margin: 1.7rem 0; - padding: 3.4rem; - /*&:nth-child(odd) { - background-color: $color-anti-flash-white; - }*/ - - [name='user-thumb'] { - align-items: center; - display: flex; - margin: -0.25em; - - > * { - margin: 0.25em; - } - - [name='author.first_name'] { - color: $color-quartz; - font-weight: 600; - } - - sib-multiple[name$='groups'] { - display: flex; - - label { - display: none; - } - - > * { - @extend %group; - } - } - - sib-display-img { - background-color: $color-white; - border-radius: 50%; - height: 4.25rem; - overflow: hidden; - position: relative; - width: 4.25rem; - - img { - height: 100%; - left: 0; - object-fit: cover; - position: absolute; - top: 0; - width: 100%; - } - } - } - - [name='creationDate'] { - display: block; - margin-bottom: 0.7rem; - margin-top: 2rem; - } - - [name='title'] { - @extend h3; - display: block; - font-weight: bold; - line-height: 19px; - } - - [name='description'] { - display: block; - line-height: 1.6; - margin-bottom: 1.6rem; - } - - [name='skills'] { - label { - display: none; - } - } - - [name='send'] { - color: $color-majorelle-blue; - font-size: 1.3rem; - float: right; - - > sib-link { - cursor: pointer; - @include icon('speech'); - - &::before { - font-size: 1.5rem; - margin-right: 1.2rem; - } - } - } - - [name='status'] { - float: right; - display: flex; - align-items: center; - margin: -0.25em; - - > * { - margin: 0.25em; - } - - strong { - @extend %status-open; - } - } - } - } -} - diff --git a/src/styles/layout/circle-profile/_index.scss b/src/styles/layout/circle-profile/_index.scss new file mode 100644 index 0000000..293bc89 --- /dev/null +++ b/src/styles/layout/circle-profile/_index.scss @@ -0,0 +1 @@ +@import 'circle-profile'; \ No newline at end of file diff --git a/src/styles/group-profile.scss b/src/styles/layout/circle-profile/circle-profile.scss similarity index 92% rename from src/styles/group-profile.scss rename to src/styles/layout/circle-profile/circle-profile.scss index ddc1f87..94d0bbf 100644 --- a/src/styles/group-profile.scss +++ b/src/styles/layout/circle-profile/circle-profile.scss @@ -1,5 +1,4 @@ #circle-profile { - min-height: 100%; .block-group > div { display: flex; @@ -31,7 +30,7 @@ } > div[name='teammate-img'] { - background-color: $color-bombay; + background-color: $color-215-9-73; border-radius: 50%; grid-column: 1 / span 2; grid-row: 1 / span 2; @@ -61,7 +60,7 @@ } > sib-display-value[name='teammate-profile'] { - color: $color-dark-lava; + color: $color-216-4-22; display: block; font-size: 1.2rem; grid-column: 1 / span 2; @@ -69,7 +68,7 @@ } > sib-display-value[name='teammate-contact'] { - color: $color-majorelle-blue; + color: $color-244-73-62; font-size: 1.2rem; justify-self: stretch; grid-column: 3 / span 2; diff --git a/src/styles/layout/job-offers/_index.scss b/src/styles/layout/job-offers/_index.scss new file mode 100644 index 0000000..07a4c0e --- /dev/null +++ b/src/styles/layout/job-offers/_index.scss @@ -0,0 +1 @@ +@import 'job-offers.scss'; \ No newline at end of file diff --git a/src/styles/layout/job-offers/job-offers.scss b/src/styles/layout/job-offers/job-offers.scss new file mode 100644 index 0000000..186b446 --- /dev/null +++ b/src/styles/layout/job-offers/job-offers.scss @@ -0,0 +1,174 @@ +.job-offers__main { + @extend %grid-layer; +} + +.job-offers__content { + @extend %grid-layer-main; + @extend %containerV; +} + +.job-offers__newoffer { + @extend %grid-layer-links; + @extend %containerV; +} + +#job-offers { + + .plus-button { + @extend .howto; + background-color: $color-43-100-50; + color: $color-0-0-100; + font-weight: bold; + text-transform: uppercase; + cursor: pointer; + display: flex; + flex-wrap: wrap; + justify-content: center; + align-items: center; + + .icon-plus { + font-size: 20px; + justify-content: center; + margin: 0.5rem 0.5rem 0.5rem 0; + + } + } + + #offers-list { + @extend %grid-layer; + + >sib-form { + grid-column-start: start; + grid-column-end: middle; + grid-row-start: start; + grid-row-end: middle; + } + + >div { + grid-column-start: start; + grid-column-end: end; + grid-row-start: middle; + grid-row-end: end; + + &:first-of-type { + margin-top: 5rem; + } + + >sib-display { + @include window-style-modal(); + display: block; + font-size: 1.5rem; + margin: 1.7rem 0; + padding: 3.4rem; + + [name='user-thumb'] { + align-items: center; + display: flex; + margin: -0.25em; + + >* { + margin: 0.25em; + } + + [name='author.first_name'] { + color: $color-0-0-29; + font-weight: 600; + } + + sib-multiple[name$='groups'] { + display: flex; + + label { + display: none; + } + + >* { + @extend %user-role; + } + } + + sib-display-img { + background-color: $color-0-0-100; + border-radius: 50%; + height: 4.25rem; + overflow: hidden; + position: relative; + width: 4.25rem; + + img { + height: 100%; + left: 0; + object-fit: cover; + position: absolute; + top: 0; + width: 100%; + } + } + } + + [name='creationDate'] { + display: block; + margin-bottom: 0.7rem; + margin-top: 2rem; + } + + [name='title'] { + @extend h3; + display: block; + font-weight: bold; + line-height: 19px; + } + + [name='description'] { + display: block; + line-height: 1.6; + margin-bottom: 1.6rem; + } + + [name='skills'] { + label { + display: none; + } + } + + [name='send'] { + color: $color-244-73-62; + font-size: 1.3rem; + float: right; + + >sib-link { + cursor: pointer; + @include icon('speech'); + + &::before { + font-size: 1.5rem; + margin-right: 1.2rem; + } + } + } + + [name='status'] { + float: right; + display: flex; + align-items: center; + margin: -0.25em; + + >* { + margin: 0.25em; + } + + strong { + background-color: $color-244-73-62; + border: none; + border-radius: 100em; + color: $color-0-0-100; + display: inline-block; + font-weight: normal; + padding: 0.85rem 1.7rem; + } + } + } + } + } + +} \ No newline at end of file diff --git a/src/styles/layout/members/_index.scss b/src/styles/layout/members/_index.scss new file mode 100644 index 0000000..2450f36 --- /dev/null +++ b/src/styles/layout/members/_index.scss @@ -0,0 +1,2 @@ +@import 'members'; +@import 'member-profile'; diff --git a/src/styles/member-profile.scss b/src/styles/layout/members/member-profile.scss similarity index 84% rename from src/styles/member-profile.scss rename to src/styles/layout/members/member-profile.scss index f8c9466..183a6e9 100644 --- a/src/styles/member-profile.scss +++ b/src/styles/layout/members/member-profile.scss @@ -3,25 +3,14 @@ flex-direction: column; flex-grow: 1; - .backlink { - font-size: 1.5rem; - margin: 2rem 0 0 2rem; - @extend %backlink; - - &::before { - font-size: 2rem; - margin-right: 1rem; - } - } - #member-info { - background-color: $color-white; + background-color: $color-0-0-100; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.14); margin: 2rem 1rem 5rem 2rem; min-height: 100vh; div[name='member-profile__bio'] { - border-bottom: 1px solid $color-link-water; + border-bottom: 1px solid $color-221-51-90; display: grid; grid-template-areas: "avatar name status" "avatar pseudo status" @@ -49,7 +38,7 @@ grid-area: name; > sib-display-value[name^='user.'] { - color: $color-dark-lava; + color: $color-216-4-22; font-weight: bold; @extend h1; } @@ -80,7 +69,7 @@ member-status[name$='available']{ align-self: flex-end; - color: $color-majorelle-blue; + color: $color-244-73-62; grid-area: status; justify-self: flex-end; @@ -97,7 +86,7 @@ @include ci('awareness'); &::before { - border-bottom: 2px solid $color-selective-yellow; + border-bottom: 2px solid $color-43-100-50; font-size: 7.3rem; padding-bottom: 1.5rem; } @@ -107,7 +96,7 @@ @include ci('armor'); &::before { - border-bottom: 2px solid $color-selective-yellow; + border-bottom: 2px solid $color-43-100-50; font-size: 7.3rem; padding-bottom: 1.5rem; } @@ -122,9 +111,9 @@ [next=member-chat] { @include icon('speech'); - border: 1px solid $color-majorelle-blue; + border: 1px solid $color-244-73-62; border-radius: 2em; - color: $color-majorelle-blue; + color: $color-244-73-62; font-size: 18px; font-weight: bold; justify-self: end; diff --git a/src/styles/members.scss b/src/styles/layout/members/members.scss similarity index 76% rename from src/styles/members.scss rename to src/styles/layout/members/members.scss index 07c3fa4..e430fbb 100644 --- a/src/styles/members.scss +++ b/src/styles/layout/members/members.scss @@ -1,8 +1,45 @@ +%member-info { + + sib-multiple[name^='user.'], + > member-info > div, + > sib-display-value { + display: flex; + flex-wrap: wrap; + margin-bottom: 0; + margin-top: 1.7rem; + + &::before { + color: $color-43-100-50; + padding: 0 0.6em 0 0; + } + } + + [name$='city'] * { + @include mdi('atom'); + } + + [name$='email'] * { + @include mdi('email-outline'); + } + + [name$='phone'] * { + @include mdi('cellphone-iphone'); + } + + [name="foaf:homepage"]:not(:empty) { + @include mdi('link-variant'); + } +} + +member-info-groups { + @extend %user-role; +} + #members-list { - @extend .grid-layer; + @extend %grid-layer; #members-list__content { - @extend .grid-layer; + @extend %grid-layer; nav { align-items: center; @@ -11,15 +48,15 @@ justify-content: center; button { - color: $color-anti-flash-white; + color: $color-210-25-95; &:before { - color: $color-dark-lava; + color: $color-216-4-22; @include icon('arrow-left-circle'); } &:disabled::before { - color: $color-manatee; + color: $color-215-6-63; } } @@ -53,14 +90,14 @@ justify-content: space-between; &:first-of-type { - color: $color-quartz; + color: $color-0-0-29; font-weight: bold; justify-content: center; margin: 3.75rem 0; position: relative; &::before { - border-top: 1px solid $color-timberwolf; + border-top: 1px solid $color-0-0-85; bottom: 0; content: ''; left: 0; @@ -73,7 +110,7 @@ } span { - background-color: $color-anti-flash-white; + background-color: $color-210-25-95; padding: 0 60px; } } @@ -81,7 +118,7 @@ > sib-display { background-color: white; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.14); - color: $color-rolling-stone; + color: $color-210-4-50; cursor: pointer; display: flex; flex-flow: column wrap; @@ -110,7 +147,7 @@ } div[name='header'] { - border-bottom: 1px solid $color-anti-flash-white; + border-bottom: 1px solid $color-210-25-95; display: flex; flex-direction: column; padding: 0.85rem 0 3.4rem; @@ -122,7 +159,7 @@ } member-picture { - background-color: $color-white; + background-color: $color-0-0-100; border-radius: 50%; height: 28vh; margin: 1.7rem auto; @@ -142,7 +179,6 @@ [name='user.name'] { font-weight: bold; - margin: 0; @extend h1; } @@ -157,9 +193,9 @@ [next=member-chat] { align-self: center; - border: 1px solid $color-majorelle-blue; + border: 1px solid $color-244-73-62; border-radius: 3.4rem; - color: $color-majorelle-blue; + color: $color-244-73-62; font-size: 1.8rem; font-weight: bold; padding: 1rem 2.55rem 0.7rem; diff --git a/src/styles/layout/project-profile/_index.scss b/src/styles/layout/project-profile/_index.scss new file mode 100644 index 0000000..c00467b --- /dev/null +++ b/src/styles/layout/project-profile/_index.scss @@ -0,0 +1 @@ +@import 'project-profile' \ No newline at end of file diff --git a/src/styles/layout/project-profile/project-profile.scss b/src/styles/layout/project-profile/project-profile.scss new file mode 100644 index 0000000..67adc47 --- /dev/null +++ b/src/styles/layout/project-profile/project-profile.scss @@ -0,0 +1,240 @@ +#project-profile { + + [name^='block-']:not([name='block-title']) { + margin-top: 5.1rem; + + [name^='label-'] { + display: block; + font-weight: bold; + margin-bottom: 1.4rem; + text-transform: uppercase; + @extend h2; + } + + sib-display-value:not(:first-of-type), + ul, + [name*='job'] { + font-size: 1.5rem; + } + } + + [name='block-title'] { + border-bottom: 1px solid $color-221-51-90; + display: flex; + padding-bottom: 3.4rem; + + >* { + color: $color-216-4-22; + font-size: 2rem; + font-weight: bold; + padding-right: 0.85rem; + text-transform: uppercase; + } + + >[name^='const-'] { + padding: 0; + } + + >sib-display-value[name='name'] { + padding-left: 0.85rem; + } + + > :nth-child(5) { + color: $color-233-18-29; + font-weight: normal; + text-transform: none; + } + + [name='entitled'] { + margin-left: auto; + } + + > :nth-last-child(-n+2) { + color: $color-213-4-50; + font-size: 1.6rem; + font-weight: normal; + text-transform: none; + } + } + + [name='infos'] { + display: flex; + justify-content: space-between; + + [name='description'] { + display: flex; + flex-direction: column; + width: 90%; + } + + [name='block-logo'] { + box-sizing: border-box; + display: block; + height: 8.5vh; + position: relative; + text-align: end; + width: 15vw; + } + } + + [name='businessProvider'] { + + ul { + list-style: none; + padding-left: 0; + + li { + + &:first-child { + margin-bottom: 0.5em; + } + + span { + font-weight: bold; + } + } + } + } + + #clientBox { + display: flex; + margin-left: auto; + margin-right: auto; + margin-top: 1.7rem; + max-width: 100%; + + >* { + border: 1px solid $color-221-51-90; + flex: 1 1 auto; + justify-content: space-between; + margin: 0 -0.1rem -0.1rem 0; + min-width: 25vw; + padding: 0; + + h5 { + margin-left: 2rem; + margin-top: 2rem; + } + + ul { + font-size: 1.5rem; + list-style: none; + margin: -2.04rem 0 3.74rem -2.04rem; + + li { + + span { + font-weight: bold; + } + } + } + + &:first-child { + li { + + span { + margin-right: 0.3em; + } + + &:first-child { + margin-bottom: 0.5em; + } + + &:last-child { + margin-top: 2.4em; + } + } + } + + &:not(:first-child) { + padding-left: 5.1rem; + + li { + margin-bottom: 1.7rem; + + &:last-child { + margin-top: 2.2rem; + } + + &::before { + color: $color-43-100-50; + font-size: 2.2rem; + padding: 0 1rem 0 0; + } + } + } + } + } + + [name='block-team'] { + + >sib-multiple { + + label { + display: none; + } + + >team-template[name='members'] { + display: grid; + grid-column-gap: 1.6rem; + grid-template-columns: 7vh auto; + grid-template-rows: repeat(2, 5.2vh); + + >sib-display:first-child { + align-self: center; + grid-column: 1 / span 1; + grid-row: 1 / span 2; + + div { + background-color: $color-0-0-100; + border-radius: 50%; + height: 7vh; + overflow: hidden; + position: relative; + width: 7vh; + + img { + height: 100%; + left: 0; + object-fit: cover; + position: absolute; + top: 0; + width: 100%; + } + } + } + + >div:nth-child(2) { + align-self: end; + display: flex; + grid-column: 2 / span 1; + grid-row: 1 / span 1; + + span { + align-self: center; + font-weight: 600; + } + + span~sib-display { + + >div { + display: flex; + margin-left: 1rem; + + sib-multiple [name='name'] { + @extend %user-role; + } + } + } + } + + >span:nth-child(3) { + align-self: start; + grid-column: 2 / span 1; + grid-row: 2 / span 1; + } + } + } + } + +} \ No newline at end of file diff --git a/src/styles/main.scss b/src/styles/main.scss deleted file mode 100644 index 3901cbb..0000000 --- a/src/styles/main.scss +++ /dev/null @@ -1,332 +0,0 @@ -[hidden], -.hidden, -.is-hidden { - display: none !important; -} - -:root { - font-size: 62.5%; - font-family: Open Sans, sans-serif; - --sib-notifications-theme: #{$color-46-100-50}; - - body { - /*Will help to make .content fit your height screen size. Part.1*/ - background-color: $color-anti-flash-white; - color: $color-text-base; - display: flex; - flex-direction: column; - font-size: 1.6rem; - height: 100vh; - margin: 0; - overflow: hidden; - overflow-wrap: break-word; - } -} - -img { - max-width: 100%; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - color: $color-dark-lava; - font-weight: 600; - padding: 0; - /*margin: 0.67em 0;*/ - - span { - font-weight: 400; - padding-left: 0.85rem; - - &:before { - content: '// '; - } - } -} - -h1 { - font-size: 2.1rem; -} - -h2 { font-size: 2rem; -} - -h3 { - font-size: 1.6rem; -} - -h4 { - font-size: 1.2rem; -} - -h5 { - font-size: 2rem; -} - -.debug { - outline: 2px dotted red; -} - -button { - background: none; - border: none; - cursor: pointer; - margin: 0; - padding: 0; - text-decoration: none; - -webkit-appearance: none; -} - -li { - list-style: none; - margin-right: 0.4rem; - padding-left: 0; -} - -#job-offers, -#members { - @extend %content-padding; -} - -.frame { - @extend %frame; - padding: 5rem; -} - -.layer { - position: absolute; - bottom: 0; - top: 0; - right: 0; - left: 0; - display: flex; - flex-direction: column; - align-items: stretch; - overflow-x: hidden; -} - -/* -#content { - display: flex; - overflow: hidden; -} -*/ - -#mainContainer { - flex-grow: 1; - flex-shrink: 1; - overflow-y: auto; -} - -.limiter { - display: block; - max-width: 650px; -} -/* sub menu (right menu) */ -#mainContainer { - display: flex; - > div#project, - > div#circle { - flex-grow: 1; - display: flex; - flex-direction: row-reverse; - align-items: stretch; - overflow-x: hidden; - - > div { - transition: all 0.5s; - } - } -} - -sib-route, -sib-link { - cursor: pointer; -} - -sib-link.back { - color: $color-purple-dark; - display: block; - font-size: 2rem; - font-weight: bold; - text-align: right; -} - -.containerH { - display: flex; - flex-wrap: wrap; -} - -.containerV { - display: flex; - flex-direction: column; - align-items: stretch; -} - -.grow { - flex-grow: 1; - flex-shrink: 1; -} - -.fix { - flex-grow: 0; - flex-shrink: 0; -} - -.containerCenter { - justify-content: center; - align-items: center; -} - -.reverse { - flex-direction: row-reverse; -} - -#views-container { - flex: 1 0 0; - overflow-y: auto; -} - -.grid-layer{ - display: grid; - font-size: 16px; - grid-template-columns: [start]auto[middle]25%[end]; - grid-template-rows: [start]7em[middle]auto[end]; -} -.grid-layer-main { - grid-column-start: start; - grid-column-end: end; - grid-row-start: start; - grid-row-end: end; -} -.grid-layer-links { - grid-column-start: middle; - grid-column-end: end; - grid-row-start: start; - grid-row-end: middle; -} - - -/* TEMPLATE SKILLS*/ - -sib-multiple[name*='skills'] { - display: flex; - flex-wrap: wrap; -} - -.skill { - background-color: $color-selective-yellow; - border: 1px solid $color-selective-yellow; - border-radius: 2em; - color: $color-white; - display: block; - font-size: 1.4rem; - font-weight: bold; - margin: 0.4rem 1rem 0.4rem 0; - padding: 0.5rem 2rem; -} - -member-info-groups { - @extend %group; -} - - -/* NEW RESPONSIVE */ - -.right-sidebar { - overflow: hidden; - transition: width 0.3s; -} - -.right-sidebar.js-right-sidebar-expanded { - width: 130px; -} - -.right-sidebar.js-right-sidebar-collapsed { - width: 62px; -} - -/*Define the basic row-column properties that construct the foundation*/ -.row { - display: flex; - max-width: 100%; -} - -.content { - /*Will help to make .content fit your height screen size. Part 2*/ - flex-direction: row; - height: 100%; - overflow: hidden; -} - -.col { - min-width: 0; -} - -.block-grid { - display: flex; - flex-wrap: nowrap; - height: 100%; -} - -/* Dividing into columns */ -@mixin respond-to($breakpoint) { - - @if map-has-key($breakpoints, $breakpoint) { - - @media (min-width: map-get($breakpoints, $breakpoint)) { - @content; - } - } - - @else { - @warn "Sorry, no value could be retrieved from `#{$breakpoint}`." - + "Available breakpoints are: #{map-keys($breakpoints)}."; - } -} - -.small-2 { - - @include respond-to('phone'){ - display: block; - flex: 0 1 calc(100% / 12 * 2); - } -} - -.small-shrink { - - @include respond-to('phone') { - display: block; - flex: 0 1 auto; - } -} - -.medium-auto { - - @include respond-to('tablet') { - display: block; - flex: 1; - overflow: auto; - } -} - -.small-12 { - - @include respond-to('phone') { - display: block; - flex: 0 1 calc(100% / 12 * 12); - } -} - -.small-auto { - - @include respond-to ('phone') { - display: block; - flex: 1; - overflow: auto; - } -} diff --git a/src/styles/member-chat.scss b/src/styles/member-chat.scss deleted file mode 100644 index bd679dc..0000000 --- a/src/styles/member-chat.scss +++ /dev/null @@ -1,3 +0,0 @@ -#member-chat { - width: 100%; -} \ No newline at end of file diff --git a/src/styles/menu-right.scss b/src/styles/menu-right.scss deleted file mode 100644 index 4d40034..0000000 --- a/src/styles/menu-right.scss +++ /dev/null @@ -1,90 +0,0 @@ -#mainContainer { - - > div { - - nav { - transition: all 0.5s; - - > sib-router { - background-color: $color-222-52-90; - color: $color-purple-dark; - flex: 0 0 auto; - font-weight: 600; - - > ul { - cursor: pointer; - list-style: none; - margin: 0; - padding-left: 0; - - li { - align-items: center; - border-bottom: 1px solid $color-lavender-gray; - display: flex; - margin: 0; - padding: 2.55rem 2.55rem; - position: relative; - width: 12em; - - &::before { - float: left; - font-size: 4rem; - margin-left: 0; - margin-right: 2.55rem; - } - } - - > li { - @include icon('arrow-right-circle'); - } - - > sib-route { - - &[active] { - background-color: $color-purple-dark; - color: $color-mustard; - display: inline-block; - } - - &[name^='circle'], - &[name^='project'] { - - > li::before { - font-size: 4rem; - } - } - - &[name$='chat'] > li { - @include ci('chat'); - } - - &[name$='create'] > li { - @include ci('offer'); - } - - &[name$='edit'] > li { - @include ci('list'); - } - - &[name$='profile'] > li { - @include ci('information'); - } - } - } - } - - &.offsite-is-closed { - transform: translate(15.5rem); - - & .jsOffsiteToggle::before { - transform: rotate(180deg); - } - - & ~ #views-container { - margin-left: -15.5rem; - transform: translate(15.5rem); - } - } - } - } -} diff --git a/src/styles/mixins.scss b/src/styles/mixins.scss deleted file mode 100644 index d8d0b6e..0000000 --- a/src/styles/mixins.scss +++ /dev/null @@ -1,160 +0,0 @@ -@charset "UTF-8"; -@mixin debug { - $hsla: hsla(random(360), 100%, 50%, 0.3); - background-color: $hsla; -} -@mixin log($v) { - font-family: '__log__:#{$v}'; -} - -@mixin offset($corner: 1, $x: 0, $y: 0) { - // corner: - // 1-----2 - // | | - // | | - // 3-----4 - position: absolute; - @if ($corner == 1) { - top: $y; - left: $x; - } - @if ($corner == 2) { - top: $y; - right: $x; - } - @if ($corner == 3) { - bottom: $y; - left: $x; - } - @if ($corner == 4) { - bottom: $y; - right: $x; - } -} - -@mixin position($top: 0, $right: null, $bottom: null, $left: null) { - // --1-- - // | | - // 4 2 - // | | - // --3-- - @if ($right == null) { - $right: $top; - } - - @if ($bottom == null) { - $bottom: $top; - } - - @if ($left == null) { - $left: $right; - } - - position: absolute; - top: $top; - left: $left; - right: $right; - bottom: $bottom; -} - -@mixin pos($pos: 5, $position: absolute) { - // ╔═──┐ ╔═══╗ ┌──═╗ - // │ 1 │ │ 2 │ │ 3 │ - // └───┘ └───┘ └───┘ - // ╔═──┐ ╔═══╗ ┌──═╗ - // ║ 4 │ ║ 5 ║ │ 6 ║ - // ╚═──┘ ╚═══╝ └──═╝ - // ┌───┐ ┌───┐ ┌───┐ - // │ 7 │ │ 8 │ │ 9 │ - // ╚═──┘ ╚═══╝ └──═╝ - - $mod: ($pos - 1) % 3; - - position: $position; - @if ($pos <= 6) { - top: 0; - } - @if ($mod <= 1) { - left: 0; - } - @if ($mod >= 1) { - right: 0; - } - @if ($pos >= 4) { - bottom: 0; - } -} - -// @mixin border-shadow($border: top, $size: 4px, $opacity: 0.05, $color: black) { -// &:after { -// content: ''; -// position: absolute; -// top: if(($border == bottom), auto, 0); -// left: if(($border == right), auto, 0); -// right: if(($border == left), auto, 0); -// bottom: if(($border == top), auto, 0); -// background-image: linear-gradient(to #{$border}, $color, transparent); -// #{$border}: -$size; -// opacity: $opacity; -// @if ($border == top or $border == bottom) { -// height: $size; -// } @else { -// width: $size; -// } -// } -// } - -@mixin align($horizontal: center, $vertical: middle) { - text-align: $horizontal; - white-space: nowrap; - &:after, - > * { - display: inline-block; - vertical-align: $vertical; - } - &:after { - content: ''; - height: 100%; - width: 0; - visibility: hidden; - } - > * { - //text-align:left; - white-space: normal; - } -} - -@mixin list-reset($deep: 0) { - padding: 0; - margin: 0; - display: block; - list-style: none; - @if ($deep == 0) { - > li { - padding: 0; - margin: 0; - display: block; - list-style: none; - } - } @else { - ul, - ol, - li { - padding: 0; - margin: 0; - display: block; - list-style: none; - } - } -} - -@mixin styleTemplateFieldset($name) { - template-legend-#{$name} { - border-bottom: 1px solid $color-link-water; - color: $color-purple-dark; - font-size: 1.8rem; - font-weight: 600; - padding-bottom: 1rem; - } -} - diff --git a/src/styles/project-profile.scss b/src/styles/project-profile.scss deleted file mode 100644 index 7e321fa..0000000 --- a/src/styles/project-profile.scss +++ /dev/null @@ -1,239 +0,0 @@ -#project-profile { - - [name^='block-']:not([name='block-title']) { - margin-top: 5.1rem; - - [name^='label-'] { - display: block; - font-weight: bold; - margin-bottom: 1.4rem; - text-transform: uppercase; - @extend h2; - } - - sib-display-value:not(:first-of-type), - ul, - [name*='job'] { - font-size: 1.5rem; - } - } - - [name='block-title'] { - border-bottom: 1px solid $color-link-water; - display: flex; - padding-bottom: 3.4rem; - - > * { - color: $color-dark-lava; - font-size: 2rem; - font-weight: bold; - padding-right: 0.85rem; - text-transform: uppercase; - } - - > [name^='const-'] { - padding: 0; - } - - > sib-display-value[name='name'] { - padding-left: 0.85rem; - } - - > :nth-child(5) { - color: $color-purple-dark; - font-weight: normal; - text-transform: none; - } - - [name='entitled'] { - margin-left: auto; - } - - > :nth-last-child(-n+2) { - color: $color-text-base; - font-size: 1.6rem; - font-weight: normal; - text-transform: none; - } - } - - [name='infos'] { - display: flex; - justify-content: space-between; - - [name='description'] { - display: flex; - flex-direction: column; - width: 90%; - } - - [name='block-logo'] { - box-sizing: border-box; - display: block; - height: 8.5vh; - position: relative; - text-align: end; - width: 15vw; - } - } - - [name='businessProvider'] { - - ul { - list-style: none; - padding-left: 0; - - li { - - &:first-child { - margin-bottom: 0.5em; - } - - span { - font-weight: bold; - } - } - } - } -} - -#clientBox { - display: flex; - margin-left: auto; - margin-right: auto; - margin-top: 1.7rem; - max-width: 100%; - - > * { - border: 1px solid $color-link-water; - flex: 1 1 auto; - justify-content: space-between; - margin: 0 -0.1rem -0.1rem 0; - min-width: 25vw; - padding: 0; - - h5 { - margin-left: 2rem; - margin-top: 2rem; - } - - ul { - font-size: 1.5rem; - list-style: none; - margin: -2.04rem 0 3.74rem -2.04rem; - - li { - - span { - font-weight: bold; - } - } - } - - &:first-child { - li { - - span { - margin-right: 0.3em; - } - - &:first-child { - margin-bottom: 0.5em; - } - - &:last-child { - margin-top: 2.4em; - } - } - } - - &:not(:first-child) { - padding-left: 5.1rem; - - li { - margin-bottom: 1.7rem; - - &:last-child { - margin-top: 2.2rem; - } - - &::before { - color: $color-selective-yellow; - font-size: 2.2rem; - padding: 0 1rem 0 0; - } - } - } - } -} - -[name='block-team'] { - - > sib-multiple { - - label { - display: none; - } - - > team-template[name='members'] { - display: grid; - grid-column-gap: 1.6rem; - grid-template-columns: 7vh auto; - grid-template-rows: repeat(2, 5.2vh); - - > sib-display:first-child { - align-self: center; - grid-column: 1 / span 1; - grid-row: 1 / span 2; - - div { - background-color: $color-white; - border-radius: 50%; - height: 7vh; - overflow: hidden; - position: relative; - width: 7vh; - - img { - height: 100%; - left: 0; - object-fit: cover; - position: absolute; - top: 0; - width: 100%; - } - } - } - - > div:nth-child(2) { - align-self: end; - display: flex; - grid-column: 2 / span 1; - grid-row: 1 / span 1; - - span { - align-self: center; - font-weight: 600; - } - - span ~ sib-display { - - > div { - display: flex; - margin-left: 1rem; - - sib-multiple [name='name'] { - @extend %group; - } - } - } - } - - > span:nth-child(3) { - align-self: start; - grid-column: 2 / span 1; - grid-row: 2 / span 1; - } - } - } -} diff --git a/src/styles/right-panel.scss b/src/styles/right-panel.scss deleted file mode 100644 index 8f8ff5b..0000000 --- a/src/styles/right-panel.scss +++ /dev/null @@ -1,50 +0,0 @@ -.right-link { - padding: 0.85rem; - margin-bottom: 1.7rem; - margin-left: 8.5rem; - flex-basis: auto; - border-radius: 2em; - - div[class*="icon-"] { - align-items: center; - display: flex; - flex-grow: 0; - flex-shrink: 0; - } -} - -.how-link { - @extend .right-link; - background-color: $color-white; - color: $color-dark-lava; - flex-wrap: nowrap; - .icon-idea { - background-color: $color-mustard; - border-radius: 100%; - justify-content: center; - margin-right: 1.2rem; - //flex-direction: column; - width: 1.8em; - height: 1.8em; - //margin-right: 1em; - } -} - -.action-link { - @extend .right-link; - background-color: $color-selective-yellow; - color: $color-white; - font-weight: bold; - text-transform: uppercase; - cursor: pointer; - - .icon-plus { - font-size: 20px; - justify-content: center; - margin: 0.5rem 0.5rem 0.5rem 0; - - &:before { - //font-size: 1.3em; - } - } -} \ No newline at end of file diff --git a/src/styles/variables.scss b/src/styles/variables.scss deleted file mode 100644 index b9d7b22..0000000 --- a/src/styles/variables.scss +++ /dev/null @@ -1,150 +0,0 @@ -//Color Variables -$color-quartz: hsl(0, 0%, 29%); -$color-timberwolf: hsl(0, 0%, 85%); -$color-white: hsl(0, 0%,100%); - -$color-selective-yellow: hsl(43, 100%, 50%); -$color-mikado-yellow: hsl(45, 95%, 54%); -$color-mustard: hsl(46, 100%, 67%); -$color-46-100-50: hsl(46, 100%, 50%); - -$color-rolling-stone: hsl(210, 4%, 50%); -$color-taupe-gray: hsl(210, 5%, 56%); -$color-platinum: hsl(210, 17%, 91%); -$color-anti-flash-white: hsl(210, 25%, 95%); -$color-text-base: hsl(213, 4%, 50%); -$color-gainsboro: hsl(213, 13%, 86%); -$color-gainsboro-a02: hsla(213, 13%, 86%, 0.2); -$color-213-20-91: hsl(213, 20%, 91%); -$color-bombay: hsl(215, 9%, 73%); -$color-manatee: hsl(215, 6%, 63%); -$color-dark-lava: hsl(216, 4%, 22%); -$color-link-water: hsl(221, 51%, 90%); -$color-222-52-90: hsl(222, 52%, 90%); -$color-glitter: hsl(222, 57%, 95%); -$color-lavender-gray: hsl(229, 25%, 79%); -$color-purple-dark: hsl(233, 18%, 29%); -$color-spun-pearl: hsl(244, 10%, 70%); -$color-majorelle-blue: hsl(244, 73%, 62%); - -%backlink { - @include icon('arrow-left-circle'); - color: #3d4057; - text-decoration: underline; - - &::before { - text-decoration: none; - } -} - -%button { - display: inline-block; - padding: 0.85rem 2.55rem; - border: none; - border-radius: 100em; - font-weight: normal; -} - -%content-padding { - flex: 1; - padding: 4.4rem; -} - -%frame { - @extend %shadow; - background-color: $color-white; -} - -%group { - border: 1px solid $color-mikado-yellow; - border-radius: 3px; - color: $color-rolling-stone; - font-size: 1.4rem; - font-weight: 400; - margin-right: 0.4rem; - padding: calc(1.6rem - 0.8em) 0.7em; -} - -%member-info { - - sib-multiple[name^='user.'], - > member-info > div, - > sib-display-value { - display: flex; - flex-wrap: wrap; - margin-bottom: 0; - margin-top: 1.7rem; - - &::before { - color: $color-selective-yellow; - padding: 0 0.6em 0 0; - } - } - - [name$='city'] * { - @include mdi('atom'); - } - - [name$='email'] * { - @include mdi('email-outline'); - } - - [name$='phone'] * { - @include mdi('cellphone-iphone'); - } - - [name="foaf:homepage"]:not(:empty) { - @include mdi('link-variant'); - } -} - -%label { - color: $color-spun-pearl; - font-weight: 600; - margin: 2em 0 0.5em; - text-transform: uppercase; - - > div { - padding-bottom: 1rem; - } -} - -%notification { - align-items: center; - background-color: $color-mustard; - border-radius: 100%; - color: $color-dark-lava; - display: flex !important; - font-size: 1.3rem; - height: 1.7em; - justify-content: center; - width: 1.7em; -} - -%shadow { - box-shadow: 0 0 8px 0 hsla(212, 7%, 55%, 0.19); -} - -%status-open { - background-color: $color-majorelle-blue; - border: none; - border-radius: 100em; - color: $color-white; - display: inline-block; - font-weight: normal; - padding: 0.85rem 1.7rem; -} - -%submit-form { - background-color: $color-purple-dark; - color: $color-white; - float: right; - font-weight: bold; - text-transform: uppercase; -} - -$breakpoints: ( - phone: 480px, - tablet: 768px, - desktop: 1024px -) !default; diff --git a/www/lib/sib-chat b/www/lib/sib-chat deleted file mode 160000 index 2456ba7..0000000 --- a/www/lib/sib-chat +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2456ba747dfdacf96cfaf70469b0eff059287e67 diff --git a/www/lib/sib-core b/www/lib/sib-core deleted file mode 160000 index 9ff71f4..0000000 --- a/www/lib/sib-core +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9ff71f4d047a101f633872db0820736b8baf792c diff --git a/www/lib/sib-oidc b/www/lib/sib-oidc deleted file mode 160000 index 9ce7e6c..0000000 --- a/www/lib/sib-oidc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9ce7e6cec7447b7d3c04dee03bf068744373ac3f diff --git a/www/lib/sib-router b/www/lib/sib-router deleted file mode 160000 index c358ade..0000000 --- a/www/lib/sib-router +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c358adefa38f93cd3acdf1f75c8c79e4b8379dc4