{
  "config": {
    "build": {
      "babel": {
        "plugins": [
          [
            "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/styled-jsx/babel.js",
            {
              "plugins": [
                [
                  "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-styled-jsx-plugin-postcss/index.js",
                  {
                    "plugins": [
                      null,
                      null
                    ]
                  }
                ]
              ]
            }
          ],
          [
            "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/babel-plugin-transform-assets/lib/index.js",
            {
              "extensions": [
                "txt",
                "svg",
                "png",
                "jpg",
                "jpeg",
                "webp",
                "gif"
              ],
              "regExp": ".*/static/(.+)",
              "name": "/static/[1]?[sha512:hash:base64:7]"
            }
          ]
        ]
      },
      "webpack": null,
      "_webpackFnList": [],
      "webpackDevMiddleware": {
        "logLevel": "silent",
        "publicPath": "/_app/webpack/",
        "clientLogLevel": "warning",
        "watchOptions": {
          "ignored": [
            {},
            {}
          ]
        }
      },
      "_webpackDevMiddlewareFnList": [],
      "webpackHotMiddleware": {
        "path": "/_app/webpack-hmr",
        "log": false,
        "heartbeat": 2500
      },
      "_webpackHotMiddlewareFnList": [],
      "distDir": ".build",
      "assetPrefix": "",
      "devServer": {
        "port": 7010
      },
      "onDemandEntries": null,
      "hotReload": true
    },
    "session": {
      "maxAge": 86400000,
      "key": "EGG_SESS",
      "httpOnly": true,
      "encrypt": true
    },
    "security": {
      "domainWhiteList": [],
      "protocolWhiteList": [],
      "defaultMiddleware": "csrf,hsts,methodnoallow,noopen,nosniff,csp,xssProtection,xframe,dta",
      "csrf": {
        "enable": true,
        "useSession": false,
        "ignoreJSON": false,
        "cookieName": "csrfToken",
        "sessionName": "csrfToken",
        "headerName": "x-csrf-token",
        "bodyName": "_csrf",
        "queryName": "_csrf"
      },
      "xframe": {
        "enable": true,
        "value": "SAMEORIGIN"
      },
      "hsts": {
        "enable": false,
        "maxAge": 31536000,
        "includeSubdomains": false
      },
      "dta": {
        "enable": true
      },
      "methodnoallow": {
        "enable": true
      },
      "noopen": {
        "enable": true
      },
      "nosniff": {
        "enable": true
      },
      "xssProtection": {
        "enable": true,
        "value": "1; mode=block"
      },
      "csp": {
        "enable": false,
        "policy": {}
      }
    },
    "helper": {
      "shtml": {}
    },
    "jsonp": {
      "limit": 50,
      "callback": [
        "_callback",
        "callback"
      ],
      "csrf": false
    },
    "onerror": {
      "errorPageUrl": "",
      "appErrorFilter": null
    },
    "i18n": {
      "defaultLocale": "en_US",
      "dirs": [],
      "queryField": "locale",
      "cookieField": "locale",
      "cookieMaxAge": "1y"
    },
    "watcher": {
      "type": "development",
      "eventSources": {
        "default": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-watcher/lib/event-sources/default",
        "development": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-watcher/lib/event-sources/development"
      }
    },
    "multipart": {
      "autoFields": false,
      "defaultCharset": "utf8",
      "fieldNameSize": 100,
      "fieldSize": "100kb",
      "fields": 10,
      "fileSize": "10mb",
      "files": 10,
      "fileExtensions": [],
      "whitelist": null
    },
    "development": {
      "watchDirs": [],
      "ignoreDirs": [],
      "fastReady": false,
      "reloadOnDebug": true,
      "overrideDefault": false
    },
    "customLogger": {
      "scheduleLogger": {
        "consoleLevel": "NONE",
        "file": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/logs/avet-example-hackernews/egg-schedule.log"
      }
    },
    "logrotator": {
      "filesRotateByHour": null,
      "hourDelimiter": "-",
      "filesRotateBySize": null,
      "maxFileSize": 52428800,
      "maxFiles": 10,
      "rotateDuration": 60000,
      "maxDays": 31
    },
    "static": {
      "prefix": "/static/",
      "dir": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/web/static",
      "dynamic": true,
      "preload": false,
      "buffer": false,
      "maxFiles": 1000
    },
    "view": {
      "root": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/app/view",
      "cache": false,
      "defaultExtension": ".html",
      "defaultViewEngine": "",
      "mapping": {}
    },
    "styledJsx": {
      "postcss": {
        "plugins": [
          null,
          null
        ]
      }
    },
    "assets": {
      "extensions": [
        "txt",
        "svg",
        "png",
        "jpg",
        "jpeg",
        "webp",
        "gif"
      ],
      "regExp": ".*/static/(.+)",
      "name": "/static/[1]?[sha512:hash:base64:7]"
    },
    "theme": {
      "cookieKey": "avetTheme",
      "styles": {
        "common": {},
        "default": {}
      }
    },
    "env": "local",
    "name": "avet-example-hackernews",
    "keys": "<String len: 29>",
    "proxy": false,
    "protocolHeaders": "x-forwarded-proto",
    "ipHeaders": "x-forwarded-for",
    "hostHeaders": "x-forwarded-host",
    "pkg": {
      "name": "avet-example-hackernews",
      "version": "1.2.14",
      "description": "hackernews showcase using async/await for avet",
      "dependencies": {
        "avet": "1.2.14",
        "moment": "^2.20.1"
      },
      "devDependencies": {
        "avet-bin": "1.2.7",
        "egg-mock": "^3.14.0",
        "eslint": "^4.15.0",
        "eslint-config-avet": "^0.3.11",
        "react": "^16.2.0",
        "react-dom": "^16.2.0",
        "styled-jsx": "^2.2.1"
      },
      "engines": {
        "node": ">=8.9.0"
      },
      "scripts": {
        "dev": "avet-bin dev",
        "test": "avet-bin test"
      }
    },
    "baseDir": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews",
    "HOME": "/Users/okoala",
    "rundir": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/run",
    "dump": {
      "ignore": "<Set>"
    },
    "confusedConfigurations": {
      "bodyparser": "bodyParser",
      "notFound": "notfound",
      "sitefile": "siteFile",
      "middlewares": "middleware",
      "httpClient": "httpclient"
    },
    "notfound": {
      "pageUrl": ""
    },
    "siteFile": {
      "/favicon.ico": "<Buffer len: 14191>"
    },
    "bodyParser": {
      "enable": true,
      "encoding": "utf8",
      "formLimit": "100kb",
      "jsonLimit": "100kb",
      "strict": true,
      "queryString": {
        "arrayLimit": 100,
        "depth": 5,
        "parameterLimit": 1000
      }
    },
    "logger": {
      "dir": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/logs/avet-example-hackernews",
      "encoding": "utf8",
      "env": "local",
      "level": "INFO",
      "consoleLevel": "INFO",
      "disableConsoleAfterReady": false,
      "outputJSON": false,
      "buffer": true,
      "appLogName": "avet-example-hackernews-web.log",
      "coreLogName": "egg-web.log",
      "agentLogName": "egg-agent.log",
      "errorLogName": "common-error.log",
      "coreLogger": {
        "consoleLevel": "WARN"
      },
      "allowDebugAtProd": true,
      "type": "agent"
    },
    "httpclient": {
      "enableDNSCache": false,
      "dnsCacheMaxLength": 1000,
      "dnsCacheMaxAge": 10000,
      "request": {
        "timeout": 5000
      },
      "httpAgent": {
        "keepAlive": true,
        "freeSocketKeepAliveTimeout": 4000,
        "maxSockets": 9007199254740991,
        "maxFreeSockets": 256
      },
      "httpsAgent": {
        "keepAlive": true,
        "freeSocketKeepAliveTimeout": 4000,
        "maxSockets": 9007199254740991,
        "maxFreeSockets": 256
      }
    },
    "meta": {
      "enable": true,
      "logging": false
    },
    "coreMiddleware": [
      "meta",
      "siteFile",
      "notfound",
      "bodyParser",
      "overrideMethod",
      "avetServer"
    ],
    "workerStartTimeout": 600000,
    "cluster": {
      "listen": {
        "path": "",
        "port": 7001,
        "hostname": ""
      }
    },
    "clusterClient": {
      "responseTimeout": 60000
    },
    "app": {
      "dir": "/Users/okoala/projj/github.com/avetjs/avet/examples/hackernews/web",
      "dev": true,
      "port": 3000,
      "staticMarkup": false,
      "quiet": false,
      "configOrigin": "default",
      "useFileSystemPublicRoutes": true,
      "staticOptions": {
        "maxAge": 0,
        "buffer": false,
        "gzip": false
      }
    },
    "core": {
      "name": "Avet"
    },
    "news": {
      "pageSize": 30,
      "serverUrl": "https://hacker-news.firebaseio.com/v0"
    },
    "coreMiddlewares": [
      "meta",
      "siteFile",
      "notfound",
      "bodyParser",
      "overrideMethod",
      "avetServer"
    ],
    "appMiddlewares": [],
    "appMiddleware": []
  },
  "plugins": {
    "session": {
      "enable": true,
      "package": "egg-session",
      "name": "session",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-session",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-session",
      "version": "3.1.0"
    },
    "security": {
      "enable": true,
      "package": "egg-security",
      "name": "security",
      "dependencies": [],
      "optionalDependencies": [
        "session"
      ],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-security",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-security",
      "version": "2.0.0"
    },
    "jsonp": {
      "enable": true,
      "package": "egg-jsonp",
      "name": "jsonp",
      "dependencies": [],
      "optionalDependencies": [
        "security"
      ],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-jsonp",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-jsonp",
      "version": "2.0.0"
    },
    "onerror": {
      "enable": true,
      "package": "egg-onerror",
      "name": "onerror",
      "dependencies": [],
      "optionalDependencies": [
        "jsonp"
      ],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-onerror",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-onerror",
      "version": "2.0.0"
    },
    "i18n": {
      "enable": true,
      "package": "egg-i18n",
      "name": "i18n",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-i18n",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-i18n",
      "version": "2.0.0"
    },
    "watcher": {
      "enable": true,
      "package": "egg-watcher",
      "name": "watcher",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-watcher",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-watcher",
      "version": "3.0.0"
    },
    "multipart": {
      "enable": true,
      "package": "egg-multipart",
      "name": "multipart",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-multipart",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-multipart",
      "version": "2.0.0"
    },
    "development": {
      "enable": true,
      "package": "egg-development",
      "name": "development",
      "dependencies": [
        "watcher"
      ],
      "optionalDependencies": [],
      "env": [
        "local"
      ],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-development",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-development",
      "version": "2.2.0"
    },
    "schedule": {
      "enable": true,
      "package": "egg-schedule",
      "name": "schedule",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-schedule",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-schedule",
      "version": "3.3.0"
    },
    "logrotator": {
      "enable": true,
      "package": "egg-logrotator",
      "name": "logrotator",
      "dependencies": [
        "schedule"
      ],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-logrotator",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-logrotator",
      "version": "3.0.2"
    },
    "static": {
      "enable": true,
      "package": "egg-static",
      "name": "static",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-static",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-static",
      "version": "2.1.0"
    },
    "view": {
      "enable": true,
      "package": "egg-view",
      "name": "view",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-view",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/egg-view",
      "version": "2.1.0"
    },
    "styledJsx": {
      "enable": true,
      "package": "avet-styled-jsx",
      "name": "styledJsx",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-styled-jsx",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-styled-jsx",
      "version": "0.2.1",
      "isAvetPlugin": true
    },
    "assets": {
      "enable": true,
      "package": "avet-assets",
      "name": "assets",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-assets",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-assets",
      "version": "1.0.0",
      "isAvetPlugin": true
    },
    "theme": {
      "enable": true,
      "package": "avet-theme",
      "name": "theme",
      "dependencies": [],
      "optionalDependencies": [],
      "env": [],
      "from": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/config/plugin.js",
      "path": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-theme",
      "modulePath": "/Users/okoala/projj/github.com/avetjs/avet/packages/avet/node_modules/avet-theme",
      "version": "1.1.0",
      "isAvetPlugin": true
    }
  }
}