From ce1ab08dd69150e4659aa4e3aa04ae2b34f41cd6 Mon Sep 17 00:00:00 2001
From: Sendou
Date: Wed, 8 Apr 2020 16:33:05 +0300
Subject: [PATCH] markdown updates
---
frontend-react/src/components/Mark | 0
.../components/markdown/MarkdownHelpPage.tsx | 71 +++--
frontend-react/src/components/root/Routes.tsx | 2 +
.../src/components/xtrends/XTrendsPage.tsx | 26 ++
.../src/graphql/queries/seachForTrend.js | 16 -
frontend-react/src/graphql/queries/xTrends.ts | 29 ++
frontend-react/src/utils/ChakraUIRenderer.js | 123 --------
frontend-react/src/utils/lists.ts | 36 +--
frontend-react/src/utils/useTrends.js | 278 ------------------
graphql-schemas/trend.js | 13 +-
package-lock.json | 269 ++++++++++-------
package.json | 4 +-
12 files changed, 300 insertions(+), 567 deletions(-)
delete mode 100644 frontend-react/src/components/Mark
create mode 100644 frontend-react/src/components/xtrends/XTrendsPage.tsx
delete mode 100644 frontend-react/src/graphql/queries/seachForTrend.js
create mode 100644 frontend-react/src/graphql/queries/xTrends.ts
delete mode 100644 frontend-react/src/utils/ChakraUIRenderer.js
delete mode 100644 frontend-react/src/utils/useTrends.js
diff --git a/frontend-react/src/components/Mark b/frontend-react/src/components/Mark
deleted file mode 100644
index e69de29bb..000000000
diff --git a/frontend-react/src/components/markdown/MarkdownHelpPage.tsx b/frontend-react/src/components/markdown/MarkdownHelpPage.tsx
index 39123f714..000c432ae 100644
--- a/frontend-react/src/components/markdown/MarkdownHelpPage.tsx
+++ b/frontend-react/src/components/markdown/MarkdownHelpPage.tsx
@@ -1,15 +1,20 @@
-import React, { useContext } from "react"
+import React, { useContext, useState } from "react"
import { RouteComponentProps } from "@reach/router"
import PageHeader from "../common/PageHeader"
-import { Box, Link, Flex } from "@chakra-ui/core"
+import { Box, Link, Flex, Collapse } from "@chakra-ui/core"
import MyThemeContext from "../../themeContext"
import WeaponImage from "../common/WeaponImage"
import Emoji from "../elements/Emoji"
+import Button from "../elements/Button"
+import { weaponCodes, abilitiesGameOrder, gearCodes } from "../../utils/lists"
interface MarkdownHelpPageProps {}
const MarkdownHelpPage: React.FC = () => {
const { themeColorWithShade } = useContext(MyThemeContext)
+ const [showWeapons, setShowWeapons] = useState(false)
+ const [showAbilities, setShowAbilities] = useState(false)
+ const [showGear, setShowGear] = useState(false)
return (
<>
@@ -33,22 +38,6 @@ const MarkdownHelpPage: React.FC = () => {
We also support certain special emoji. Below listed are the groups and
few representatives as example:
-
- Weapon emoji
-
-
- :luna_blaster: ->{" "}
-
-
-
- :.96_gal: ->
-
-
- :custom_e-liter_4k_scope: ->{" "}
-
-
-
-
Mode emoji
@@ -67,17 +56,31 @@ const MarkdownHelpPage: React.FC = () => {
- Ability emoji
+ Weapon emoji
- :ssu: ->
+ :luna_blaster: ->{" "}
+
- :t: ->
+ :96_gal: ->
- :rp: ->
+ :custom_e-liter_4k_scope: ->{" "}
+
+
+
+
+
+
+ {Object.keys(weaponCodes).map((code) => (
+ :{code}:
+ ))}
+
+
@@ -92,6 +95,18 @@ const MarkdownHelpPage: React.FC = () => {
:rp: ->
+
+
+
+
+
+ {abilitiesGameOrder.map((code) => (
+ :{code.toLowerCase()}:
+ ))}
+
+
@@ -106,6 +121,18 @@ const MarkdownHelpPage: React.FC = () => {
:black_norimaki_750s: ->
+
+
+
+
+
+ {Object.keys(gearCodes).map((code) => (
+ :{code}:
+ ))}
+
+
diff --git a/frontend-react/src/components/root/Routes.tsx b/frontend-react/src/components/root/Routes.tsx
index b22933870..25b0f4408 100644
--- a/frontend-react/src/components/root/Routes.tsx
+++ b/frontend-react/src/components/root/Routes.tsx
@@ -18,6 +18,7 @@ const MapPlannerPage = lazy(() => import("../plans/MapPlannerPage"))
const FreeAgentsPage = lazy(() => import("../freeagents/FreeAgentsPage"))
const TeamPage = lazy(() => import("../team/TeamPage"))
const XSearch = lazy(() => import("../xsearch/Top500BrowserPage"))
+const XTrends = lazy(() => import("../xtrends/XTrendsPage"))
const PlusPage = lazy(() => import("../plus/PlusPage"))
const DraftCupPage = lazy(() => import("../plusdraftcup/DraftCupPage"))
const DraftCupDetails = lazy(() => import("../plusdraftcup/DraftCupDetails"))
@@ -45,6 +46,7 @@ const Routes: React.FC = () => {
+
diff --git a/frontend-react/src/components/xtrends/XTrendsPage.tsx b/frontend-react/src/components/xtrends/XTrendsPage.tsx
new file mode 100644
index 000000000..ac23df1be
--- /dev/null
+++ b/frontend-react/src/components/xtrends/XTrendsPage.tsx
@@ -0,0 +1,26 @@
+import React from "react"
+import { RouteComponentProps } from "@reach/router"
+import { useQuery } from "@apollo/react-hooks"
+import { XTrendsData, X_TRENDS } from "../../graphql/queries/xTrends"
+import Loading from "../common/Loading"
+import Error from "../common/Error"
+import PageHeader from "../common/PageHeader"
+
+interface XTrendsPageProps {}
+
+const XTrendsPage: React.FC = () => {
+ const { data, error, loading } = useQuery(X_TRENDS)
+
+ if (error) return
+ if (loading) return
+
+ console.log("xtrends", data!.xTrends)
+ return (
+ <>
+
+ {data!.xTrends.length}
+ >
+ )
+}
+
+export default XTrendsPage
diff --git a/frontend-react/src/graphql/queries/seachForTrend.js b/frontend-react/src/graphql/queries/seachForTrend.js
deleted file mode 100644
index a835e8d0c..000000000
--- a/frontend-react/src/graphql/queries/seachForTrend.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { gql } from "apollo-boost"
-
-export const searchForTrend = gql`
- query searchForTrend($weapon: String!) {
- searchForTrend(weapon: $weapon) {
- weapon
- counts {
- year
- SZ
- TC
- RM
- CB
- }
- }
- }
-`
diff --git a/frontend-react/src/graphql/queries/xTrends.ts b/frontend-react/src/graphql/queries/xTrends.ts
new file mode 100644
index 000000000..2a08f9acd
--- /dev/null
+++ b/frontend-react/src/graphql/queries/xTrends.ts
@@ -0,0 +1,29 @@
+import { gql, DocumentNode } from "apollo-boost"
+
+export interface XTrendsData {
+ xTrends: {
+ weapon: string
+ counts: {
+ year: number
+ SZ: number[]
+ TC: number[]
+ RM: number[]
+ CB: number[]
+ }[]
+ }[]
+}
+
+export const X_TRENDS: DocumentNode = gql`
+ query xTrends {
+ xTrends {
+ weapon
+ counts {
+ year
+ SZ
+ TC
+ RM
+ CB
+ }
+ }
+ }
+`
diff --git a/frontend-react/src/utils/ChakraUIRenderer.js b/frontend-react/src/utils/ChakraUIRenderer.js
deleted file mode 100644
index dda29e8e1..000000000
--- a/frontend-react/src/utils/ChakraUIRenderer.js
+++ /dev/null
@@ -1,123 +0,0 @@
-//https://github.com/mustaphaturhan/chakra-ui-markdown-renderer/blob/master/src/index.js
-
-import React from "react"
-import {
- Text,
- Code,
- Divider,
- Link,
- List,
- Checkbox,
- ListItem,
- Heading,
- Image,
-} from "@chakra-ui/core"
-
-function ChakraUIRenderer() {
- function getCoreProps(props) {
- return props["data-sourcepos"]
- ? { "data-sourcepos": props["data-sourcepos"] }
- : {}
- }
-
- return {
- paragraph: (props) => {
- const { children } = props
- return {children}
- },
- emphasis: (props) => {
- const { children } = props
- return {children}
- },
- blockquote: (props) => {
- const { children } = props
- return {children}
- },
- code: (props) => {
- const { language, value } = props
- const className = language && `language-${language}`
- return (
-
-
- {value}
-
-
- )
- },
- delete: (props) => {
- const { children } = props
- return {children}
- },
- thematicBreak: Divider,
- link: Link,
- img: Image,
- linkReference: Link,
- imageReference: Image,
- text: (props) => {
- const { children } = props
- return {children}
- },
- list: (props) => {
- const { start, ordered, children, depth } = props
- const attrs = getCoreProps(props)
- if (start !== null && start !== 1 && start !== undefined) {
- attrs.start = start.toString()
- }
- let styleType = "disc"
- if (ordered) styleType = "decimal"
- if (depth === 1) styleType = "circle"
- return (
-
- {children}
-
- )
- },
- listItem: (props) => {
- const { children, checked } = props
- let checkbox = null
- if (checked !== null && checked !== undefined) {
- checkbox = (
-
- {children}
-
- )
- }
- return (
-
- {checkbox || children}
-
- )
- },
- definition: () => null,
- heading: (props) => {
- const { level, children } = props
- const sizes = ["2xl", "xl", "lg", "md", "sm", "xs"]
- return (
-
- {children}
-
- )
- },
- inlineCode: (props) => {
- const { children } = props
- return {children}
- },
- }
-}
-
-export default ChakraUIRenderer
diff --git a/frontend-react/src/utils/lists.ts b/frontend-react/src/utils/lists.ts
index d08a38518..01b1a8b44 100644
--- a/frontend-react/src/utils/lists.ts
+++ b/frontend-react/src/utils/lists.ts
@@ -4,9 +4,9 @@ export const weaponCodes: Record = {
"sploosh-o-matic": "Sploosh-o-matic",
"neo_sploosh-o-matic": "Neo Sploosh-o-matic",
"sploosh-o-matic_7": "Sploosh-o-matic 7",
- "splattershot_jr.": "Splattershot Jr.",
- "custom_splattershot_jr.": "Custom Splattershot Jr.",
- "kensa_splattershot_jr.": "Kensa Splattershot Jr.",
+ splattershot_jr: "Splattershot Jr.",
+ custom_splattershot_jr: "Custom Splattershot Jr.",
+ kensa_splattershot_jr: "Kensa Splattershot Jr.",
"splash-o-matic": "Splash-o-matic",
"neo_splash-o-matic": "Neo Splash-o-matic",
aerospray_mg: "Aerospray MG",
@@ -15,17 +15,17 @@ export const weaponCodes: Record = {
splattershot: "Splattershot",
tentatek_splattershot: "Tentatek Splattershot",
kensa_splattershot: "Kensa Splattershot",
- ".52_gal": ".52 Gal",
- ".52_gal_deco": ".52 Gal Deco",
- "kensa_.52_gal": "Kensa .52 Gal",
- "n-zap_'85": "N-ZAP '85",
- "n-zap_'89": "N-ZAP '89",
- "n-zap_'83": "N-ZAP '83",
+ "52_gal": ".52 Gal",
+ "52_gal_deco": ".52 Gal Deco",
+ kensa_52_gal: "Kensa .52 Gal",
+ "n-zap_85": "N-ZAP '85",
+ "n-zap_89": "N-ZAP '89",
+ "n-zap_83": "N-ZAP '83",
splattershot_pro: "Splattershot Pro",
forge_splattershot_pro: "Forge Splattershot Pro",
kensa_splattershot_pro: "Kensa Splattershot Pro",
- ".96_gal": ".96 Gal",
- ".96_gal_deco": ".96 Gal Deco",
+ "96_gal": ".96 Gal",
+ "96_gal_deco": ".96 Gal Deco",
jet_squelcher: "Jet Squelcher",
custom_jet_squelcher: "Custom Jet Squelcher",
"l-3_nozzlenose": "L-3 Nozzlenose",
@@ -209,7 +209,7 @@ export const gearCodes: Record = {
hula_punk_shirt: "Hula Punk Shirt",
prune_parashooter: "Prune Parashooter",
red_hula_punk_with_tie: "Red Hula Punk with Tie",
- "rockin'_leather_jacket": "Rockin' Leather Jacket",
+ rockin_leather_jacket: "Rockin' Leather Jacket",
annaki_arachno_boots: "Annaki Arachno Boots",
annaki_habaneros: "Annaki Habaneros",
annaki_tigers: "Annaki Tigers",
@@ -345,8 +345,8 @@ export const gearCodes: Record = {
octoleet_goggles: "Octoleet Goggles",
sailor_cap: "Sailor Cap",
welding_mask: "Welding Mask",
- "worker's_cap": "Worker's Cap",
- "worker's_head_towel": "Worker's Head Towel",
+ workers_cap: "Worker's Cap",
+ workers_head_towel: "Worker's Head Towel",
anchor_life_vest: "Anchor Life Vest",
crustwear_xxl: "Crustwear XXL",
dev_uniform: "Dev Uniform",
@@ -541,10 +541,10 @@ export const gearCodes: Record = {
hockey_mask: "Hockey Mask",
koshien_bandana: "Koshien Bandana",
kyonshi_hat: "Kyonshi Hat",
- "li'l_devil_horns": "Li'l Devil Horns",
+ lil_devil_horns: "Li'l Devil Horns",
"mecha_head_-_htr": "Mecha Head - HTR",
- "new_year's_glasses_dx": "New Year's Glasses DX",
- "painter's_mask": "Painter's Mask",
+ new_years_glasses_dx: "New Year's Glasses DX",
+ painters_mask: "Painter's Mask",
squid_facemask: "Squid Facemask",
twisty_headband: "Twisty Headband",
white_headband: "White Headband",
@@ -669,7 +669,7 @@ export const gearCodes: Record = {
positive_longcuff_sweater: "Positive Longcuff Sweater",
pullover_coat: "Pullover Coat",
short_knit_layers: "Short Knit Layers",
- "toni_k._baseball_jersey": "Toni K. Baseball Jersey",
+ toni_k_baseball_jersey: "Toni K. Baseball Jersey",
"arrow_pull-ons": "Arrow Pull-Ons",
"toni_kensa_black_hi-tops": "Toni Kensa Black Hi-Tops",
toni_kensa_soccer_shoes: "Toni Kensa Soccer Shoes",
diff --git a/frontend-react/src/utils/useTrends.js b/frontend-react/src/utils/useTrends.js
deleted file mode 100644
index 994e64bb6..000000000
--- a/frontend-react/src/utils/useTrends.js
+++ /dev/null
@@ -1,278 +0,0 @@
-import { useReducer, useEffect } from "react"
-import { useQuery } from "@apollo/react-hooks"
-import { searchForTrend } from "../graphql/queries/seachForTrend"
-
-const month = []
-month[0] = null
-month[1] = "Jan"
-month[2] = "Feb"
-month[3] = "Mar"
-month[4] = "Apr"
-month[5] = "May"
-month[6] = "Jun"
-month[7] = "Jul"
-month[8] = "Aug"
-month[9] = "Sep"
-month[10] = "Oct"
-month[11] = "Nov"
-month[12] = "Dec"
-
-const patches = {
- 5: {
- 2018: {
- name: "3.0",
- link: "https://splatoonwiki.org/wiki/Version_3.0.0_(Splatoon_2)",
- },
- 2019: {
- name: "4.8",
- link: "https://splatoonwiki.org/wiki/Version_4.8.0_(Splatoon_2)",
- },
- },
- 6: {
- 2018: {
- name: "3.1",
- link: "https://splatoonwiki.org/wiki/Version_3.1.0_(Splatoon_2)",
- },
- 2019: {
- name: "4.9",
- link: "https://splatoonwiki.org/wiki/Version_4.9.0_(Splatoon_2)",
- },
- },
- 7: {
- 2018: {
- name: "3.2",
- link: "https://splatoonwiki.org/wiki/Version_3.2.0_(Splatoon_2)",
- },
- 2019: {
- name: "5.0",
- link: "https://splatoonwiki.org/wiki/Version_5.0.0_(Splatoon_2)",
- },
- },
- 9: {
- 2018: {
- name: "4.0",
- link: "https://splatoonwiki.org/wiki/Version_4.0.0_(Splatoon_2)",
- },
- },
- 10: {
- 2018: {
- name: "4.1",
- link: "https://splatoonwiki.org/wiki/Version_4.1.0_(Splatoon_2)",
- },
- },
- 11: {
- 2018: {
- name: "4.2",
- link: "https://splatoonwiki.org/wiki/Version_4.2.0_(Splatoon_2)",
- },
- },
- 12: {
- 2018: {
- name: "4.3",
- link: "https://splatoonwiki.org/wiki/Version_4.3.0_(Splatoon_2)",
- },
- },
- 1: {
- 2019: {
- name: "4.4",
- link: "https://splatoonwiki.org/wiki/Version_4.4.0_(Splatoon_2)",
- },
- },
- 3: {
- 2019: {
- name: "4.5",
- link: "https://splatoonwiki.org/wiki/Version_4.5.0_(Splatoon_2)",
- },
- },
- 4: {
- 2019: {
- name: "4.6+4.7",
- link: "https://splatoonwiki.org/wiki/List_of_updates_in_Splatoon_2",
- },
- },
-}
-
-const presetColors = [
- "#FF00FF",
- "#008000",
- "#FF0000",
- "#0000FF",
- "#FFA500",
- "#800080",
- "#A52A2A",
- "#1BC5CD",
- "#000080",
- "#5BCCA0",
-]
-
-const setPlotDataInitial = () => {
- const arr_to_return = []
- for (let i = 5; i < 13; i++) {
- if (patches.hasOwnProperty(i) && patches[i].hasOwnProperty(2018)) {
- arr_to_return.push({
- name: i,
- year: 2018,
- xLabel: month[i],
- patch: patches[i][2018].name,
- })
- } else {
- arr_to_return.push({ name: i, year: 2018, xLabel: month[i] })
- }
- }
- const d = new Date()
- const year = d.getFullYear()
- const currentMonth = d.getMonth() + 1
- for (let i = 2019; i < year + 1; i++) {
- for (let j = 1; j < 13; j++) {
- // break the loop when we reach the future
- if (i === year && j === currentMonth) break
- const xLabel = j === 1 ? `Jan (${year})` : month[j]
- if (patches.hasOwnProperty(j) && patches[j].hasOwnProperty(i)) {
- arr_to_return.push({
- name: j,
- year: i,
- xLabel,
- patch: patches[j][i].name,
- })
- } else {
- arr_to_return.push({ name: j, year: i, xLabel })
- }
- }
- }
-
- return arr_to_return
-}
-
-const mergeModeArrays = countObj => {
- const sz_arr = countObj["SZ"]
- const tc_arr = countObj["TC"]
- const rm_arr = countObj["RM"]
- const cb_arr = countObj["CB"]
- const arr_to_return = new Array(12).fill(0)
- for (let i = 1; i < 13; i++) {
- arr_to_return[i] = sz_arr[i] + tc_arr[i] + rm_arr[i] + cb_arr[i]
- }
- return arr_to_return
-}
-
-// monthIndex is between 1 and 12 (inclusive)
-const resolveStartIndex = (monthIndex, year) => {
- // resolves start index for an array where index 0 is always May 2018
- if (year === 2018) {
- return monthIndex - 5
- } else if (year === 2019) {
- return 7 + monthIndex
- } else {
- return 7 + monthIndex + (year - 2019) * 12
- }
-}
-
-const getColor = state => {
- if (state.keys.length < 9) {
- return presetColors[state.keys.length]
- }
-
- return "#000000".replace(/0/g, function() {
- return (~~(Math.random() * 16)).toString(16)
- })
-}
-
-const reducer = (state, action) => {
- switch (action.type) {
- case "add":
- const trend = action.trendDocument
- const mode = action.mode
- const modeLabel = mode === "ALL" ? "" : ` (${mode})`
- const weapon = `${action.trendDocument.weapon}${modeLabel}`
- // don't add duplicate plots
- if (state.keys.indexOf(weapon) !== -1) return state
- const toPlotData = [...state.data]
- for (let index = 0; index < trend.counts.length; index++) {
- let year = trend.counts[index].year
- let year_arr = null
- if (mode === "ALL") {
- year_arr = mergeModeArrays(trend.counts[index])
- } else {
- year_arr = trend.counts[index][mode]
- }
-
- for (let i = 1; i < 13; i++) {
- // if year is 2018 skipping to the index where values are found
- if (year === 2018 && i < 5) {
- i = 4
- continue
- }
- const plotIndex = resolveStartIndex(i, year)
- if (plotIndex === toPlotData.length) break
- toPlotData[plotIndex][weapon] = year_arr[i]
- }
- }
-
- const keyObj = {
- weapon,
- color: getColor(state),
- }
- return { data: toPlotData, keys: [...state.keys, keyObj] }
- case "delete":
- const weaponToDelete = action.weapon
- const newKeys = [...state.keys].filter(k => k.weapon !== weaponToDelete)
- return { data: state.data, keys: newKeys }
- case "combine":
- const weaponLeft = action.left
- const weaponRight = action.right
- const newKey = `${weaponLeft} + ${weaponRight}`
- const newKeysWithCombined = [
- ...state.keys,
- { weapon: newKey, color: getColor(state) },
- ].filter(k => k.weapon !== weaponLeft && k.weapon !== weaponRight)
- const newDataWithCombined = [...state.data].map(d => {
- const dataObj = { ...d }
- let weaponLeftCount = 0
- let weaponRightCount = 0
- if (dataObj.hasOwnProperty(weaponLeft))
- weaponLeftCount = dataObj[weaponLeft]
- if (dataObj.hasOwnProperty(weaponRight))
- weaponRightCount = dataObj[weaponRight]
- dataObj[newKey] = weaponLeftCount + weaponRightCount
- delete dataObj[weaponLeft]
- delete dataObj[weaponRight]
- return dataObj
- })
-
- return { data: newDataWithCombined, keys: newKeysWithCombined }
- case "randomizeColor":
- const keysWithNewColor = [...state.keys].map(k => {
- if (k.weapon !== action.weapon) {
- return k
- }
- return {
- ...k,
- color: "#000000".replace(/0/g, function() {
- return (~~(Math.random() * 16)).toString(16)
- }),
- }
- })
- return { data: state.data, keys: keysWithNewColor }
- default:
- throw new Error()
- }
-}
-
-export default function useTrends(weapon, mode) {
- const [plotData, dispatch] = useReducer(reducer, {
- data: setPlotDataInitial(),
- keys: [],
- })
- // Skip query if there is no weapon provided
- const { data, loading, error } = useQuery(searchForTrend, {
- skip: !weapon,
- variables: { weapon },
- })
-
- useEffect(() => {
- if (loading || !data) return
- dispatch({ type: "add", trendDocument: data.searchForTrend, mode })
- }, [loading, data, mode])
-
- return { loading, error, plotData, dispatch }
-}
diff --git a/graphql-schemas/trend.js b/graphql-schemas/trend.js
index 140134c08..6bd15aaac 100644
--- a/graphql-schemas/trend.js
+++ b/graphql-schemas/trend.js
@@ -1,9 +1,10 @@
const { UserInputError, gql } = require("apollo-server-express")
const Trend = require("../mongoose-models/trend")
+const weapons = require("../utils/weapons")
const typeDef = gql`
extend type Query {
- searchForTrend(weapon: String!): Trend
+ xTrends: [Trend!]!
}
type Year {
year: Int!
@@ -24,12 +25,10 @@ const typeDef = gql`
const resolvers = {
Query: {
- searchForTrend: (root, args) => {
- return Trend.findOne({ weapon: args.weapon }).catch(e => {
- throw new UserInputError(e.message, {
- invalidArgs: args,
- })
- })
+ xTrends: async (root, args) => {
+ const trends = await Trend.find({})
+
+ return trends.filter((trend) => weapons.includes(trend.weapon))
},
},
}
diff --git a/package-lock.json b/package-lock.json
index 9ac1143ae..bec05cf8b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -25,18 +25,18 @@
},
"dependencies": {
"@types/node": {
- "version": "10.17.17",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz",
- "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q=="
+ "version": "10.17.18",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.18.tgz",
+ "integrity": "sha512-DQ2hl/Jl3g33KuAUOcMrcAOtsbzb+y/ufakzAdeK9z/H/xsvkpbETZZbPNMIiQuk24f5ZRMCcZIViAwyFIiKmg=="
}
}
},
"@apollographql/apollo-tools": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.3.tgz",
- "integrity": "sha512-CtC1bmohB1owdGMT2ZZKacI94LcPAZDN2WvCe+4ZXT5d7xO5PHOAb70EP/LcFbvnS8QI+pkYRSCGFQnUcv9efg==",
+ "version": "0.4.5",
+ "resolved": "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.4.5.tgz",
+ "integrity": "sha512-KOZC4Y+JM4iQQ7P4CVC878Ee7ya0QoHApGHu4klwjwZkYyOdWIvbML7JfXOUb/AfCO4DFmJfHCjRdAX09Ga6sQ==",
"requires": {
- "apollo-env": "^0.6.1"
+ "apollo-env": "^0.6.2"
}
},
"@apollographql/graphql-playground-html": {
@@ -123,6 +123,11 @@
"@types/node": "*"
}
},
+ "@types/content-disposition": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg=="
+ },
"@types/cookies": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.4.tgz",
@@ -143,19 +148,20 @@
}
},
"@types/express": {
- "version": "4.17.3",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz",
- "integrity": "sha512-I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==",
+ "version": "4.17.4",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.4.tgz",
+ "integrity": "sha512-DO1L53rGqIDUEvOjJKmbMEQ5Z+BM2cIEPy/eV3En+s166Gz+FeuzRerxcab757u/U4v4XF4RYrZPmqKa+aY/2w==",
"requires": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "*",
+ "@types/qs": "*",
"@types/serve-static": "*"
}
},
"@types/express-serve-static-core": {
- "version": "4.17.2",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz",
- "integrity": "sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==",
+ "version": "4.17.3",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.3.tgz",
+ "integrity": "sha512-sHEsvEzjqN+zLbqP+8OXTipc10yH1QLR+hnr5uw29gi9AhCAAAdri8ClNV7iMdrJrIzXIQtlkPvq8tJGhj3QJQ==",
"requires": {
"@types/node": "*",
"@types/range-parser": "*"
@@ -201,11 +207,12 @@
"integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw=="
},
"@types/koa": {
- "version": "2.11.2",
- "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.2.tgz",
- "integrity": "sha512-2UPelagNNW6bnc1I5kIzluCaheXRA9S+NyOdXEFFj9Az7jc15ek5V03kb8OTbb3tdZ5i2BIJObe86PhHvpMolg==",
+ "version": "2.11.3",
+ "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.11.3.tgz",
+ "integrity": "sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q==",
"requires": {
"@types/accepts": "*",
+ "@types/content-disposition": "*",
"@types/cookies": "*",
"@types/http-assert": "*",
"@types/keygrip": "*",
@@ -232,18 +239,24 @@
"integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw=="
},
"@types/node": {
- "version": "13.7.7",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-13.7.7.tgz",
- "integrity": "sha512-Uo4chgKbnPNlxQwoFmYIwctkQVkMMmsAoGGU4JKwLuvBefF0pCq4FybNSnfkfRCpC7ZW7kttcC/TrRtAJsvGtg=="
+ "version": "13.11.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-13.11.0.tgz",
+ "integrity": "sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ=="
},
"@types/node-fetch": {
- "version": "2.5.4",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.4.tgz",
- "integrity": "sha512-Oz6id++2qAOFuOlE1j0ouk1dzl3mmI1+qINPNBhi9nt/gVOz0G+13Ao6qjhdF0Ys+eOkhu6JnFmt38bR3H0POQ==",
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.5.tgz",
+ "integrity": "sha512-IWwjsyYjGw+em3xTvWVQi5MgYKbRs0du57klfTaZkv/B24AEQ/p/IopNeqIYNy3EsfHOpg8ieQSDomPcsYMHpA==",
"requires": {
- "@types/node": "*"
+ "@types/node": "*",
+ "form-data": "^3.0.0"
}
},
+ "@types/qs": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.1.tgz",
+ "integrity": "sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw=="
+ },
"@types/range-parser": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
@@ -267,9 +280,9 @@
}
},
"@wry/equality": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.9.tgz",
- "integrity": "sha512-mB6ceGjpMGz1ZTza8HYnrPGos2mC6So4NhS1PtZ8s4Qt0K7fBiIGhpSxUbQmhwcSWE3no+bYxmI2OL6KuXYmoQ==",
+ "version": "0.1.11",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz",
+ "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==",
"requires": {
"tslib": "^1.9.3"
}
@@ -324,12 +337,12 @@
}
},
"apollo-cache-control": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.9.0.tgz",
- "integrity": "sha512-iLT6IT4Ul5cMfBcJAvhpk3a7AD6fXqvFxNmJEPVapVJHbSKYIjra4PTis13sOyN5Y3WQS6a+NRFxAW8+hL3q3Q==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/apollo-cache-control/-/apollo-cache-control-0.9.1.tgz",
+ "integrity": "sha512-9t2EcRevUrANuGhF5XUbKJEfnc6Jy2Rn7Y8nOIKlsEEC+AX7Ko4svWYTyyTxj0h0RXfiegY2nbz4sVry/pS3rA==",
"requires": {
"apollo-server-env": "^2.4.3",
- "graphql-extensions": "^0.11.0"
+ "graphql-extensions": "^0.11.1"
}
},
"apollo-datasource": {
@@ -342,18 +355,18 @@
}
},
"apollo-engine-reporting": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.7.0.tgz",
- "integrity": "sha512-jsjSnoHrRmk4XXK4aFU17YSJILmWsilKRwIeN74QJsSxjn5SCVF4EI/ebf/MNrTHpft8EhShx+wdkAcOD9ivqA==",
+ "version": "1.7.1",
+ "resolved": "https://registry.npmjs.org/apollo-engine-reporting/-/apollo-engine-reporting-1.7.1.tgz",
+ "integrity": "sha512-9ykddPxlC95R9CkkJaPaGriRbOGfzeKqqPXRAunyX1h4sG/8g+MJ/gGzmnNf63k6RvRUdRENCE83wPk2OeU+2A==",
"requires": {
"apollo-engine-reporting-protobuf": "^0.4.4",
"apollo-graphql": "^0.4.0",
"apollo-server-caching": "^0.5.1",
"apollo-server-env": "^2.4.3",
- "apollo-server-errors": "^2.4.0",
- "apollo-server-types": "^0.3.0",
+ "apollo-server-errors": "^2.4.1",
+ "apollo-server-types": "^0.3.1",
"async-retry": "^1.2.1",
- "graphql-extensions": "^0.11.0"
+ "graphql-extensions": "^0.11.1"
}
},
"apollo-engine-reporting-protobuf": {
@@ -365,22 +378,22 @@
}
},
"apollo-env": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.1.tgz",
- "integrity": "sha512-B9BgpQGR1ndeDtb4Gtor0J4CITQ+OPACZrVW6lgStnljKEe9ZB76DZ1dAd3OCeizAswW6Lo9uvfK8jhVS5nBhQ==",
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/apollo-env/-/apollo-env-0.6.2.tgz",
+ "integrity": "sha512-Vb/doL1ZbzkNDJCQ6kYGOrphRx63rMERYo3MT2pzm2pNEdm6AK60InMgJaeh3RLK3cjGllOXFAgP8IY+m+TaEg==",
"requires": {
- "@types/node-fetch": "2.5.4",
+ "@types/node-fetch": "2.5.5",
"core-js": "^3.0.1",
"node-fetch": "^2.2.0",
"sha.js": "^2.4.11"
}
},
"apollo-graphql": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.4.0.tgz",
- "integrity": "sha512-abCHcKln1EGbzSItW087EjBI5wnluikyUqEn4VsdeWHCtdENWpHCn/MnM0+jJa1prNasxN7tCukp4nMpJYYVqg==",
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.4.1.tgz",
+ "integrity": "sha512-dz2wtGeCqUDAKAj4KXLKLZiFY791aoXduul3KcLo8/6SwqWlsuZiPe0oB8mENHZZc/EchCpTMTJZX2ZENsOt2A==",
"requires": {
- "apollo-env": "^0.6.1",
+ "apollo-env": "^0.6.2",
"lodash.sortby": "^4.7.0"
}
},
@@ -396,12 +409,12 @@
}
},
"apollo-server": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-2.11.0.tgz",
- "integrity": "sha512-UhW6RHPBMWZy1v7KhzssUnxPBxpu9fGFajtqP68vtvvP3+xa2Y2GUg0594bHcUcLK+BjdMBQQSW27i0yQ/Fz9g==",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/apollo-server/-/apollo-server-2.12.0.tgz",
+ "integrity": "sha512-ETL2+/m2KSxCnVoSjE2bOWh6HV4i1RRQMu+vBDgNzZGSVqzxyWiHhCMoSx22/ow2ZchiBMTKsRN5wZxbahyEkg==",
"requires": {
- "apollo-server-core": "^2.11.0",
- "apollo-server-express": "^2.11.0",
+ "apollo-server-core": "^2.12.0",
+ "apollo-server-express": "^2.12.0",
"express": "^4.0.0",
"graphql-subscriptions": "^1.0.0",
"graphql-tools": "^4.0.0"
@@ -416,28 +429,29 @@
}
},
"apollo-server-core": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.11.0.tgz",
- "integrity": "sha512-jHLOqwTRlyWzqWNRlwr2M/xfrt+lw2pHtKYyxUGRjWFo8EM5TX1gDcTKtbtvx9p5m+ZBDAhcWp/rpq0vSz4tqg==",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-2.12.0.tgz",
+ "integrity": "sha512-BRVdOyZrRJ1ALlmis0vaOLIHHYu5K3UVKAQKIgHkRh/YY0Av4lpeEXr49ELK04LTeh0DG0pQ5YYYhaX1wFcDEw==",
"requires": {
"@apollographql/apollo-tools": "^0.4.3",
"@apollographql/graphql-playground-html": "1.6.24",
"@types/graphql-upload": "^8.0.0",
"@types/ws": "^6.0.0",
- "apollo-cache-control": "^0.9.0",
+ "apollo-cache-control": "^0.9.1",
"apollo-datasource": "^0.7.0",
- "apollo-engine-reporting": "^1.7.0",
+ "apollo-engine-reporting": "^1.7.1",
"apollo-server-caching": "^0.5.1",
"apollo-server-env": "^2.4.3",
- "apollo-server-errors": "^2.4.0",
- "apollo-server-plugin-base": "^0.7.0",
- "apollo-server-types": "^0.3.0",
- "apollo-tracing": "^0.9.0",
+ "apollo-server-errors": "^2.4.1",
+ "apollo-server-plugin-base": "^0.7.1",
+ "apollo-server-types": "^0.3.1",
+ "apollo-tracing": "^0.9.1",
"fast-json-stable-stringify": "^2.0.0",
- "graphql-extensions": "^0.11.0",
+ "graphql-extensions": "^0.11.1",
"graphql-tag": "^2.9.2",
"graphql-tools": "^4.0.0",
"graphql-upload": "^8.0.2",
+ "loglevel": "^1.6.7",
"sha.js": "^2.4.11",
"subscriptions-transport-ws": "^0.9.11",
"ws": "^6.0.0"
@@ -453,23 +467,23 @@
}
},
"apollo-server-errors": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.0.tgz",
- "integrity": "sha512-ZouZfr2sGavvI18rgdRcyY2ausRAlVtWNOax9zca8ZG2io86dM59jXBmUVSNlVZSmBsIh45YxYC0eRvr2vmRdg=="
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.4.1.tgz",
+ "integrity": "sha512-7oEd6pUxqyWYUbQ9TA8tM0NU/3aGtXSEibo6+txUkuHe7QaxfZ2wHRp+pfT1LC1K3RXYjKj61/C2xEO19s3Kdg=="
},
"apollo-server-express": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.11.0.tgz",
- "integrity": "sha512-9bbiD+zFAx+xyurc9lxYmNa9y79k/gsA1vEyPFVcv7jxzCFC5wc0tcbV7NPX2qi1Nn7K76fxo2fPNYbPFX/y0g==",
+ "version": "2.12.0",
+ "resolved": "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-2.12.0.tgz",
+ "integrity": "sha512-oTBKM2SsziCoFW+ta+ubJ/ypvsc+EWrbJnyZhJ5FBYzSXPstt/jvgZHgMO+kOQgHEHrbJwugNDUuLMSm608L7A==",
"requires": {
"@apollographql/graphql-playground-html": "1.6.24",
"@types/accepts": "^1.3.5",
"@types/body-parser": "1.19.0",
"@types/cors": "^2.8.4",
- "@types/express": "4.17.2",
+ "@types/express": "4.17.3",
"accepts": "^1.3.5",
- "apollo-server-core": "^2.11.0",
- "apollo-server-types": "^0.3.0",
+ "apollo-server-core": "^2.12.0",
+ "apollo-server-types": "^0.3.1",
"body-parser": "^1.18.3",
"cors": "^2.8.4",
"express": "^4.17.1",
@@ -481,9 +495,9 @@
},
"dependencies": {
"@types/express": {
- "version": "4.17.2",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.2.tgz",
- "integrity": "sha512-5mHFNyavtLoJmnusB8OKJ5bshSzw+qkMIBAobLrIM48HJvunFva9mOa6aBwh64lBFyNwBbs0xiEFuj4eU/NjCA==",
+ "version": "4.17.3",
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz",
+ "integrity": "sha512-I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==",
"requires": {
"@types/body-parser": "*",
"@types/express-serve-static-core": "*",
@@ -493,17 +507,17 @@
}
},
"apollo-server-plugin-base": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.7.0.tgz",
- "integrity": "sha512-//xgYrBYLQSr92W0z3mYsFGoVz3wxKNsv3KcOUBhbOCGTbjZgP7vHOE1vhHhRcpZKKXmjXTVONdrnNJ+XVGi6A==",
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-plugin-base/-/apollo-server-plugin-base-0.7.1.tgz",
+ "integrity": "sha512-PRavvoWq7/Xufqc+qkDQg3Aqueq4QrPBFfoCFIjhkJ4n2d2YoqE3gTGccb8YoWusfa62ASMn6R47OdNuVtEbXw==",
"requires": {
- "apollo-server-types": "^0.3.0"
+ "apollo-server-types": "^0.3.1"
}
},
"apollo-server-types": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.3.0.tgz",
- "integrity": "sha512-FMo7kbTkhph9dfIQ3xDbRLObqmdQH9mwSjxhGsX+JxGMRPPXgd3+GZvCeVKOi/udxh//w1otSeAqItjvbj0tfQ==",
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/apollo-server-types/-/apollo-server-types-0.3.1.tgz",
+ "integrity": "sha512-6nX5VC3icOGf1RZIs7/SYQZff+Cl16LQu1FHUOIk9gAMN2XjlRCyJgCeMj5YHJzQ8Mhg4BO0weWuydEg+JxLzg==",
"requires": {
"apollo-engine-reporting-protobuf": "^0.4.4",
"apollo-server-caching": "^0.5.1",
@@ -511,12 +525,12 @@
}
},
"apollo-tracing": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.9.0.tgz",
- "integrity": "sha512-oqspTrf4BLGbKkIk1vF+I31C2v7PPJmF36TFpT/+zJxNvJw54ji4ZMhtytgVqbVldQEintJmdHQIidYBGKmu+g==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/apollo-tracing/-/apollo-tracing-0.9.1.tgz",
+ "integrity": "sha512-4wVNM6rc70XhwWxuDWrMBLaHA8NjB9pUS2sNpddQvP36ZtQfsa08XLSUxGAZT+bej+TzW26hKNtuO31RgqC9Hg==",
"requires": {
"apollo-server-env": "^2.4.3",
- "graphql-extensions": "^0.11.0"
+ "graphql-extensions": "^0.11.1"
}
},
"apollo-utilities": {
@@ -548,6 +562,11 @@
"retry": "0.12.0"
}
},
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
"axios": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
@@ -751,6 +770,14 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -946,6 +973,11 @@
"object-keys": "^1.0.12"
}
},
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
"denque": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
@@ -1005,9 +1037,9 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"es-abstract": {
- "version": "1.17.4",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
- "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
"requires": {
"es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
@@ -1180,6 +1212,16 @@
}
}
},
+ "form-data": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.0.tgz",
+ "integrity": "sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@@ -1262,13 +1304,13 @@
"integrity": "sha512-ZyVO1xIF9F+4cxfkdhOJINM+51B06Friuv4M66W7HzUOeFd+vNzUn4vtswYINPi6sysjf1M2Ri/rwZALqgwbaQ=="
},
"graphql-extensions": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.11.0.tgz",
- "integrity": "sha512-zd4qfUiJoYBx2MwJusM36SEJ+YmJ1ki8YF8nlm9mgaPDUzsnmFq4lxULxUfhLAXFwZw7MbEN2vV4V6WiNgSJLg==",
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/graphql-extensions/-/graphql-extensions-0.11.1.tgz",
+ "integrity": "sha512-1bstq6YKaC579PTw9gchw2VlXqjPo3vn8NjRMaUqF2SxyYTjVSgXaCAbaeNa0B7xlLVigxi3DV1zh4A+ss+Lwg==",
"requires": {
"@apollographql/apollo-tools": "^0.4.3",
"apollo-server-env": "^2.4.3",
- "apollo-server-types": "^0.3.0"
+ "apollo-server-types": "^0.3.1"
}
},
"graphql-subscriptions": {
@@ -1512,9 +1554,9 @@
"dev": true
},
"iterall": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.2.2.tgz",
- "integrity": "sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA=="
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz",
+ "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg=="
},
"kareem": {
"version": "2.3.1",
@@ -1550,6 +1592,11 @@
"resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg="
},
+ "loglevel": {
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz",
+ "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A=="
+ },
"long": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
@@ -2267,22 +2314,42 @@
"strip-ansi": "^4.0.0"
}
},
- "string.prototype.trimleft": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
- "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
+ "string.prototype.trimend": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.0.tgz",
+ "integrity": "sha512-EEJnGqa/xNfIg05SxiPSqRS7S9qwDhYts1TSLR1BQfYUfPe1stofgGKvwERK9+9yf+PpfBMlpBaCHucXGPQfUA==",
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
}
},
"string.prototype.trimright": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
- "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
"requires": {
"define-properties": "^1.1.3",
- "function-bind": "^1.1.1"
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.0.tgz",
+ "integrity": "sha512-iCP8g01NFYiiBOnwG1Xc3WZLyoo+RuBymwIlWncShXDDJYWN6DbnM3odslBJdgCdRlq94B5s63NWAZlcn2CS4w==",
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
}
},
"string_decoder": {
diff --git a/package.json b/package.json
index 63cf696f8..75e69a6ba 100644
--- a/package.json
+++ b/package.json
@@ -15,8 +15,8 @@
"author": "Sendou",
"license": "ISC",
"dependencies": {
- "apollo-server": "^2.11.0",
- "apollo-server-express": "^2.11.0",
+ "apollo-server": "^2.12.0",
+ "apollo-server-express": "^2.12.0",
"axios": "^0.19.2",
"btoa": "^1.2.1",
"connect-mongo": "^3.2.0",