diff --git a/.eslintignore b/.eslintignore index 7e7d590..a99dad3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -5,4 +5,3 @@ node_modules # don't lint nyc coverage output coverage next-env.d.ts -.eslintrc.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index b8bad43..ccbcd96 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,33 +1,38 @@ module.exports = { extends: [ - "plugin:@typescript-eslint/recommended", + "eslint:recommended", + "airbnb", "airbnb-typescript", - "next", + "airbnb/hooks", + "plugin:import/recommended", + "plugin:@typescript-eslint/recommended", + // "plugin:@typescript-eslint/recommended-requiring-type-checking", "next/core-web-vitals", ], - parser: '@typescript-eslint/parser', + parser: "@typescript-eslint/parser", parserOptions: { tsconfigRootDir: __dirname, - project: './tsconfig.json', + project: "./tsconfig.json", }, - plugins: ['@typescript-eslint'], + plugins: ["@typescript-eslint"], overrides: [ { - files: ['*.js'], + files: ["*.js"], rules: { - '@typescript-eslint/no-var-requires': 'off', + "@typescript-eslint/no-var-requires": "off", }, }, ], rules: { "max-len": [ "warn", - 240 + 240, ], "@typescript-eslint/quotes": [ "error", - "double" + "double", ], + "react/jsx-props-no-spreading": "off", "react/jsx-one-expression-per-line": "off", // Temp "react/no-array-index-key": "warn", @@ -35,5 +40,5 @@ module.exports = { "jsx-a11y/click-events-have-key-events": "off", "jsx-a11y/no-noninteractive-element-interactions": "off", "jsx-a11y/no-static-element-interactions": "off", - } -} + }, +}; diff --git a/package-lock.json b/package-lock.json index 9e13636..74b5e9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "license": "MIT", "dependencies": { "@next/bundle-analyzer": "^11.1.0", + "@rjsf/core": "^3.1.0", "axios": "^0.21.1", "date-fns": "^2.23.0", "fast-deep-equal": "^3.1.3", @@ -21,7 +22,6 @@ "react-csv": "^2.0.3", "react-dom": "^17.0.2", "react-is": "^17.0.2", - "react-jsonschema-form": "^1.8.1", "react-markdown": "^7.0.0", "react-mde": "^11.5.0", "react-toastify": "^7.0.4", @@ -38,7 +38,6 @@ "@types/react-beautiful-dnd": "^13.1.1", "@types/react-csv": "^1.1.2", "@types/react-dom": "^17.0.9", - "@types/react-jsonschema-form": "^1.7.6", "@types/shortid": "^0.0.29", "@types/styled-components": "^5.1.12", "@typescript-eslint/eslint-plugin": "^4.29.2", @@ -1862,18 +1861,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/runtime-corejs2": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.15.3.tgz", - "integrity": "sha512-iG7ypZmrdoKP1ckFurS8z97TR+Bqd6KaDsLQ9DiC/Rdxmrvy1nsCDlgfLNKfalbg9sFWdmIdNf+Hg+19XysSFg==", - "dependencies": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/runtime-corejs3": { "version": "7.15.3", "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", @@ -2183,6 +2170,33 @@ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==" }, + "node_modules/@rjsf/core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-3.1.0.tgz", + "integrity": "sha512-EwM2juiQxEdXzFy9rIIsDr6/e+FYeR1cKx0/no8ASEuXZ1p+/nf/CxKGobzD6UhpRip7JK9PhhuHFEFBIjHFJA==", + "dependencies": { + "@types/json-schema": "^7.0.7", + "ajv": "^6.7.0", + "core-js-pure": "^3.6.5", + "json-schema-merge-allof": "^0.6.0", + "jsonpointer": "^4.0.1", + "lodash": "^4.17.15", + "nanoid": "^3.1.23", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/@rjsf/core/node_modules/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==" + }, "node_modules/@rushstack/eslint-patch": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.0.6.tgz", @@ -2272,8 +2286,7 @@ "node_modules/@types/json-schema": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "node_modules/@types/lodash": { "version": "4.14.172", @@ -2375,16 +2388,6 @@ "@types/react": "*" } }, - "node_modules/@types/react-jsonschema-form": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.6.tgz", - "integrity": "sha512-gkMH2ZEHH8+7EoZRhA4F2NSqO8zlcXrepMYExHRZ8nGynzBQdmp6vHryEiOSEysowVHTHCP7wLPOWhIHx3tMPg==", - "dev": true, - "dependencies": { - "@types/json-schema": "*", - "@types/react": "*" - } - }, "node_modules/@types/react-redux": { "version": "7.1.18", "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.18.tgz", @@ -3956,6 +3959,27 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, + "node_modules/compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "node_modules/compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", + "dependencies": { + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -3996,13 +4020,6 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, "node_modules/core-js-compat": { "version": "3.16.2", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", @@ -4053,7 +4070,6 @@ "version": "3.16.2", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==", - "dev": true, "hasInstallScript": true, "funding": { "type": "opencollective", @@ -7217,6 +7233,24 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "node_modules/json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "dependencies": { + "lodash": "^4.17.4" + } + }, + "node_modules/json-schema-merge-allof": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.6.0.tgz", + "integrity": "sha512-LEw4VMQVRceOPLuGRWcxW5orTTiR9ZAtqTAe4rQUjNADTeR81bezBVFa0MqIwp0YmHIM1KkhSjZM7o+IQhaPbQ==", + "dependencies": { + "compute-lcm": "^1.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.4" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -7242,6 +7276,14 @@ "node": ">=6" } }, + "node_modules/jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/jsx-ast-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", @@ -10614,38 +10656,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "node_modules/react-jsonschema-form": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-1.8.1.tgz", - "integrity": "sha512-aaDloxNAcGXOOOcdKOxxqEEn5oDlPUZgWcs8unXXB9vjBRgCF8rCm/wVSv1u2G5ih0j/BX6Ewd/WjI2g00lPdg==", - "dependencies": { - "@babel/runtime-corejs2": "^7.4.5", - "ajv": "^6.7.0", - "core-js": "^2.5.7", - "lodash": "^4.17.15", - "prop-types": "^15.5.8", - "react-is": "^16.8.4", - "react-lifecycles-compat": "^3.0.4", - "shortid": "^2.2.14" - }, - "engines": { - "node": ">=6", - "npm": ">=2.14.7" - }, - "peerDependencies": { - "react": ">=15" - } - }, - "node_modules/react-jsonschema-form/node_modules/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==" - }, - "node_modules/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==" - }, "node_modules/react-markdown": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-7.0.0.tgz", @@ -14061,6 +14071,38 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" + }, + "node_modules/validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha1-NDoZgC7TsZaCaceA5VjpNBHAutc=" + }, + "node_modules/validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", + "dependencies": { + "validate.io-number": "^1.0.3" + } + }, + "node_modules/validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha1-LKveAzKTpry+Bj/q/pHq9GsToIk=", + "dependencies": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "node_modules/validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" + }, "node_modules/vfile": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", @@ -15793,15 +15835,6 @@ "regenerator-runtime": "^0.13.4" } }, - "@babel/runtime-corejs2": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.15.3.tgz", - "integrity": "sha512-iG7ypZmrdoKP1ckFurS8z97TR+Bqd6KaDsLQ9DiC/Rdxmrvy1nsCDlgfLNKfalbg9sFWdmIdNf+Hg+19XysSFg==", - "requires": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" - } - }, "@babel/runtime-corejs3": { "version": "7.15.3", "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.3.tgz", @@ -16063,6 +16096,29 @@ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.17.tgz", "integrity": "sha512-0p1rCgM3LLbAdwBnc7gqgnvjHg9KpbhcSphergHShlkWz8EdPawoMJ3/VbezI0mGC5eKCDzMaPgF9Yca6cKvrg==" }, + "@rjsf/core": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-3.1.0.tgz", + "integrity": "sha512-EwM2juiQxEdXzFy9rIIsDr6/e+FYeR1cKx0/no8ASEuXZ1p+/nf/CxKGobzD6UhpRip7JK9PhhuHFEFBIjHFJA==", + "requires": { + "@types/json-schema": "^7.0.7", + "ajv": "^6.7.0", + "core-js-pure": "^3.6.5", + "json-schema-merge-allof": "^0.6.0", + "jsonpointer": "^4.0.1", + "lodash": "^4.17.15", + "nanoid": "^3.1.23", + "prop-types": "^15.7.2", + "react-is": "^16.9.0" + }, + "dependencies": { + "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==" + } + } + }, "@rushstack/eslint-patch": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.0.6.tgz", @@ -16144,8 +16200,7 @@ "@types/json-schema": { "version": "7.0.9", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" }, "@types/lodash": { "version": "4.14.172", @@ -16247,16 +16302,6 @@ "@types/react": "*" } }, - "@types/react-jsonschema-form": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/@types/react-jsonschema-form/-/react-jsonschema-form-1.7.6.tgz", - "integrity": "sha512-gkMH2ZEHH8+7EoZRhA4F2NSqO8zlcXrepMYExHRZ8nGynzBQdmp6vHryEiOSEysowVHTHCP7wLPOWhIHx3tMPg==", - "dev": true, - "requires": { - "@types/json-schema": "*", - "@types/react": "*" - } - }, "@types/react-redux": { "version": "7.1.18", "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.18.tgz", @@ -17459,6 +17504,27 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, + "compute-gcd": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/compute-gcd/-/compute-gcd-1.2.1.tgz", + "integrity": "sha512-TwMbxBNz0l71+8Sc4czv13h4kEqnchV9igQZBi6QUaz09dnz13juGnnaWWJTRsP3brxOoxeB4SA2WELLw1hCtg==", + "requires": { + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, + "compute-lcm": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/compute-lcm/-/compute-lcm-1.1.2.tgz", + "integrity": "sha512-OFNPdQAXnQhDSKioX8/XYT6sdUlXwpeMjfd6ApxMJfyZ4GxmLR1xvMERctlYhlHwIiz6CSpBc2+qYKjHGZw4TQ==", + "requires": { + "compute-gcd": "^1.2.1", + "validate.io-array": "^1.0.3", + "validate.io-function": "^1.0.2", + "validate.io-integer-array": "^1.0.0" + } + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -17501,11 +17567,6 @@ } } }, - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, "core-js-compat": { "version": "3.16.2", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.16.2.tgz", @@ -17540,8 +17601,7 @@ "core-js-pure": { "version": "3.16.2", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.16.2.tgz", - "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==", - "dev": true + "integrity": "sha512-oxKe64UH049mJqrKkynWp6Vu0Rlm/BTXO/bJZuN2mmR3RtOFNepLlSWDd1eo16PzHpQAoNG97rLU1V/YxesJjw==" }, "core-util-is": { "version": "1.0.2", @@ -19917,6 +19977,24 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "json-schema-compare": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/json-schema-compare/-/json-schema-compare-0.2.2.tgz", + "integrity": "sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==", + "requires": { + "lodash": "^4.17.4" + } + }, + "json-schema-merge-allof": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/json-schema-merge-allof/-/json-schema-merge-allof-0.6.0.tgz", + "integrity": "sha512-LEw4VMQVRceOPLuGRWcxW5orTTiR9ZAtqTAe4rQUjNADTeR81bezBVFa0MqIwp0YmHIM1KkhSjZM7o+IQhaPbQ==", + "requires": { + "compute-lcm": "^1.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.4" + } + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -19936,6 +20014,11 @@ "minimist": "^1.2.5" } }, + "jsonpointer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.1.0.tgz", + "integrity": "sha512-CXcRvMyTlnR53xMcKnuMzfCA5i/nfblTnnr74CZb6C4vG39eu6w51t7nKmU5MfLfbTgGItliNyjO/ciNPDqClg==" + }, "jsx-ast-utils": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", @@ -22451,33 +22534,6 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "react-jsonschema-form": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/react-jsonschema-form/-/react-jsonschema-form-1.8.1.tgz", - "integrity": "sha512-aaDloxNAcGXOOOcdKOxxqEEn5oDlPUZgWcs8unXXB9vjBRgCF8rCm/wVSv1u2G5ih0j/BX6Ewd/WjI2g00lPdg==", - "requires": { - "@babel/runtime-corejs2": "^7.4.5", - "ajv": "^6.7.0", - "core-js": "^2.5.7", - "lodash": "^4.17.15", - "prop-types": "^15.5.8", - "react-is": "^16.8.4", - "react-lifecycles-compat": "^3.0.4", - "shortid": "^2.2.14" - }, - "dependencies": { - "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==" - } - } - }, - "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==" - }, "react-markdown": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-7.0.0.tgz", @@ -25130,6 +25186,38 @@ "spdx-expression-parse": "^3.0.0" } }, + "validate.io-array": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", + "integrity": "sha1-W1osr9j4uFq7L4hroVPy2Tond00=" + }, + "validate.io-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/validate.io-function/-/validate.io-function-1.0.2.tgz", + "integrity": "sha1-NDoZgC7TsZaCaceA5VjpNBHAutc=" + }, + "validate.io-integer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/validate.io-integer/-/validate.io-integer-1.0.5.tgz", + "integrity": "sha1-FoSWSAuVviJH7EQ/IjPeT4mHgGg=", + "requires": { + "validate.io-number": "^1.0.3" + } + }, + "validate.io-integer-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/validate.io-integer-array/-/validate.io-integer-array-1.0.0.tgz", + "integrity": "sha1-LKveAzKTpry+Bj/q/pHq9GsToIk=", + "requires": { + "validate.io-array": "^1.0.3", + "validate.io-integer": "^1.0.4" + } + }, + "validate.io-number": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/validate.io-number/-/validate.io-number-1.0.3.tgz", + "integrity": "sha1-9j/+2iSL8opnqNSODjtGGhZluvg=" + }, "vfile": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", diff --git a/package.json b/package.json index 7454ea5..0129b4f 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,6 @@ "@types/react-beautiful-dnd": "^13.1.1", "@types/react-csv": "^1.1.2", "@types/react-dom": "^17.0.9", - "@types/react-jsonschema-form": "^1.7.6", "@types/shortid": "^0.0.29", "@types/styled-components": "^5.1.12", "@typescript-eslint/eslint-plugin": "^4.29.2", @@ -59,6 +58,7 @@ }, "dependencies": { "@next/bundle-analyzer": "^11.1.0", + "@rjsf/core": "^3.1.0", "axios": "^0.21.1", "date-fns": "^2.23.0", "fast-deep-equal": "^3.1.3", @@ -71,7 +71,6 @@ "react-csv": "^2.0.3", "react-dom": "^17.0.2", "react-is": "^17.0.2", - "react-jsonschema-form": "^1.8.1", "react-markdown": "^7.0.0", "react-mde": "^11.5.0", "react-toastify": "^7.0.4", diff --git a/src/components/Card.tsx b/src/components/Card.tsx index b5826b2..1b9a15c 100644 --- a/src/components/Card.tsx +++ b/src/components/Card.tsx @@ -2,7 +2,7 @@ import React from "react"; import Image from "next/image"; import styled from "styled-components"; import colors from "@theme/colors"; -import { Link } from "@components/index"; +import Link from "@components/Link"; import breakpoints from "@theme/breakpoints"; interface WrappedCardProps { diff --git a/src/components/PageLink.tsx b/src/components/PageLink.tsx index f5e813c..5708ae7 100644 --- a/src/components/PageLink.tsx +++ b/src/components/PageLink.tsx @@ -1,7 +1,7 @@ import React from "react"; import styled from "styled-components"; import colors from "@theme/colors"; -import { Link } from "@components/index"; +import Link from "@components/Link"; interface PageLinkProps { to: string; diff --git a/src/components/Sections/CTASection.tsx b/src/components/Sections/CTASection.tsx index c160cd2..c13dd85 100644 --- a/src/components/Sections/CTASection.tsx +++ b/src/components/Sections/CTASection.tsx @@ -1,7 +1,7 @@ import React from "react"; import styled from "styled-components"; import colors from "@theme/colors"; -import { Link } from "@components/index"; +import Link from "@components/Link"; type Colors = "orange1" | "lightBlue" | "darkBlue" | "blue1" | "lightTurquoise" | "sik100Blue"; diff --git a/src/components/Widgets/Checkbox/Checkboxes.tsx b/src/components/Widgets/Checkbox/Checkboxes.tsx index c7e75ba..f54e6bc 100644 --- a/src/components/Widgets/Checkbox/Checkboxes.tsx +++ b/src/components/Widgets/Checkbox/Checkboxes.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import { WidgetProps } from "react-jsonschema-form"; +import { WidgetProps } from "@rjsf/core"; import Checkbox from "./Checkbox"; // See https://github.com/rjsf-team/react-jsonschema-form/blob/master/packages/core/src/components/widgets/CheckboxesWidget.js diff --git a/src/components/Widgets/MarkdownEditorWidget.tsx b/src/components/Widgets/MarkdownEditorWidget.tsx index 49d1f95..db1d1b5 100644 --- a/src/components/Widgets/MarkdownEditorWidget.tsx +++ b/src/components/Widgets/MarkdownEditorWidget.tsx @@ -1,7 +1,7 @@ import React from "react"; import styled from "styled-components"; import ReactMde from "react-mde"; -import { WidgetProps } from "react-jsonschema-form"; +import { WidgetProps } from "@rjsf/core"; import MarkdownStyles from "@views/common/MarkdownStyles"; type MarkdownEditorWidgetProps = Omit & { diff --git a/src/components/Widgets/RadioButton/RadioButtonWidget.tsx b/src/components/Widgets/RadioButton/RadioButtonWidget.tsx index 6ddb7ef..795c9b6 100644 --- a/src/components/Widgets/RadioButton/RadioButtonWidget.tsx +++ b/src/components/Widgets/RadioButton/RadioButtonWidget.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import { WidgetProps } from "react-jsonschema-form"; +import { WidgetProps } from "@rjsf/core"; import RadioButton from "./RadioButton"; type RadioButtonWidgetProps = Omit & { diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index b2a0d4f..204e960 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -9,6 +9,7 @@ import LocaleStore from "../i18n"; import "react-mde/lib/styles/css/react-mde-all.css"; import "react-toastify/dist/ReactToastify.css"; +import "normalize.css"; const fontFamily = "'Montserrat', sans-serif"; const fontSize = 12; // 16px diff --git a/src/pages/signup/[id].tsx b/src/pages/signup/[id].tsx index 13cd647..d66dca5 100644 --- a/src/pages/signup/[id].tsx +++ b/src/pages/signup/[id].tsx @@ -2,7 +2,7 @@ import React from "react"; import { NextPage, GetStaticProps, GetStaticPaths } from "next"; import Head from "next/head"; import { useRouter } from "next/router"; -import { ISubmitEvent } from "react-jsonschema-form"; +import { ISubmitEvent } from "@rjsf/core"; import { toast } from "react-toastify"; import axios from "axios"; import useSWR, { mutate } from "swr"; diff --git a/src/views/CorporatePage/CorporatePageView.tsx b/src/views/CorporatePage/CorporatePageView.tsx index 2fe2a33..63a3af2 100644 --- a/src/views/CorporatePage/CorporatePageView.tsx +++ b/src/views/CorporatePage/CorporatePageView.tsx @@ -94,7 +94,7 @@ const CorporatePageView: React.FC = ({ jobAds }) => (

Yllämainituista mahdollisuuksista, sekä muista ideoista kiinnostuneena, voit olla yhteydessä Yrityssuhdemestariimme Ottoon.

Yrityssuhdemestari
-

Otto Julkunen
044 973 2842
otto.julkunen@aalto.fi

+

Otto Julkunen
044 973 2842
otto.julkunen@sahkoinsinoorikilta.fi

diff --git a/src/views/SignUpPage/SignUpPageView.tsx b/src/views/SignUpPage/SignUpPageView.tsx index 70f3de2..30ca454 100644 --- a/src/views/SignUpPage/SignUpPageView.tsx +++ b/src/views/SignUpPage/SignUpPageView.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import { IChangeEvent, ISubmitEvent, ErrorSchema } from "react-jsonschema-form"; +import { IChangeEvent, ISubmitEvent, ErrorSchema } from "@rjsf/core"; import { SignupForm } from "@models/Signup"; import Checkboxes from "@components/Widgets/Checkbox/Checkboxes"; import RadioButtonWidget from "@components/Widgets/RadioButton/RadioButtonWidget"; diff --git a/src/views/admin/AdminCreateCommon.tsx b/src/views/admin/AdminCreateCommon.tsx index b0e2bd5..f3a5646 100644 --- a/src/views/admin/AdminCreateCommon.tsx +++ b/src/views/admin/AdminCreateCommon.tsx @@ -1,6 +1,6 @@ import React from "react"; import styled from "styled-components"; -import { ISubmitEvent, IChangeEvent, ErrorSchema } from "react-jsonschema-form"; +import { ISubmitEvent, IChangeEvent, ErrorSchema } from "@rjsf/core"; import colors from "@theme/colors"; import Event from "@models/Event"; import Post from "@models/Feed"; diff --git a/src/views/common/FormWrapper.tsx b/src/views/common/FormWrapper.tsx index e3b6c17..9d51ea9 100644 --- a/src/views/common/FormWrapper.tsx +++ b/src/views/common/FormWrapper.tsx @@ -1,4 +1,4 @@ -import Form from "react-jsonschema-form"; +import Form from "@rjsf/core"; import styled from "styled-components"; import colors from "@theme/colors";