1
0
mirror of https://github.com/ipdb/website.git synced 2024-06-26 03:06:26 +02:00

Merge pull request #49 from ipdb/fix/dependencies

update all build tools
This commit is contained in:
Matthias Kretschmann 2018-09-28 13:16:13 +02:00 committed by GitHub
commit f390dd3022
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 111 additions and 114 deletions

View File

@ -1,3 +1,3 @@
{ {
"presets": ["env"] "presets": ["@babel/env"]
} }

View File

@ -1,6 +1,6 @@
language: ruby language: ruby
rvm: rvm:
- 2.4 - 2.5
cache: cache:
bundler: true bundler: true
@ -8,7 +8,7 @@ cache:
- $TRAVIS_BUILD_DIR/node_modules - $TRAVIS_BUILD_DIR/node_modules
before_install: before_install:
- nvm install 9 - nvm install 10
before_script: "_ci/setup.sh" before_script: "_ci/setup.sh"
script: "_ci/build.sh" script: "_ci/build.sh"

View File

@ -5,38 +5,35 @@
**Note: As of February 2nd, 2018, IPDB will be shutting down. [Read about why](https://ipdb.io).** **Note: As of February 2nd, 2018, IPDB will be shutting down. [Read about why](https://ipdb.io).**
[![Build Status](https://travis-ci.org/ipdb/website.svg?branch=master)](https://travis-ci.org/ipdb/website) [![Build Status](https://travis-ci.com/ipdb/website.svg?branch=master)](https://travis-ci.com/ipdb/website)
[![css bigchaindb](https://img.shields.io/badge/css-bigchaindb-39BA91.svg)](https://github.com/bigchaindb/stylelint-config-bigchaindb) [![css bigchaindb](https://img.shields.io/badge/css-bigchaindb-39BA91.svg)](https://github.com/bigchaindb/stylelint-config-bigchaindb)
[![js ascribe](https://img.shields.io/badge/js-ascribe-39BA91.svg)](https://github.com/ascribe/javascript) [![js ascribe](https://img.shields.io/badge/js-ascribe-39BA91.svg)](https://github.com/ascribe/javascript)
[![Greenkeeper badge](https://badges.greenkeeper.io/ipdb/website.svg)](https://greenkeeper.io/) [![Greenkeeper badge](https://badges.greenkeeper.io/ipdb/website.svg)](https://greenkeeper.io/)
---
[**Live**](https://ipdb.io) | [**Styleguide**](https://ipdb.io/styleguide/) [**Live**](https://ipdb.io) | [**Styleguide**](https://ipdb.io/styleguide/)
--- ## Table of Contents
# Contents
- [Content editing](#content-editing) - [Content editing](#content-editing)
- [Pages](#pages) - [Pages](#pages)
- [Special pages](#special-pages) - [Special pages](#special-pages)
- [Front page](#front-page)
- [Development](#development) - [Development](#development)
- [Install dependencies](#install-dependencies) - [Install dependencies](#install-dependencies)
- [Development build](#development-build) - [Development build](#development-build)
- [Continuous deployment: always be shipping](#continuous-deployment-always-be-shipping) - [Continuous deployment: always be shipping](#continuous-deployment-always-be-shipping)
- [Manual deployment](#manual-deployment) - [Manual deployment](#manual-deployment)
- [Prerequisite: authentication](#prerequisite-authentication) - [Prerequisite: authentication](#prerequisite-authentication)
- [Staging build & beta deployment](#staging-build--beta-deployment) - [Staging build & beta deployment](#staging-build-beta-deployment)
- [Production build & live deployment](#production-build--live-deployment) - [Production build & live deployment](#production-build-live-deployment)
- [Coding conventions](#coding-conventions--browser-support) - [Coding conventions & Browser support](#coding-conventions-browser-support)
- [(S)CSS](#scss) - [(S)CSS](#s-css)
- [js](#js) - [js](#js)
- [Authors & Contributors](#authors--contributors) - [Authors & Contributors](#authors-contributors)
- [License](#license) - [License](#license)
# Content editing ---
## Content editing
Most content on the site can be edited on GitHub without messing with HTML markup. Most content on the site can be edited on GitHub without messing with HTML markup.
@ -44,7 +41,7 @@ The site's source and structure is in the [`_src/`](_src) folder. Ignore everyth
When viewing a file on GitHub you will see a small pencil icon in the top right. Click that to edit the file. When viewing a file on GitHub you will see a small pencil icon in the top right. Click that to edit the file.
## Pages ### Pages
All pages are simple Markdown files. Markdown is a way of telling the site how an element should be marked up, like headings & bold text: All pages are simple Markdown files. Markdown is a way of telling the site how an element should be marked up, like headings & bold text:
@ -57,24 +54,22 @@ I'm a simple paragraph. No fancy symbols needed.
You can make text **bold like so** You can make text **bold like so**
``` ```
## Special pages ### Special pages
Some pages like front page source their content dynamically during site build. This is so we have a single source of truth for content used in multiple places on the site. Some pages like front page source their content dynamically during site build. This is so we have a single source of truth for content used in multiple places on the site.
- [`_src/_data/content-front.yml`](_src/_data/content-front.yml) - [`_src/_data/content-front.yml`](_src/_data/content-front.yml)
- [`_src/_data/content-foundation.yml`](_src/_data/content-foundation.yml) - [`_src/_data/content-foundation.yml`](_src/_data/content-foundation.yml)
## Development
# Development
You need to have the following tools installed on your development machine before moving on: You need to have the following tools installed on your development machine before moving on:
- [node.js](http://nodejs.org/) & [npm](https://npmjs.org/) - [Node.js](http://nodejs.org/) & [npm](https://npmjs.org/)
- (optional) use [Yarn](https://yarnpkg.com) instead of npm for faster dependency installations
- [Ruby](https://www.ruby-lang.org) (for sanity, install with [rvm](https://rvm.io/)) - [Ruby](https://www.ruby-lang.org) (for sanity, install with [rvm](https://rvm.io/))
- [Bundler](http://bundler.io/) - [Bundler](http://bundler.io/)
## Install dependencies ### Install dependencies
Run the following command from the repository's root folder to install all dependencies. Run the following command from the repository's root folder to install all dependencies.
@ -82,13 +77,7 @@ Run the following command from the repository's root folder to install all depen
npm i && bundle install npm i && bundle install
``` ```
or ### Development build
```bash
yarn && bundle install
```
## Development build
Spin up local dev server and livereloading watch task, reachable under [https://localhost:1337](https://localhost:1337): Spin up local dev server and livereloading watch task, reachable under [https://localhost:1337](https://localhost:1337):
@ -96,7 +85,7 @@ Spin up local dev server and livereloading watch task, reachable under [https://
gulp gulp
``` ```
# Continuous deployment: always be shipping ## Continuous deployment: always be shipping
The site gets built & deployed automatically via Travis. This is the preferred way of deployment, it makes sure the site is always deployed with fresh dependencies and only after a successful build. The site gets built & deployed automatically via Travis. This is the preferred way of deployment, it makes sure the site is always deployed with fresh dependencies and only after a successful build.
@ -106,15 +95,15 @@ Build & deployment happens under the following conditions on Travis:
- **live deployment**: every push to the master branch initiates a live deployment - **live deployment**: every push to the master branch initiates a live deployment
- **beta deployment**: every new pull request and every subsequent push to it initiates a beta deployment - **beta deployment**: every new pull request and every subsequent push to it initiates a beta deployment
# Manual deployment ## Manual deployment
For emergency live deployments or beta deployments, the manual method can be used. The site is hosted in an S3 bucket and gets deployed via a gulp task. For emergency live deployments or beta deployments, the manual method can be used. The site is hosted in an S3 bucket and gets deployed via a gulp task.
## Prerequisite: authentication ### Prerequisite: authentication
To deploy the site, you must authenticate yourself against the AWS API with your AWS credentials. Get your AWS access key and secret and add them to `~/.aws/credentials`: To deploy the site, you must authenticate yourself against the AWS API with your AWS credentials. Get your AWS access key and secret and add them to `~/.aws/credentials`:
``` ```bash
[default] [default]
aws_access_key_id = <YOUR_ACCESS_KEY_ID> aws_access_key_id = <YOUR_ACCESS_KEY_ID>
aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY> aws_secret_access_key = <YOUR_SECRET_ACCESS_KEY>
@ -130,7 +119,7 @@ AWS_PROFILE=ipdb gulp deploy --live
In case that you get authentication errors or need an alternative way to authenticate with AWS, check out the [AWS documentation](http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html). In case that you get authentication errors or need an alternative way to authenticate with AWS, check out the [AWS documentation](http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html).
## Staging build & beta deployment ### Staging build & beta deployment
The staging build is a full production build but prevents search engine indexing & Google Analytics tracking. The staging build is a full production build but prevents search engine indexing & Google Analytics tracking.
@ -146,7 +135,7 @@ gulp build --staging
gulp deploy --beta gulp deploy --beta
``` ```
## Production build & live deployment ### Production build & live deployment
```bash ```bash
# make sure your local npm packages & gems are up to date # make sure your local npm packages & gems are up to date
@ -159,7 +148,7 @@ gulp build --production
gulp deploy --live gulp deploy --live
``` ```
# Coding conventions & Browser support ## Coding conventions & Browser support
Lint with ESLint & [stylelint](https://stylelint.io) in your editor or run: Lint with ESLint & [stylelint](https://stylelint.io) in your editor or run:
@ -169,11 +158,11 @@ npm test
As a rule of thumb, make your CSS & JavaScript work in the last 2 versions of modern browsers, and ideally in IE 11. Adapt the `browserslist` key values in the [`package.json`](package.json) when a change in visitor statistics allows that. As a rule of thumb, make your CSS & JavaScript work in the last 2 versions of modern browsers, and ideally in IE 11. Adapt the `browserslist` key values in the [`package.json`](package.json) when a change in visitor statistics allows that.
## (S)CSS ### (S)CSS
Follows [stylelint-config-bigchaindb](https://github.com/bigchaindb/stylelint-config-bigchaindb) which itself extends [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard). Follows [stylelint-config-bigchaindb](https://github.com/bigchaindb/stylelint-config-bigchaindb) which itself extends [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard).
## js ### js
Follows [ascribe/javascript](https://github.com/ascribe/javascript) which itself extends [airbnb/javascript](https://github.com/airbnb/javascript). Follows [ascribe/javascript](https://github.com/ascribe/javascript) which itself extends [airbnb/javascript](https://github.com/airbnb/javascript).
@ -181,7 +170,7 @@ Try to not use any jQuery, always prefer vanilla JavaScript.
At the moment, jQuery is only used for the form submissions for its simple `$.ajax` functionality, and neither `XMLHttpRequest` or `fetch` seem to work with MailChimp. At the moment, jQuery is only used for the form submissions for its simple `$.ajax` functionality, and neither `XMLHttpRequest` or `fetch` seem to work with MailChimp.
# Authors & Contributors ## Authors & Contributors
- Greg McMullen ([@gmcmullen](https://github.com/gmcmullen)) - [IPDB Foundation](https://ipdb.io) - Greg McMullen ([@gmcmullen](https://github.com/gmcmullen)) - [IPDB Foundation](https://ipdb.io)
- Morgan Sutherland ([@msutherl](https://github.com/msutherl)) - [IPDB Foundation](https://ipdb.io) - Morgan Sutherland ([@msutherl](https://github.com/msutherl)) - [IPDB Foundation](https://ipdb.io)
@ -189,13 +178,12 @@ At the moment, jQuery is only used for the form submissions for its simple `$.aj
- Members of the BigchainDB development team - Members of the BigchainDB development team
- Representatives of Caretakers in the IPDB - Representatives of Caretakers in the IPDB
## License
# License
For all code in this repository the Apache License, Version 2.0 is applied. For all code in this repository the Apache License, Version 2.0 is applied.
``` ```text
Copyright Interplanetary Database Foundation 2017. All rights reserved. Copyright Interplanetary Database Foundation 2018. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

View File

@ -7,7 +7,7 @@ echo " Installing dependencies "
echo "=============================================" echo "============================================="
echo "$(tput sgr0)" # reset echo "$(tput sgr0)" # reset
npm install gulpjs/gulp.git#4.0 -g npm install gulp@next -g
npm install npm install
# Travis does that automatically after selecting ruby # Travis does that automatically after selecting ruby

View File

@ -3,7 +3,7 @@
/* eslint-disable spaced-comment */ /* eslint-disable spaced-comment */
//=include _dnt.js //=include _dnt.js
//=include _newsletter.js //=include _newsletter.js
//=include smooth-scroll/dist/js/smooth-scroll.js //=include smooth-scroll/dist/smooth-scroll.js
//=include textarea-autogrow/textarea-autogrow.js //=include textarea-autogrow/textarea-autogrow.js
//=include cookie-banner/src/cookiebanner.js //=include cookie-banner/src/cookiebanner.js
/* eslint-enable spaced-comment */ /* eslint-enable spaced-comment */

View File

@ -1,6 +1,6 @@
/* eslint-disable no-console */ /* eslint-disable no-console */
import fs from 'fs' import fs from 'fs'
import cp from 'child_process'
import { src, dest, watch, parallel, series } from 'gulp' import { src, dest, watch, parallel, series } from 'gulp'
import del from 'del' import del from 'del'
import parallelize from 'concurrent-transform' import parallelize from 'concurrent-transform'
@ -8,16 +8,17 @@ import browser from 'browser-sync'
import critical from 'critical' import critical from 'critical'
import yaml from 'js-yaml' import yaml from 'js-yaml'
import request from 'request' import request from 'request'
import chalk from 'chalk'
import minimist from 'minimist'
// required to get our mix of old and ES6+ js to work with ugify-js 3 // required to get our mix of old and ES6+ js to work with ugify-js 3
import uglifyjs from 'uglify-es' import uglifyjs from 'uglify-es'
import composer from 'gulp-uglify/composer' import composer from 'gulp-uglify/composer'
// get all the configs: `pkg` and `site` // get all the configs: `pkg` and `site`
import pkg from './package.json' import pkg from './package'
// load plugins // load plugins
const spawn = require('child_process').spawn
const $ = require('gulp-load-plugins')() const $ = require('gulp-load-plugins')()
const minify = composer(uglifyjs, console) const minify = composer(uglifyjs, console)
@ -25,14 +26,16 @@ const site = yaml.safeLoad(fs.readFileSync('./_config.yml'))
// handle errors // handle errors
const onError = (error) => { const onError = (error) => {
console.log($.util.colors.red('\nYou fucked up:', error.message, 'on line', error.lineNumber, '\n')) console.log(chalk.red('\nYou fucked up:', error.message, 'on line', error.lineNumber, '\n'))
this.emit('end') this.emit('end')
} }
// 'development' is just default, production overrides are triggered // 'development' is just default, production overrides are triggered
// by adding the production flag to the gulp command e.g. `gulp build --production` // by adding the production flag to the gulp command e.g. `gulp build --production`
const isProduction = ($.util.env.production === true) const options = minimist(process.argv.slice(2))
const isStaging = ($.util.env.staging === true)
const isProduction = options.production === true
const isStaging = options.staging === true
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@ -109,9 +112,15 @@ export const jekyll = (done) => {
jekyllOptions = 'jekyll build --incremental --drafts --future' jekyllOptions = 'jekyll build --incremental --drafts --future'
} }
const jekyllInstance = spawn('bundle', ['exec', jekyllOptions], { stdio: 'inherit' }) const jekyllInstance = cp.execFile('bundle', ['exec', jekyllOptions], { stdio: 'inherit' })
jekyllInstance.on('error', (error) => onError(error)).on('close', done) const jekyllLogger = (buffer) => {
buffer.toString()
.split(/\n/)
.forEach((message) => console.log(message))
}
jekyllInstance.stdout.on('data', jekyllLogger).on('close', done)
} }
@ -291,17 +300,17 @@ export const watchSrc = () => {
const buildBanner = (done) => { const buildBanner = (done) => {
let buildEnvironment let buildEnvironment
if ($.util.env.production) { if (isProduction) {
buildEnvironment = 'production' buildEnvironment = 'production'
} else if ($.util.env.staging) { } else if (isStaging) {
buildEnvironment = 'staging' buildEnvironment = 'staging'
} else { } else {
buildEnvironment = 'dev' buildEnvironment = 'dev'
} }
console.log($.util.colors.gray(' ------------------------------------------')) console.log(chalk.gray(' ------------------------------------------'))
console.log($.util.colors.green(` Building ${buildEnvironment} version...`)) console.log(chalk.green(` Building ${buildEnvironment} version...`))
console.log($.util.colors.gray(' ------------------------------------------')) console.log(chalk.gray(' ------------------------------------------'))
done() done()
} }
@ -313,18 +322,18 @@ const buildBanner = (done) => {
const deployBanner = (done) => { const deployBanner = (done) => {
let deployTarget let deployTarget
if ($.util.env.live) { if (options.live) {
deployTarget = 'Live' deployTarget = 'Live'
} else { } else {
deployTarget = 'Beta' deployTarget = 'Beta'
} }
if (($.util.env.live || $.util.env.beta || $.util.env.gamma) === true) { if ((options.live || options.beta || options.gamma) === true) {
console.log($.util.colors.gray(' ------------------------------------------')) console.log(chalk.gray(' ------------------------------------------'))
console.log($.util.colors.green(` Deploying to ${deployTarget}... `)) console.log(chalk.green(` Deploying to ${deployTarget}... `))
console.log($.util.colors.gray(' ------------------------------------------')) console.log(chalk.gray(' ------------------------------------------'))
} else { } else {
console.log($.util.colors.red('\nHold your horses! You need to specify a deployment target like so: gulp deploy --beta. Possible targets are: --live, --beta, --gamma\n')) console.log(chalk.red('\nHold your horses! You need to specify a deployment target like so: gulp deploy --beta. Possible targets are: --live, --beta, --gamma\n'))
} }
done() done()
} }
@ -352,9 +361,7 @@ export const build = series(
// //
// `gulp dev` // `gulp dev`
// //
export const dev = series( export const dev = series(build, server, watchSrc)
build, server, watchSrc
)
// Set `gulp dev` as default: `gulp` // Set `gulp dev` as default: `gulp`
export default dev export default dev
@ -373,14 +380,14 @@ export const s3 = () => {
// create publisher, define config // create publisher, define config
let publisher let publisher
if ($.util.env.live === true) { if (options.live === true) {
publisher = $.awspublish.create({ publisher = $.awspublish.create({
'params': { 'Bucket': S3BUCKET }, 'params': { 'Bucket': S3BUCKET },
'accessKeyId': process.env.AWS_ACCESS_KEY, 'accessKeyId': process.env.AWS_ACCESS_KEY,
'secretAccessKey': process.env.AWS_SECRET_KEY, 'secretAccessKey': process.env.AWS_SECRET_KEY,
'region': S3REGION 'region': S3REGION
}) })
} else if ($.util.env.beta === true) { } else if (options.beta === true) {
publisher = $.awspublish.create({ publisher = $.awspublish.create({
'params': { 'Bucket': S3BUCKET_BETA }, 'params': { 'Bucket': S3BUCKET_BETA },
'accessKeyId': process.env.AWS_BETA_ACCESS_KEY, 'accessKeyId': process.env.AWS_BETA_ACCESS_KEY,
@ -456,17 +463,17 @@ export const seo = (done) => {
const showResponse = (error, response) => { const showResponse = (error, response) => {
if (error) { if (error) {
$.util.log($.util.colors.red(error)) console.log(chalk.red(error))
} else { } else {
$.util.log($.util.colors.gray('Status:', response && response.statusCode)) console.log(chalk.gray('Status:', response && response.statusCode))
if (response.statusCode === 200) { if (response.statusCode === 200) {
$.util.log($.util.colors.green('Successfully notified')) console.log(chalk.green('Successfully notified'))
} }
} }
} }
if ($.util.env.live === true) { if (options.live === true) {
request(`${googleUrl + site.url}/sitemap.xml`, showResponse) request(`${googleUrl + site.url}/sitemap.xml`, showResponse)
request(`${bingUrl + site.url}/sitemap.xml`, showResponse) request(`${bingUrl + site.url}/sitemap.xml`, showResponse)
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "ipdb-site", "name": "@ipdb/website",
"version": "1.0.0", "version": "1.0.0",
"author": { "author": {
"name": "Matthias Kretschmann", "name": "Matthias Kretschmann",
@ -7,7 +7,7 @@
}, },
"description": "The blockchain database governance the universe needs", "description": "The blockchain database governance the universe needs",
"homepage": "https://ipdb.io", "homepage": "https://ipdb.io",
"license": "(c) 2017 IPDB Foundation - All Rights Reserved", "license": "(c) 2018 IPDB Foundation - All Rights Reserved",
"main": "gulpfile.babel.js", "main": "gulpfile.babel.js",
"scripts": { "scripts": {
"start": "gulp", "start": "gulp",
@ -30,50 +30,52 @@
"dependencies": { "dependencies": {
"ajaxchimp": "^1.3.0", "ajaxchimp": "^1.3.0",
"cookie-banner": "github:dobarkod/cookie-banner", "cookie-banner": "github:dobarkod/cookie-banner",
"jquery": "^3.2.1", "jquery": "^3.3.1",
"smooth-scroll": "^12.1.5", "smooth-scroll": "^14.2.1",
"textarea-autogrow": "^1.0.0" "textarea-autogrow": "^1.0.0"
}, },
"devDependencies": { "devDependencies": {
"babel-core": "^6.26.0", "@babel/core": "^7.1.0",
"babel-eslint": "^8.1.2", "@babel/preset-env": "^7.1.0",
"babel-preset-env": "^1.6.1", "@babel/register": "^7.0.0",
"browser-sync": "^2.23.2", "babel-eslint": "^10.0.1",
"browser-sync": "^2.24.7",
"chalk": "^2.4.1",
"concurrent-transform": "^1.0.0", "concurrent-transform": "^1.0.0",
"critical": "^1.1.0", "critical": "^1.3.4",
"cross-spawn": "^5.1.0", "cross-spawn": "^6.0.5",
"del": "^3.0.0", "del": "^3.0.0",
"eslint": "^4.14.0", "eslint": "^5.6.0",
"eslint-config-ascribe": "^3.0.5", "eslint-config-ascribe": "^3.0.5",
"eslint-plugin-import": "^2.8.0", "eslint-plugin-import": "^2.14.0",
"gulp": "github:gulpjs/gulp#4.0", "gulp": "next",
"gulp-autoprefixer": "^4.1.0", "gulp-autoprefixer": "^6.0.0",
"gulp-awspublish": "^3.3.0", "gulp-awspublish": "^3.4.0",
"gulp-awspublish-router": "^0.1.3", "gulp-awspublish-router": "^0.1.5",
"gulp-clean-css": "^3.9.2", "gulp-clean-css": "^3.10.0",
"gulp-cli": "^2.0.0", "gulp-cli": "^2.0.1",
"gulp-concat": "^2.6.1", "gulp-concat": "^2.6.1",
"gulp-header": "^1.8.9", "gulp-header": "^2.0.5",
"gulp-htmlmin": "^4.0.0", "gulp-htmlmin": "^5.0.1",
"gulp-if": "^2.0.2", "gulp-if": "^2.0.2",
"gulp-imagemin": "^4.1.0", "gulp-imagemin": "^4.1.0",
"gulp-include": "^2.3.1", "gulp-include": "^2.3.1",
"gulp-load-plugins": "^1.5.0", "gulp-load-plugins": "^1.5.0",
"gulp-rename": "^1.2.2", "gulp-rename": "^1.4.0",
"gulp-replace": "^0.6.1", "gulp-replace": "^1.0.0",
"gulp-rev": "^8.1.1", "gulp-rev": "^8.1.1",
"gulp-rev-replace": "^0.4.3", "gulp-rev-replace": "^0.4.4",
"gulp-sass": "^3.1.0", "gulp-sass": "^4.0.1",
"gulp-sourcemaps": "^2.6.3", "gulp-sourcemaps": "^2.6.4",
"gulp-svg-sprite": "^1.3.7", "gulp-svg-sprite": "^1.5.0",
"gulp-uglify": "^3.0.0", "gulp-uglify": "^3.0.1",
"gulp-util": "^3.0.8", "js-yaml": "^3.12.0",
"js-yaml": "^3.10.0", "minimist": "^1.2.0",
"request": "^2.83.0", "request": "^2.88.0",
"stylelint": "^8.4.0", "stylelint": "^9.6.0",
"stylelint-config-bigchaindb": "^1.2.0", "stylelint-config-bigchaindb": "^1.2.1",
"stylelint-config-standard": "^18.0.0", "stylelint-config-standard": "^18.2.0",
"uglify-es": "^3.3.4" "uglify-es": "^3.3.9"
}, },
"engines": { "engines": {
"node": ">=7.0.0" "node": ">=7.0.0"