Skip to content

Instantly share code, notes, and snippets.

@caraya
Last active August 13, 2018 04:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save caraya/19ab7e19f0b010da103c90d23f05a318 to your computer and use it in GitHub Desktop.
Save caraya/19ab7e19f0b010da103c90d23f05a318 to your computer and use it in GitHub Desktop.
#!/bin/env bash
echo "\n\n Checking if package.json exists"
if [ -f package.json ]
then
echo "\n\n package.json exists."
else
echo "\n\n package.json doesn't exists... creating"
npm init --yes
fi
echo "\n\n installing NPM packages \n\n"
echo "\n\n Installing Gulp 4.0 and load-plugins"
npm i -D gulp@next gulp-load-plugins
echo "\n\n Installing PostCSS and related plugins"
npm i -D postcss autoprefixer cssnano gulp-postcss
echo "\n\n Installing Babel Core and Preset Env"
npm i -D @babel/core @babel/preset-env
echo "\n\n Installing Browser Sync"
npm i -D browser-sync connect-history-api-fallback
echo "\n\n Installing ESLint"
npm i -D eslint gulp-eslint
echo "\n\n Installing SASS and related plugins"
npm i -D gulp-sass gulp-sourcemaps
echo "\n\n Installing critical and uncss"
npm i -D critical uncss
echo "\n\n Installing Remarkable and related plugins. \n\n I use Remarkable and associated plugins to generate production-ready HTML"
npm i -D remarkable gulp-remarkable gulp-wrap
echo "\n\n Installing miscelaneous plugins"
npm i -D gulp-concat gulp-debug gulp-exec gulp-run gulp-size
echo "\n\n The following plugins are optional. \n\n"
echo "\n\n Installs Google Cloud utilities to upload content to google cloud storage. Including gulp-gzip for compression. \n\n Separating them to make sure this is still the best optiom"
npm i -D gulp-gcloud-publish gulp-gzip
echo "\n\n Utility Opentype adds classes for using Opentype font options"
npm i -D utility-opentype
echo "\n\n Cheerio provides the means to query HTML and XML structures from a Gulp file."
npm i -D cheerio
echo "\n\n Axe is an accessibility evaluation tool."
npm i -D gulp-axe-webdriver
echo "\n\n Evaluates your node_modules file for vulnerabilities. \n\n This is the tool that NPM runs when using npm audit."
npm i -D gulp-snyk snyk
echo "\n\n External Dependecies Required"
echo "\n\n SASSDoc and SCSS Lint depend on external Ruby dependencies."
npm i -D sassdoc scss-lint gulp-scss-lint gulp-scss-lint-stylish
echo "\n\n ESLint configuration"
echo "\n\n Checking if .eslintrc.json exists. \n\n We're assuming it was written as a json file"
if [ -f eslintrc.json ]
then
echo "\n\n .eslintrc.json exists."
else
echo "\n\n .eslintrc.json doesn't exists. Creating... \n\n"
echo "\n\n Please answer the questions below:"
npx eslint --init
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment