Skip to content

Commit e7a602f

Browse files
committed
add editor migration
1 parent 67f60e6 commit e7a602f

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

packages/graphql-playground/src/components/MiddlewareApp.tsx

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import OldThemeProvider from './Theme/ThemeProvider'
1212
import { getActiveEndpoints } from './util'
1313
import PlaygroundStorage from './PlaygroundStorage'
1414
import { resolveEnvsInValues } from './resolveRefStrings'
15+
import { mapKeys } from 'lodash'
1516

1617
const store = createStore()
1718

@@ -75,7 +76,8 @@ class MiddlewareApp extends React.Component<Props, State> {
7576
constructor(props: Props) {
7677
super(props)
7778

78-
const settings = localStorage.getItem('settings') || defaultSettings
79+
let settings = localStorage.getItem('settings') || defaultSettings
80+
settings = this.migrateSettingsString(settings)
7981

8082
let config
8183
let configIsYaml
@@ -119,6 +121,27 @@ class MiddlewareApp extends React.Component<Props, State> {
119121
}
120122
}
121123

124+
migrateSettingsString(settingsString) {
125+
const replacementMap = {
126+
theme: 'editor.theme',
127+
reuseHeaders: 'editor.reuseHeaders',
128+
}
129+
try {
130+
const settings = JSON.parse(settingsString)
131+
return JSON.stringify(
132+
mapKeys(settings, (value, key) => {
133+
return replacementMap[key] || key
134+
}),
135+
null,
136+
2,
137+
)
138+
} catch (e) {
139+
//
140+
}
141+
142+
return settingsString
143+
}
144+
122145
componentWillReceiveProps(nextProps: Props) {
123146
if (
124147
nextProps.configString !== this.props.configString &&

0 commit comments

Comments
 (0)