{
  "name": "<%= name %>",
  "version": "1.0.0",
  "description": "<%= description %>",
  "author": "<%= author %>",
  "private": true,
  "scripts": {
    "start": "NODE_ENV=development webpack-dev-server --config ./config/webpack.dev.js --hot --open",
    "build": "NODE_ENV=production webpack -p --config ./config/webpack.prod.js",
    "prebuild": "npm run clean",
    "build:dev": "NODE_ENV=development webpack --config ./config/webpack.dev.js",
    "prebuild:dev": "npm run clean",
    "clean": "rimraf build && mkdir build"<% if (server !== 'none') { %>,
    "preserve": "npm run build",
    "serve": "NODE_ENV=production node ./server/index.js"<% } %><% if (test !== 'none') { %>,
    "test": <% if (test === 'mocha') { %>"mocha --compilers css:./test-compiler,js:babel-core/register --recursive"<% } else { %>"<%= test %>"<% } %>,<% } %><% if (typescript === 'yes') { %>
    "typecheck":"tsc --noEmit"<% } %><% if (eslint === 'yes') { %>,
    "lint": "eslint --fix --ext .js,.jsx<% if (typescript === 'yes') { %>,.ts,.tsx<% } %> src"<% } %>
  },<% if (eslint === 'yes') { %>
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },<% } %>
  "dependencies": {
    "core-js": "^3.0.1",
    "lodash": "^4.17.11"<% if (edge) { %>,
    "mithril": "next"<% } else { %>,
    "mithril": "^2.0.1"<% } %><% if (server !== 'none') { %>,
    "@babel/register": "^7.0.0",
    "babel-plugin-dynamic-import-node": "^2.2.0",
    "babel-plugin-module-resolver": "^3.1.1",
    "ignore-styles": "^5.0.1",
    "md5-file": "^4.0.0",
    "mitts": "^0.3.0",
    "raf": "^3.4.1"<% } %><% if (server === 'express') { %>,
    "body-parser": "^1.18.3",
    "cookie-parser": "^1.4.3",
    "morgan": "^1.9.1",
    "express": "^4.16.4"<% } %><% if (server === 'koa') { %>,
    "koa": "^2.6.2",
    "koa-static": "5.0.0"<% } %><% if (server === 'hapi') { %>,
    "@hapi/hapi": "^18.1.0",
    "@hapi/inert": "^5.2.0"<% } %><% if (server === 'micro') { %>,
    "micro": "^9.3.3",
    "micro-route": "^2.5.0"<% } %><% if (server === 'fastify') { %>,
    "fastify": "^1.13.3"<% } %><% if (server === 'feathers') { %>,
    "@feathersjs/feathers": "^3.3.1",
    "@feathersjs/express": "^1.3.1",
    "@feathersjs/configuration": "^2.0.6"<% } %><% if (ui === 'tachyons') { %>,
    "tachyons": "^4.11.1"<% } %><% if (ui === 'material') { %>,
    "@material/button": "^1.0.0",
    "@material/ripple": "^1.0.0",
    "@material/typography": "^1.0.0"<% } %><% if (state === 'redux') { %>,
    "redux": "^4.0.1",
    "midux": "^2.2.0",
    "redux-logger": "^3.0.6",
    "redux-thunk": "^2.3.0"<% } %><% if (state === 'storeon') { %>,
    "storeon": "^0.8.6"<% } %><% if (state === 'mirtx') { %>,
    "mirtx": "^0.1.0"<% } %>
  },
  "devDependencies": {
    "nodemon": "^1.18.9",
    "consola": "^2.6.0",
    "babel-loader": "^8.0.4",
    "css-loader": "^2.1.1",
    "file-loader": "^3.0.1",
    "handlebars": "^4.0.12",
    "handlebars-loader": "^1.7.0",
    "html-loader": "^0.5.1",
    "html-webpack-plugin": "^4.0.0-alpha.2",
    "imports-loader": "^0.8.0",
    "jsdom": "^12.2.0",
    "jsdom-global": "^3.0.2",
    "json-loader": "^0.5.7",
    "lint-staged": "^8.1.6",
    "mini-css-extract-plugin": "^0.6.0",
    "mithril-query": "^2.5.0",
    "optimize-css-assets-webpack-plugin": "^5.0.1",
    "autoprefixer": "^9.2.1",
    "postcss": "^7.0.5",
    "postcss-functions": "^3.0.0",
    "postcss-import": "^12.0.0",
    "postcss-loader": "^3.0.0",
    "postcss-url": "^8.0.0",
    "preload-webpack-plugin": "^3.0.0-beta.2",
    "purgecss-webpack-plugin": "^1.3.1",
    "rimraf": "^2.6.1",
    "react-dev-utils": "^9.0.0",
    "style-loader": "^0.23.1",
    "uglifyjs-webpack-plugin": "^2.0.1",
    "url-loader": "^1.1.2",
    "webpack": "^4.30.0",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.3.1",
    "webpack-manifest-plugin": "^2.0.4",
    "webpack-pwa-manifest": "^4.0.0",
    "workbox-webpack-plugin": "^4.1.1",
    "exports-loader": "^0.7.0",<% if (ui === 'material') { %>
    "fibers": "^4.0.1",
    "sass": "^1.20.1",
    "sass-loader": "^7.1.0",<% } %>
    "@babel/core": "^7.1.2",
    "@babel/preset-env": "^7.1.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",<% if (typescript === 'yes') { %>
    "typescript": "^3.4.5",
    "@types/node": "^11.13.2",
    "@types/mithril": "^1.1.16",
    "@babel/preset-typescript": "^7.3.3",
    "@babel/plugin-proposal-class-properties": "^7.4.4",
    "@babel/plugin-proposal-object-rest-spread": "^7.4.4",<% if (eslint === 'yes') { %>
    "@typescript-eslint/parser": "^1.7.0",
    "@typescript-eslint/eslint-plugin": "^1.6.0",<% } %><% } %><% if (eslint === 'yes') { %>
    "husky": "^2.2.0",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.15.1",
    "eslint-config-standard": ">=12.0.0",
    "eslint-friendly-formatter": "^4.0.1",
    "eslint-plugin-import": ">=2.16.0",
    "eslint-plugin-jest": ">=22.3.0",
    "eslint-plugin-node": ">=8.0.1",
    "eslint-plugin-promise": ">=4.0.1",
    "eslint-plugin-standard": ">=4.0.0",
    "eslint-loader": "^2.1.2"<% } %><% if (prettier === 'yes') { %>,
    "eslint-config-prettier": "^4.1.0",
    "eslint-plugin-prettier": "^3.0.1",
    "prettier": "^1.16.4"<% } %><% if (ui === 'tailwind') { %>,
    "tailwindcss": "^1.0.5"<% } %><% if (test === 'jest') { %>,
    "babel-core": "7.0.0-bridge.0",
    "babel-jest": "^24.8.0",
    "jest-transform-stub": "^2.0.0",
    "jest": "^24.8.0"<% } %><% if (test === 'ava') { %>,
    "ava": "^1.0.1",
    "browser-env": "^3.2.5",
    "require-extension-hooks": "^0.3.3",
    "require-extension-hooks-babel": "^0.1.1"<% } %><% if (test === 'mocha') { %>,
    "mocha": "^5.2.0",
    "chai": "^4.2.0",
    "sinon": "^7.0.0"<% } %>
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
