From 57fa6067bf47183edf028a1f0057004a136ec961 Mon Sep 17 00:00:00 2001 From: suanmei Date: Fri, 8 May 2020 17:52:37 +0800 Subject: [PATCH] feat: json-schema-editor --- .eslintrc.js | 7 - packages/builder/README.md | 11 - packages/builder/src/index.tsx | 30 -- packages/builder/types/editor.d.ts | 1 - packages/core/package.json | 2 +- .../{prepublishOnly.js => prepublish.js} | 0 packages/core/src/components/schema-form.tsx | 17 +- packages/core/src/components/setting.tsx | 9 +- packages/core/src/data/cells.ts | 59 ++-- .../{builder => json-schema-editor}/.babelrc | 0 .../.npmignore | 0 packages/json-schema-editor/README.md | 11 + .../package-lock.json | 284 +++++++++++++++--- .../package.json | 21 +- .../rollup.config.js | 0 .../scripts/prepublish.js} | 2 +- packages/json-schema-editor/src/ace/index.tsx | 0 packages/json-schema-editor/src/i18n/index.ts | 20 ++ .../src/i18n/translations/en.json | 3 + .../src/i18n/translations/zh.json | 3 + packages/json-schema-editor/src/index.tsx | 18 ++ .../tsconfig.json | 0 tsconfig.json | 1 + 23 files changed, 350 insertions(+), 149 deletions(-) delete mode 100644 packages/builder/README.md delete mode 100644 packages/builder/src/index.tsx delete mode 100644 packages/builder/types/editor.d.ts rename packages/core/scripts/{prepublishOnly.js => prepublish.js} (100%) rename packages/{builder => json-schema-editor}/.babelrc (100%) rename packages/{builder => json-schema-editor}/.npmignore (100%) create mode 100644 packages/json-schema-editor/README.md rename packages/{builder => json-schema-editor}/package-lock.json (91%) rename packages/{builder => json-schema-editor}/package.json (70%) rename packages/{builder => json-schema-editor}/rollup.config.js (100%) rename packages/{builder/scripts/prepublishOnly.js => json-schema-editor/scripts/prepublish.js} (61%) create mode 100644 packages/json-schema-editor/src/ace/index.tsx create mode 100644 packages/json-schema-editor/src/i18n/index.ts create mode 100644 packages/json-schema-editor/src/i18n/translations/en.json create mode 100644 packages/json-schema-editor/src/i18n/translations/zh.json create mode 100644 packages/json-schema-editor/src/index.tsx rename packages/{builder => json-schema-editor}/tsconfig.json (100%) diff --git a/.eslintrc.js b/.eslintrc.js index 28cf5a9..411d18e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -18,13 +18,6 @@ module.exports = { // 修复 tsx 文件引用 tsx 文件报错的问题 'react/jsx-filename-extension': ['error', { extensions: ['.ts', '.tsx'] }], 'unicorn/prevent-abbreviations': 'off', - 'unicorn/filename-case': [ - 'off', - { - case: 'pascalCase', - ignore: [/prepublish/i], - }, - ], }, overrides: [ { diff --git a/packages/builder/README.md b/packages/builder/README.md deleted file mode 100644 index 7f3a658..0000000 --- a/packages/builder/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# `builder` - -> TODO: description - -## Usage - -``` -const builder = require('builder'); - -// TODO: DEMONSTRATE API -``` diff --git a/packages/builder/src/index.tsx b/packages/builder/src/index.tsx deleted file mode 100644 index 2a21686..0000000 --- a/packages/builder/src/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from 'react'; -import { Form, Input } from 'antd'; -import schemaEditor from 'json-schema-editor-visual'; - -const SchemaEditor = schemaEditor({}); - -const { Item } = Form; - -const Builder: React.FC<{}> = () => { - const labelCol = { span: 7 }; - - return ( -
-
- - - - - - - - - - {/* */} - -
- ); -}; - -export default Builder; diff --git a/packages/builder/types/editor.d.ts b/packages/builder/types/editor.d.ts deleted file mode 100644 index 7b4cf26..0000000 --- a/packages/builder/types/editor.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'json-schema-editor-visual'; diff --git a/packages/core/package.json b/packages/core/package.json index b4dc872..e6c787e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -27,7 +27,7 @@ "url": "git+https://github.com/suanmei/iMove.git" }, "scripts": { - "prepublishOnly": "node scripts/prepublishOnly.js", + "prepublishOnly": "node scripts/prepublish.js", "declare-type": "tsc --emitDeclarationOnly", "build": "rollup -c & npm run declare-type", "watch": "watch 'npm run build' ./src" diff --git a/packages/core/scripts/prepublishOnly.js b/packages/core/scripts/prepublish.js similarity index 100% rename from packages/core/scripts/prepublishOnly.js rename to packages/core/scripts/prepublish.js diff --git a/packages/core/src/components/schema-form.tsx b/packages/core/src/components/schema-form.tsx index 512887e..9eedd96 100644 --- a/packages/core/src/components/schema-form.tsx +++ b/packages/core/src/components/schema-form.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; import { Form, Input, InputNumber } from 'antd'; +import 'antd/lib/input-number/style'; const { Item } = Form; @@ -26,13 +27,19 @@ class SchemaForm extends React.Component { changeValue = (e: React.ChangeEvent, key: string): void => { const { data } = this.state; const value = e.target.value.trim(); - data[key] = value; + if (!data.input) { + data.input = {}; + } + data.input[key] = value; this.setState({ data }); }; changeNumValue = (value: number | undefined, key: string): void => { const { data } = this.state; - data[key] = value; + if (!data.input) { + data.input = {}; + } + data.input[key] = value; this.setState({ data }); }; @@ -45,7 +52,11 @@ class SchemaForm extends React.Component { return (
{Object.keys(properties).map((key) => ( - + {properties[key].type === 'string' ? ( { diff --git a/packages/core/src/components/setting.tsx b/packages/core/src/components/setting.tsx index 925a4d7..40ad307 100644 --- a/packages/core/src/components/setting.tsx +++ b/packages/core/src/components/setting.tsx @@ -128,7 +128,7 @@ class Setting extends Component { */} - {cell.data && cell.data.schema && ( + {cell.data && cell.data.schema && Object.keys(cell.data.schema.properties).length && ( @@ -138,13 +138,16 @@ class Setting extends Component { labelCol={labelCol} initialValues={{ event: cell.data && cell.data.data && cell.data.data.contextKey }} > - + { if (!cell.data.data) { cell.data.data = {}; } - cell.data.data.contextKey = e.target.value.trim(); + if (!cell.data.data.output) { + cell.data.data.output = {}; + } + cell.data.data.output.contextKey = e.target.value.trim(); graph.setCellData(cell, cell.data); }} /> diff --git a/packages/core/src/data/cells.ts b/packages/core/src/data/cells.ts index bae9603..5c24e99 100644 --- a/packages/core/src/data/cells.ts +++ b/packages/core/src/data/cells.ts @@ -36,46 +36,33 @@ export const generals: DataItem[] = [ }, ]; -export const gists: DataItem[] = [ - { - label: '查询库存', - type: 'action', - style: { - width: 48, - height: 30, - scale: 2, - }, - data: { - code: '', - dependencies: [], - }, - schema: { - type: 'object', - properties: { - activity: { - type: 'string', - title: 'activity', - }, - initAmount: { - type: 'string', - title: 'initAmount', - }, - }, - required: ['initAmount', 'activity'], - title: '参数', - }, - }, - { - label: '判断是否登录', - type: 'decision', +const items: any = []; + +new Array(localStorage.length).fill(1).forEach((val, index) => { + const item = localStorage.key(index); + if (item && item?.startsWith('cell')) { + let data: any = localStorage.getItem(item); + if (data) { + data = JSON.parse(data); + (data as any).type = data.type.toLowerCase(); + items.push(data); + } + } +}); + +export const gists: DataItem[] = items.map((item: any) => { + return { + label: item.label, + type: item.type, style: { width: 48, height: 30, scale: 2, }, data: { - code: '', - dependencies: [], + code: item.code, + dependencies: [{ '@ali/rax-base': '^2.1.9' }], }, - }, -]; + schema: item.schema, + }; +}); diff --git a/packages/builder/.babelrc b/packages/json-schema-editor/.babelrc similarity index 100% rename from packages/builder/.babelrc rename to packages/json-schema-editor/.babelrc diff --git a/packages/builder/.npmignore b/packages/json-schema-editor/.npmignore similarity index 100% rename from packages/builder/.npmignore rename to packages/json-schema-editor/.npmignore diff --git a/packages/json-schema-editor/README.md b/packages/json-schema-editor/README.md new file mode 100644 index 0000000..c1b6ad4 --- /dev/null +++ b/packages/json-schema-editor/README.md @@ -0,0 +1,11 @@ +# `json-schema-editor` + +> TODO: description + +## Usage + +``` +const schemaEditor = require('@imove/json-schema-editor'); + +// TODO: DEMONSTRATE API +``` diff --git a/packages/builder/package-lock.json b/packages/json-schema-editor/package-lock.json similarity index 91% rename from packages/builder/package-lock.json rename to packages/json-schema-editor/package-lock.json index cbfbb94..3f510ec 100644 --- a/packages/builder/package-lock.json +++ b/packages/json-schema-editor/package-lock.json @@ -1,5 +1,5 @@ { - "name": "@imove/builder", + "name": "@imove/json-schema-editor", "version": "0.2.1", "lockfileVersion": 1, "requires": true, @@ -8,6 +8,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz", "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==", + "dev": true, "requires": { "tinycolor2": "^1.4.1" } @@ -16,6 +17,7 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/@ant-design/create-react-context/-/create-react-context-0.2.5.tgz", "integrity": "sha512-1rMAa4qgP2lfl/QBH9i78+Gjxtj9FTMpMyDGZsEBW5Kih72EuUo9958mV8PgpRkh4uwPSQ7vVZWXeyNZXVAFDg==", + "dev": true, "requires": { "gud": "^1.0.0", "warning": "^4.0.3" @@ -38,6 +40,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/@ant-design/icons-react/-/icons-react-2.0.1.tgz", "integrity": "sha512-r1QfoltMuruJZqdiKcbPim3d8LNsVPB733U0gZEUSxBLuqilwsW28K2rCTWSMTjmFX7Mfpf+v/wdiFe/XCqThw==", + "dev": true, "requires": { "@ant-design/colors": "^3.1.0", "babel-runtime": "^6.26.0" @@ -257,17 +260,28 @@ "@types/prop-types": { "version": "15.7.3", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", - "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==" + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", + "dev": true }, "@types/react": { "version": "16.9.34", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.34.tgz", "integrity": "sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow==", + "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^2.2.0" } }, + "@types/react-dom": { + "version": "16.9.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.7.tgz", + "integrity": "sha512-GHTYhM8/OwUCf254WO5xqR/aqD3gC9kSTLpopWGpQLpnw23jk44RvMHsyUSEplvRJZdHxhJGMMLF0kCPYHPhQA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, "@types/react-lifecycles-compat": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@types/react-lifecycles-compat/-/react-lifecycles-compat-3.0.1.tgz", @@ -281,6 +295,7 @@ "version": "0.23.4", "resolved": "https://registry.npmjs.org/@types/react-slick/-/react-slick-0.23.4.tgz", "integrity": "sha512-vXoIy4GUfB7/YgqubR4H7RALo+pRdMYCeLgWwV3MPwl5pggTlEkFBTF19R7u+LJc85uMqC7RfsbkqPLMQ4ab+A==", + "dev": true, "requires": { "@types/react": "*" } @@ -295,6 +310,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "dev": true, "requires": { "object-assign": "4.x" } @@ -363,12 +379,14 @@ "array-tree-filter": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", - "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==", + "dev": true }, "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "async-validator": { "version": "3.2.4", @@ -415,6 +433,7 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "^2.4.0", "regenerator-runtime": "^0.11.0" @@ -423,7 +442,8 @@ "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true } } }, @@ -431,6 +451,7 @@ "version": "0.10.0", "resolved": "https://registry.npmjs.org/brace/-/brace-0.10.0.tgz", "integrity": "sha1-7e9OubCSi6HuX3F//BV3SabdXXY=", + "dev": true, "requires": { "w3c-blob": "0.0.1" } @@ -455,7 +476,8 @@ "classnames": { "version": "2.2.6", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==", + "dev": true }, "color-convert": { "version": "1.9.3", @@ -475,12 +497,14 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "component-classes": { "version": "1.2.6", "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", + "dev": true, "requires": { "component-indexof": "0.0.3" } @@ -488,7 +512,8 @@ "component-indexof": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", - "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" + "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=", + "dev": true }, "compute-scroll-into-view": { "version": "1.0.13", @@ -509,6 +534,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz", "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==", + "dev": true, "requires": { "toggle-selection": "^1.0.6" } @@ -516,7 +542,8 @@ "core-js": { "version": "2.6.11", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true }, "cosmiconfig": { "version": "6.0.0", @@ -535,6 +562,7 @@ "version": "15.6.3", "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.3.tgz", "integrity": "sha512-M+/3Q6E6DLO6Yx3OwrWjwHBnvfXXYA7W+dFjt/ZDBemHO1DDZhsalX/NUtnTYclN6GfnBDRh4qRHjcDHmlJBJg==", + "dev": true, "requires": { "fbjs": "^0.8.9", "loose-envify": "^1.3.1", @@ -545,6 +573,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.6.1.tgz", "integrity": "sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==", + "dev": true, "requires": { "babel-runtime": "6.x", "component-classes": "^1.2.5" @@ -553,17 +582,20 @@ "csstype": { "version": "2.6.10", "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", - "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==" + "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==", + "dev": true }, "dom-align": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.11.1.tgz", - "integrity": "sha512-hN42DmUgtweBx0iBjDLO4WtKOMcK8yBmPx/fgdsgQadLuzPu/8co3oLdK5yMmeM/vnUd3yDyV6qV8/NzxBexQg==" + "integrity": "sha512-hN42DmUgtweBx0iBjDLO4WtKOMcK8yBmPx/fgdsgQadLuzPu/8co3oLdK5yMmeM/vnUd3yDyV6qV8/NzxBexQg==", + "dev": true }, "dom-closest": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz", "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=", + "dev": true, "requires": { "dom-matches": ">=1.0.1" } @@ -571,17 +603,20 @@ "dom-matches": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz", - "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=" + "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=", + "dev": true }, "dom-scroll-into-view": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz", - "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4=" + "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4=", + "dev": true }, "draft-js": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz", "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==", + "dev": true, "requires": { "fbjs": "^0.8.15", "immutable": "~3.7.4", @@ -592,6 +627,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "~0.4.13" } @@ -599,7 +635,8 @@ "enquire.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", - "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" + "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=", + "dev": true }, "error-ex": { "version": "1.3.2", @@ -619,7 +656,8 @@ "eventlistener": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz", - "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg=" + "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg=", + "dev": true }, "exec-sh": { "version": "0.2.2", @@ -634,6 +672,7 @@ "version": "0.8.17", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", + "dev": true, "requires": { "core-js": "^1.0.0", "isomorphic-fetch": "^2.1.1", @@ -647,7 +686,8 @@ "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true } } }, @@ -661,6 +701,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/flux-standard-action/-/flux-standard-action-2.1.1.tgz", "integrity": "sha512-W86GzmXmIiTVq/dpYVd2HtTIUX9c35Iq3ao3xR6qcKtuXgbu+BDEj72op5VnEIe/kpuSbhl+I8kT1iS2hpcusw==", + "dev": true, "requires": { "lodash": "^4.17.15" } @@ -676,6 +717,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/generate-schema/-/generate-schema-2.6.0.tgz", "integrity": "sha512-EUBKfJNzT8f91xUk5X5gKtnbdejZeE065UAJ3BCzE8VEbvwKI9Pm5jaWmqVeK1MYc1g5weAVFDTSJzN7ymtTqA==", + "dev": true, "requires": { "commander": "^2.9.0", "type-of-is": "^3.4.0" @@ -684,12 +726,14 @@ "gud": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", - "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==", + "dev": true }, "hammerjs": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", - "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" + "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=", + "dev": true }, "has-flag": { "version": "3.0.0", @@ -701,14 +745,32 @@ "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dev": true, "requires": { "react-is": "^16.7.0" } }, + "html-parse-stringify2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz", + "integrity": "sha1-3FZwtyksoVi3vJFsmmc1rIhyg0o=", + "requires": { + "void-elements": "^2.0.1" + } + }, + "i18next": { + "version": "19.4.4", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.4.4.tgz", + "integrity": "sha512-ofaHtdsDdX3A5nYur1HWblB7J4hIcjr2ACdnwTAJgc8hTfPbyzZfGX0hVkKpI3vzDIgO6Uzc4v1ffW2W6gG6zw==", + "requires": { + "@babel/runtime": "^7.3.1" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, "requires": { "safer-buffer": ">= 2.1.2 < 3" } @@ -716,12 +778,14 @@ "immer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/immer/-/immer-1.12.1.tgz", - "integrity": "sha512-3fmKM6ovaqDt0CdC9daXpNi5x/YCYS3i4cwLdTVkhJdk5jrDXoPs7lCm3IqM3yhfSnz4tjjxbRG2CziQ7m8ztg==" + "integrity": "sha512-3fmKM6ovaqDt0CdC9daXpNi5x/YCYS3i4cwLdTVkhJdk5jrDXoPs7lCm3IqM3yhfSnz4tjjxbRG2CziQ7m8ztg==", + "dev": true }, "immutable": { "version": "3.7.6", "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", - "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=", + "dev": true }, "import-fresh": { "version": "3.2.1", @@ -743,6 +807,7 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -756,17 +821,20 @@ "is-mobile": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.1.tgz", - "integrity": "sha512-6zELsfVFr326eq2CI53yvqq6YBanOxKBybwDT+MbMS2laBnK6Ez8m5XHSuTQQbnKRfpDzCod1CMWW5q3wZYMvA==" + "integrity": "sha512-6zELsfVFr326eq2CI53yvqq6YBanOxKBybwDT+MbMS2laBnK6Ez8m5XHSuTQQbnKRfpDzCod1CMWW5q3wZYMvA==", + "dev": true }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "isomorphic-fetch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, "requires": { "node-fetch": "^1.0.1", "whatwg-fetch": ">=0.10.0" @@ -775,7 +843,8 @@ "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -787,6 +856,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/json-schema-editor-visual/-/json-schema-editor-visual-1.1.1.tgz", "integrity": "sha512-Zaji4E1Vt5GvVLRhErF/le0t9xWDnuwLNWhFwMZa/2gYpoWjzt0HPQrizmVaY/Zq4Mtk9mHDYpjME3FANDg74w==", + "dev": true, "requires": { "antd": "^3.1.6", "brace": "^0.10.0", @@ -799,12 +869,14 @@ "@ant-design/icons": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-2.1.1.tgz", - "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w==" + "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w==", + "dev": true }, "antd": { "version": "3.26.16", "resolved": "https://registry.npmjs.org/antd/-/antd-3.26.16.tgz", "integrity": "sha512-EYRwlEf8FCPCVRk5yDcgjSZOC0exu+m75SwlSQU+Mh17f9wGhLeL2/DV7/Sra1r+BZlfiahFdkgrLY7UgMMBEQ==", + "dev": true, "requires": { "@ant-design/create-react-context": "^0.2.4", "@ant-design/icons": "~2.1.1", @@ -865,12 +937,14 @@ "hoist-non-react-statics": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", + "dev": true }, "mini-store": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-2.0.0.tgz", "integrity": "sha512-EG0CuwpQmX+XL4QVS0kxNwHW5ftSbhygu1qxQH0pipugjnPkbvkalCdQbEihMwtQY6d3MTN+MS0q+aurs+RfLQ==", + "dev": true, "requires": { "hoist-non-react-statics": "^2.3.1", "prop-types": "^15.6.0", @@ -882,6 +956,7 @@ "version": "2.4.5", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "dom-align": "^1.7.0", @@ -893,6 +968,7 @@ "version": "0.17.5", "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-0.17.5.tgz", "integrity": "sha512-WYMVcxU0+Lj+xLr4YYH0+yXODumvNXDcVEs5i7L1mtpWwYkubPV/zbQpn+jGKFCIW/hOhjkU4J1db8/P/UKE7A==", + "dev": true, "requires": { "array-tree-filter": "^2.1.0", "prop-types": "^15.5.8", @@ -907,6 +983,7 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.1.8.tgz", "integrity": "sha512-6qOgh0/by0nVNASx6LZnhRTy17Etcgav+IrI7kL9V9kcDZ/g7K14JFlqrtJ3NjDq/Kyn+BPI1st1XvbkhfaJeg==", + "dev": true, "requires": { "babel-runtime": "^6.23.0", "classnames": "2.x", @@ -918,6 +995,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-2.4.1.tgz", "integrity": "sha512-p0XYn0wrOpAZ2fUGE6YJ6U8JBNc5ASijznZ6dkojdaEfQJAeZtV9KMEewhxkVlxGSbbdXe10ptjBlTEW9vEwEg==", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "classnames": "^2.2.6", @@ -930,6 +1008,7 @@ "version": "0.4.2", "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-0.4.2.tgz", "integrity": "sha512-DTZurQzacLXOfVuiHydGzqkq7cFMHXF18l2jZ9PhWUn2cqvOSY3W4osN0Pq29AOMOBpcxdZCzgc7Lb0r/bgkDw==", + "dev": true, "requires": { "@ant-design/create-react-context": "^0.2.4", "classnames": "^2.2.6", @@ -943,6 +1022,7 @@ "version": "7.5.5", "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-7.5.5.tgz", "integrity": "sha512-4YJXJgrpUGEA1rMftXN7bDhrV5rPB8oBJoHqT+GVXtIWCanfQxEnM3fmhHQhatL59JoAFMZhJaNzhJIk4FUWCQ==", + "dev": true, "requires": { "classnames": "2.x", "dom-scroll-into-view": "1.x", @@ -959,6 +1039,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-3.3.1.tgz", "integrity": "sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "2.x", @@ -971,6 +1052,7 @@ "version": "1.20.14", "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-1.20.14.tgz", "integrity": "sha512-sNKwbFrxiqATqcIIShfrFs8BT03n4UUwTAMYae+JhHTmILQmXdvimEnZbVuWcno6G02DAJcLrFpmkn1h2tmEJw==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -982,6 +1064,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/rc-resize-observer/-/rc-resize-observer-0.1.3.tgz", "integrity": "sha512-uzOQEwx83xdQSFOkOAM7x7GHIQKYnrDV4dWxtCxyG1BS1pkfJ4EvDeMfsvAJHSYkQXVBu+sgRHGbRtLG3qiuUg==", + "dev": true, "requires": { "classnames": "^2.2.1", "rc-util": "^4.13.0", @@ -992,6 +1075,7 @@ "version": "9.2.3", "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-9.2.3.tgz", "integrity": "sha512-WhswxOMWiNnkXRbxyrj0kiIvyCfo/BaRPaYbsDetSIAU2yEDwKHF798blCP5u86KLOBKBvtxWLFCkSsQw1so5w==", + "dev": true, "requires": { "babel-runtime": "^6.23.0", "classnames": "2.x", @@ -1011,6 +1095,7 @@ "version": "8.7.1", "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.7.1.tgz", "integrity": "sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.5", @@ -1026,6 +1111,7 @@ "version": "6.10.15", "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-6.10.15.tgz", "integrity": "sha512-LAr0M/gqt+irOjvPNBLApmQ0CUHNOfKsEBhu1uIuB3OlN1ynA9z+sdoTQyNd9+8NSl0MYnQOOfhtLChAY7nU0A==", + "dev": true, "requires": { "classnames": "^2.2.5", "component-classes": "^1.2.6", @@ -1041,6 +1127,7 @@ "version": "9.7.0", "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-9.7.0.tgz", "integrity": "sha512-kvmgp8/MfLzFZ06hWHignqomFQ5nF7BqKr5O1FfhE4VKsGrep52YSF/1MvS5oe0NPcI9XGNS2p751C5v6cYDpQ==", + "dev": true, "requires": { "@ant-design/create-react-context": "^0.2.4", "babel-runtime": "6.x", @@ -1059,6 +1146,7 @@ "version": "3.7.3", "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.3.tgz", "integrity": "sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==", + "dev": true, "requires": { "babel-runtime": "6.x", "prop-types": "^15.5.8", @@ -1069,6 +1157,7 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-2.1.4.tgz", "integrity": "sha512-Xey794Iavgs8YldFlXcZLOhfcIhlX5Oz/yfKufknBXf2AlZCOkc7aHqSM9uTF7fBPtTGPhPxNEfOqHfY7b7xng==", + "dev": true, "requires": { "@ant-design/create-react-context": "^0.2.4", "classnames": "2.x", @@ -1083,6 +1172,7 @@ "version": "2.9.4", "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-2.9.4.tgz", "integrity": "sha512-0HQkXAN4XbfBW20CZYh3G+V+VMrjX42XRtDCpyv6PDUm5vikC0Ob682ZBCVS97Ww2a5Hf6Ajmu0ahWEdIEpwhg==", + "dev": true, "requires": { "classnames": "^2.2.1", "dom-scroll-into-view": "^1.2.1", @@ -1101,6 +1191,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-3.0.0.tgz", "integrity": "sha512-hQxbbJpo23E2QnYczfq3Ec5J5tVl2mUDhkqxrEsQAqk16HfADQg+iKNWzEYXyERSncdxfnzYuaBgy764mNRzTA==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -1115,6 +1206,7 @@ "version": "3.0.0-rc.6", "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.0.0-rc.6.tgz", "integrity": "sha512-oBLPpiT6Q4t6YvD/pkLcmofBP1p01TX0Otse8Q4+Mxt8J+VSDflLZGIgf62EwkvRwsQUkLPjZVFBsldnPKLzjg==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.5", @@ -1134,6 +1226,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -1148,6 +1241,7 @@ "version": "2.9.4", "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-2.9.4.tgz", "integrity": "sha512-WXt0HGxXyzLrPV6iec/96Rbl/6dyrAW8pKuY6wwD7yFYwfU5bjgKjv7vC8KNMJ6wzitFrZjnoiogNL3dF9dj3Q==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.5", @@ -1161,6 +1255,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "dev": true, "requires": { "string-convert": "^0.2.0" } @@ -1174,27 +1269,32 @@ "lodash": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true }, "lodash-es": { "version": "4.17.15", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz", - "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==" + "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ==", + "dev": true }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true }, "lodash.throttle": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", + "dev": true }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -1230,12 +1330,20 @@ "moment": { "version": "2.24.0", "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" + "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==", + "dev": true + }, + "monaco-editor": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.20.0.tgz", + "integrity": "sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ==", + "dev": true }, "moox": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/moox/-/moox-1.0.8.tgz", "integrity": "sha512-ZS8iwNShp1BcVhjeoObet6GCo3HdemIjIWu625whsixmZY/8qlKmctUi6PQmELpPnh96uidVhkWVrTHNY6xdkQ==", + "dev": true, "requires": { "flux-standard-action": "^2.0.1", "immer": "^1.0.0", @@ -1245,12 +1353,14 @@ "mutationobserver-shim": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.5.tgz", - "integrity": "sha512-YAMuSp4Oi19SYQF04dGnRajyFp4Wyam+jKKWzm5roPcNh1Rip8dnHPxls5F/xBgY0H2gV+3IzWuIvYQPDAvmBQ==" + "integrity": "sha512-YAMuSp4Oi19SYQF04dGnRajyFp4Wyam+jKKWzm5roPcNh1Rip8dnHPxls5F/xBgY0H2gV+3IzWuIvYQPDAvmBQ==", + "dev": true }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, "requires": { "encoding": "^0.1.11", "is-stream": "^1.0.1" @@ -1259,12 +1369,14 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "omit.js": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz", "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==", + "dev": true, "requires": { "babel-runtime": "^6.23.0" } @@ -1305,12 +1417,14 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true }, "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "requires": { "asap": "~2.0.3" } @@ -1319,6 +1433,7 @@ "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -1329,6 +1444,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dev": true, "requires": { "performance-now": "^2.1.0" } @@ -1349,6 +1465,7 @@ "version": "2.11.1", "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.11.1.tgz", "integrity": "sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -1363,6 +1480,7 @@ "version": "9.15.10", "resolved": "https://registry.npmjs.org/rc-calendar/-/rc-calendar-9.15.10.tgz", "integrity": "sha512-xh1A3rYejKskAvkjnd9BcHXFbBnAYsHMGHBdtoAkbwp43B6yEieNL0g0Tzz8s1gApDZV2j5vF1jJ9IIpPYFNLw==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "2.x", @@ -1377,6 +1495,7 @@ "version": "2.4.5", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "dom-align": "^1.7.0", @@ -1388,6 +1507,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -1426,6 +1546,7 @@ "version": "1.11.8", "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.11.8.tgz", "integrity": "sha512-8EhfPyScTYljkbRuIoHniSwZagD5UPpZ3CToYgoNYWC85L2qCbPYF7+OaC713FOrIkp6NbfNqXsITNxmDAmxog==", + "dev": true, "requires": { "classnames": "2.x", "css-animation": "1.x", @@ -1440,6 +1561,7 @@ "version": "7.6.1", "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-7.6.1.tgz", "integrity": "sha512-KUKf+2eZ4YL+lnXMG3hR4ZtIhC9glfH27NtTVz3gcoDIPAf3uUvaXVRNoDCiSi+OGKLyIb/b6EoidFh6nQC5Wg==", + "dev": true, "requires": { "babel-runtime": "6.x", "rc-animate": "2.x", @@ -1450,6 +1572,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-3.1.3.tgz", "integrity": "sha512-2z+RdxmzXyZde/1OhVMfDR1e/GBswFeWSZ7FS3Fdd0qhgVdpV1wSzILzzxRaT481ItB5hOV+e8pZT07vdJE8kg==", + "dev": true, "requires": { "classnames": "^2.2.6", "rc-util": "^4.16.1", @@ -1471,6 +1594,7 @@ "version": "0.8.10", "resolved": "https://registry.npmjs.org/rc-editor-core/-/rc-editor-core-0.8.10.tgz", "integrity": "sha512-T3aHpeMCIYA1sdAI7ynHHjXy5fqp83uPlD68ovZ0oClTSc3tbHmyCxXlA+Ti4YgmcpCYv7avF6a+TIbAka53kw==", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "classnames": "^2.2.5", @@ -1485,6 +1609,7 @@ "version": "1.1.13", "resolved": "https://registry.npmjs.org/rc-editor-mention/-/rc-editor-mention-1.1.13.tgz", "integrity": "sha512-3AOmGir91Fi2ogfRRaXLtqlNuIwQpvla7oUnGHS1+3eo7b+fUp5IlKcagqtwUBB5oDNofoySXkLBxzWvSYNp/Q==", + "dev": true, "requires": { "babel-runtime": "^6.23.0", "classnames": "^2.2.5", @@ -1512,6 +1637,7 @@ "version": "2.4.11", "resolved": "https://registry.npmjs.org/rc-form/-/rc-form-2.4.11.tgz", "integrity": "sha512-8BL+FNlFLTOY/A5X6tU35GQJLSIpsmqpwn/tFAYQTczXc4dMJ33ggtH248Cum8+LS0jLTsJKG2L4Qp+1CkY+sA==", + "dev": true, "requires": { "async-validator": "~1.11.3", "babel-runtime": "6.x", @@ -1526,7 +1652,8 @@ "async-validator": { "version": "1.11.5", "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.11.5.tgz", - "integrity": "sha512-XNtCsMAeAH1pdLMEg1z8/Bb3a8cdCbui9QbJATRFHHHW5kT6+NPI3zSVQUXgikTFITzsg+kYY5NTWhM2Orwt9w==" + "integrity": "sha512-XNtCsMAeAH1pdLMEg1z8/Bb3a8cdCbui9QbJATRFHHHW5kT6+NPI3zSVQUXgikTFITzsg+kYY5NTWhM2Orwt9w==", + "dev": true } } }, @@ -1534,6 +1661,7 @@ "version": "0.6.9", "resolved": "https://registry.npmjs.org/rc-hammerjs/-/rc-hammerjs-0.6.9.tgz", "integrity": "sha512-4llgWO3RgLyVbEqUdGsDfzUDqklRlQW5VEhE3x35IvhV+w//VPRG34SBavK3D2mD/UaLKaohgU41V4agiftC8g==", + "dev": true, "requires": { "babel-runtime": "6.x", "hammerjs": "^2.0.8", @@ -1544,6 +1672,7 @@ "version": "4.5.7", "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-4.5.7.tgz", "integrity": "sha512-99PrQ90sTOKyyj7eu0VzwxY17xQ+bwG1XTQd+bTwFQ+IOUkIw7L4qSAYxt58sVYL+Cw+bu/RAtT2IpT9yC2pCQ==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.0", @@ -1617,6 +1746,7 @@ "version": "2.5.2", "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-2.5.2.tgz", "integrity": "sha512-ajI+MJkbBz9zYDuE9GQsY5gsyqPF7HFioZEDZ9Fmc+ebNZoiSeSJsTJImPFCg0dW/5WiRGUy2F69SX1aPtSJgA==", + "dev": true, "requires": { "babel-runtime": "6.x", "prop-types": "^15.5.8" @@ -1626,6 +1756,7 @@ "version": "2.5.1", "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.5.1.tgz", "integrity": "sha512-3iJkNJT8xlHklPCdeZtUZmJmRVUbr6AHRlfSsztfYTXVlHrv2TcPn3XkHsH+12j812WVB7gvilS2j3+ffjUHXg==", + "dev": true, "requires": { "classnames": "^2.2.5", "prop-types": "^15.5.8", @@ -1676,6 +1807,7 @@ "version": "3.5.0", "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-3.5.0.tgz", "integrity": "sha512-2Vkkrpa7PZbg7qPsqTNzVDov4u78cmxofjjnIHiGB9+9rqKS8oTLPzbW2uiWDr3Lk+yGwh8rbpGO1E6VAgBCOg==", + "dev": true, "requires": { "babel-runtime": "^6.23.0", "classnames": "^2.2.3", @@ -1687,6 +1819,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-1.9.0.tgz", "integrity": "sha512-Isas+egaK6qSk64jaEw4GgPStY4umYDbT7ZY93bZF1Af+b/JEsKsJdNOU2qG3WI0Z6tXo2DDq0kJCv8Yhu0zww==", + "dev": true, "requires": { "classnames": "^2.2.1", "prop-types": "^15.5.6", @@ -1727,6 +1860,7 @@ "version": "3.7.3", "resolved": "https://registry.npmjs.org/rc-time-picker/-/rc-time-picker-3.7.3.tgz", "integrity": "sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg==", + "dev": true, "requires": { "classnames": "2.x", "moment": "2.x", @@ -1740,6 +1874,7 @@ "version": "2.4.5", "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.5.tgz", "integrity": "sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==", + "dev": true, "requires": { "babel-runtime": "^6.26.0", "dom-align": "^1.7.0", @@ -1751,6 +1886,7 @@ "version": "2.6.5", "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.6.5.tgz", "integrity": "sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.6", @@ -1826,6 +1962,7 @@ "version": "4.20.5", "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.20.5.tgz", "integrity": "sha512-f67s4Dt1quBYhrVPq5QMKmK3eS2hN1NNIAyhaiG0HmvqiGYAXMQ7SP2AlGqv750vnzhJs38JklbkWT1/wjhFPg==", + "dev": true, "requires": { "add-dom-event-listener": "^1.1.0", "prop-types": "^15.5.10", @@ -1856,15 +1993,26 @@ "prop-types": "^15.6.2" } }, + "react-i18next": { + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-11.4.0.tgz", + "integrity": "sha512-lyOZSSQkif4H9HnHN3iEKVkryLI+WkdZSEw3VAZzinZLopfYRMHVY5YxCopdkXPLEHs6S5GjKYPh3+j0j336Fg==", + "requires": { + "@babel/runtime": "^7.3.1", + "html-parse-stringify2": "2.0.1" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true }, "react-lazy-load": { "version": "3.0.13", "resolved": "https://registry.npmjs.org/react-lazy-load/-/react-lazy-load-3.0.13.tgz", "integrity": "sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ=", + "dev": true, "requires": { "eventlistener": "0.0.1", "lodash.debounce": "^4.0.0", @@ -1875,12 +2023,25 @@ "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", + "dev": true + }, + "react-monaco-editor": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/react-monaco-editor/-/react-monaco-editor-0.36.0.tgz", + "integrity": "sha512-JVA5SZhOoYZ0DCdTwYgagtRb3jHo4KN7TVFiJauG+ZBAJWfDSTzavPIrwzWbgu8ahhDqDk4jUcYlOJL2BC/0UA==", + "dev": true, + "requires": { + "@types/react": "^16.x", + "monaco-editor": "*", + "prop-types": "^15.7.2" + } }, "react-redux": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.2.tgz", "integrity": "sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==", + "dev": true, "requires": { "@babel/runtime": "^7.1.2", "hoist-non-react-statics": "^3.3.0", @@ -1895,6 +2056,7 @@ "version": "0.25.2", "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.25.2.tgz", "integrity": "sha512-8MNH/NFX/R7zF6W/w+FS5VXNyDusF+XDW1OU0SzODEU7wqYB+ZTGAiNJ++zVNAVqCAHdyCybScaUB+FCZOmBBw==", + "dev": true, "requires": { "classnames": "^2.2.5", "enquire.js": "^2.1.6", @@ -1907,6 +2069,7 @@ "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "dev": true, "requires": { "lodash": "^4.2.1", "lodash-es": "^4.2.1", @@ -1922,7 +2085,8 @@ "resize-observer-polyfill": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", + "dev": true }, "resolve": { "version": "1.17.0", @@ -1943,6 +2107,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz", "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==", + "dev": true, "requires": { "babel-runtime": "6.x", "classnames": "^2.2.5" @@ -1966,7 +2131,8 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "scroll-into-view-if-needed": { "version": "2.2.24", @@ -1980,17 +2146,20 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "shallow-equal": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", - "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==", + "dev": true }, "shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", + "dev": true }, "source-map": { "version": "0.5.7", @@ -2001,7 +2170,8 @@ "string-convert": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", - "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=", + "dev": true }, "supports-color": { "version": "5.5.0", @@ -2015,12 +2185,14 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "dev": true }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", - "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=", + "dev": true }, "to-fast-properties": { "version": "2.0.0", @@ -2031,12 +2203,14 @@ "toggle-selection": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" + "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=", + "dev": true }, "type-of-is": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/type-of-is/-/type-of-is-3.5.1.tgz", - "integrity": "sha1-7sL8ibgo2/mQDrZBbu4w9P4PzTE=" + "integrity": "sha1-7sL8ibgo2/mQDrZBbu4w9P4PzTE=", + "dev": true }, "typescript": { "version": "3.8.3", @@ -2047,22 +2221,31 @@ "ua-parser-js": { "version": "0.7.21", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", - "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==" + "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", + "dev": true }, "underscore": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz", - "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==" + "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=" }, "w3c-blob": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/w3c-blob/-/w3c-blob-0.0.1.tgz", - "integrity": "sha1-sM01KhpQ9RVWNCD/1YYflQ8dhbg=" + "integrity": "sha1-sM01KhpQ9RVWNCD/1YYflQ8dhbg=", + "dev": true }, "warning": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -2080,7 +2263,8 @@ "whatwg-fetch": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==", + "dev": true }, "yaml": { "version": "1.9.2", diff --git a/packages/builder/package.json b/packages/json-schema-editor/package.json similarity index 70% rename from packages/builder/package.json rename to packages/json-schema-editor/package.json index b0c00f6..bd8c9ee 100644 --- a/packages/builder/package.json +++ b/packages/json-schema-editor/package.json @@ -1,9 +1,9 @@ { - "name": "@imove/builder", + "name": "@imove/json-schema-editor", "version": "0.2.1", - "description": "build cells for your flow", + "description": "visual editor for json schema", "keywords": [ - "react-monaco-editor", + "ace-editor", "json-schema" ], "author": "suanmei ", @@ -11,6 +11,7 @@ "license": "MIT", "main": "dist/core.common.js", "module": "dist/core.esm.js", + "types": "dist/types/index.d.ts", "directories": { "lib": "lib", "test": "__tests__" @@ -27,7 +28,7 @@ "url": "git+https://github.com/suanmei/iMove.git" }, "scripts": { - "prepublishOnly": "node scripts/prepublishOnly.js", + "prepublishOnly": "node scripts/prepublish.js", "declare-type": "tsc --emitDeclarationOnly", "build": "rollup -c & npm run declare-type", "watch": "watch 'npm run build' ./src" @@ -39,9 +40,11 @@ "@emotion/core": "^10.0.28", "@emotion/styled": "^10.0.27", "@types/react": "^16.9.34", + "@types/react-dom": "^16.9.7", "antd": "^4.1.5", "json-schema-editor-visual": "^1.1.1", "react": "^16.13.1", + "react-monaco-editor": "^0.36.0", "rollup": "^2.7.3", "watch": "^1.0.2" }, @@ -50,7 +53,13 @@ "@emotion/styled": "^10.0.27", "antd": "^4.1.5", "json-schema-editor-visual": "^1.1.1", - "react": "^16.13.1" + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-monaco-editor": "^0.36.0" }, - "gitHead": "60b114ff262513544204f33a9bbcb6220d6c1c5d" + "gitHead": "60b114ff262513544204f33a9bbcb6220d6c1c5d", + "dependencies": { + "i18next": "^19.4.4", + "react-i18next": "^11.4.0" + } } diff --git a/packages/builder/rollup.config.js b/packages/json-schema-editor/rollup.config.js similarity index 100% rename from packages/builder/rollup.config.js rename to packages/json-schema-editor/rollup.config.js diff --git a/packages/builder/scripts/prepublishOnly.js b/packages/json-schema-editor/scripts/prepublish.js similarity index 61% rename from packages/builder/scripts/prepublishOnly.js rename to packages/json-schema-editor/scripts/prepublish.js index 4d9d67d..d77e4a9 100644 --- a/packages/builder/scripts/prepublishOnly.js +++ b/packages/json-schema-editor/scripts/prepublish.js @@ -3,4 +3,4 @@ const path = require('path'); const prePublish = require('../../../scripts/prepublish'); -prePublish('@imove/builder', path.join(__dirname, '../')); +prePublish('@imove/json-schema-editor', path.join(__dirname, '../')); diff --git a/packages/json-schema-editor/src/ace/index.tsx b/packages/json-schema-editor/src/ace/index.tsx new file mode 100644 index 0000000..e69de29 diff --git a/packages/json-schema-editor/src/i18n/index.ts b/packages/json-schema-editor/src/i18n/index.ts new file mode 100644 index 0000000..c1f896e --- /dev/null +++ b/packages/json-schema-editor/src/i18n/index.ts @@ -0,0 +1,20 @@ +import i18n from 'i18next'; +import { initReactI18next } from 'react-i18next'; +import * as en from './translations/en.json'; +import * as zh from './translations/zh.json'; + +i18n + .use(initReactI18next) // passes i18n down to react-i18next + .init({ + fallbackLng: 'en', + resources: { + en, + zh, + }, + keySeparator: false, // we do not use keys in form messages.welcome + interpolation: { + escapeValue: false, // react already safes from xss + }, + }); + +export default i18n; diff --git a/packages/json-schema-editor/src/i18n/translations/en.json b/packages/json-schema-editor/src/i18n/translations/en.json new file mode 100644 index 0000000..399a52d --- /dev/null +++ b/packages/json-schema-editor/src/i18n/translations/en.json @@ -0,0 +1,3 @@ +{ + "home": "home" +} diff --git a/packages/json-schema-editor/src/i18n/translations/zh.json b/packages/json-schema-editor/src/i18n/translations/zh.json new file mode 100644 index 0000000..c218cee --- /dev/null +++ b/packages/json-schema-editor/src/i18n/translations/zh.json @@ -0,0 +1,3 @@ +{ + "home": "首页" +} diff --git a/packages/json-schema-editor/src/index.tsx b/packages/json-schema-editor/src/index.tsx new file mode 100644 index 0000000..524a3cb --- /dev/null +++ b/packages/json-schema-editor/src/index.tsx @@ -0,0 +1,18 @@ +/** @jsx jsx */ +import { jsx } from '@emotion/core'; +import { Button } from 'antd'; +import { useTranslation } from 'react-i18next'; +import i18n from './i18n'; + +i18n.changeLanguage('en'); + +function JsonSchemaEditor(): JSX.Element { + const { t } = useTranslation(); + return ( +
+ +
+ ); +} + +export default JsonSchemaEditor; diff --git a/packages/builder/tsconfig.json b/packages/json-schema-editor/tsconfig.json similarity index 100% rename from packages/builder/tsconfig.json rename to packages/json-schema-editor/tsconfig.json diff --git a/tsconfig.json b/tsconfig.json index ee6265a..fd955b4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -8,6 +8,7 @@ "declaration": true, "types": [], "strict": true, + "resolveJsonModule": true, "experimentalDecorators": true, "skipLibCheck": true }