From 7e46222ecd32762c4a6ecedaf079b243afc642d7 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Tue, 3 Sep 2024 21:58:51 +0800 Subject: [PATCH] Revert "feat: add Casbin editor's checking in model editor (#3166)" This reverts commit a1b010a406c6888be435fa707c439bfa1f3981bf. --- web/package.json | 7 +-- web/src/ModelEditPage.js | 13 +--- web/src/utils/modelLinter.js | 42 ------------- web/yarn.lock | 117 ++--------------------------------- 4 files changed, 8 insertions(+), 171 deletions(-) delete mode 100644 web/src/utils/modelLinter.js diff --git a/web/package.json b/web/package.json index 1d8269cb..17fa87e6 100644 --- a/web/package.json +++ b/web/package.json @@ -5,10 +5,6 @@ "dependencies": { "@ant-design/cssinjs": "^1.10.1", "@ant-design/icons": "^4.7.0", - "@codemirror/language": "^6.10.2", - "@codemirror/lint": "^6.8.1", - "@codemirror/state": "^6.4.1", - "@codemirror/view": "^6.33.0", "@craco/craco": "^6.4.5", "@crowdin/cli": "^3.7.10", "@ctrl/tinycolor": "^3.5.0", @@ -27,8 +23,7 @@ "antd": "5.2.3", "antd-token-previewer": "^1.1.0-22", "buffer": "^6.0.3", - "casbin": "^5.30.0", - "codemirror": "5", + "codemirror": "^5.61.1", "copy-to-clipboard": "^3.3.1", "core-js": "^3.25.0", "craco-less": "^2.0.0", diff --git a/web/src/ModelEditPage.js b/web/src/ModelEditPage.js index 19a09e38..211df394 100644 --- a/web/src/ModelEditPage.js +++ b/web/src/ModelEditPage.js @@ -18,8 +18,9 @@ import * as ModelBackend from "./backend/ModelBackend"; import * as OrganizationBackend from "./backend/OrganizationBackend"; import * as Setting from "./Setting"; import i18next from "i18next"; + import {Controlled as CodeMirror} from "react-codemirror2"; -import {createLinter} from "./utils/modelLinter"; +import "codemirror/lib/codemirror.css"; require("codemirror/mode/properties/properties"); @@ -149,21 +150,13 @@ class ModelEditPage extends React.Component {
{ if (Setting.builtInObject(this.state.model)) { return; } this.updateModelField("modelText", value); }} - editorDidMount={(editor, value, cb) => { - createLinter(editor.constructor); - }} />
diff --git a/web/src/utils/modelLinter.js b/web/src/utils/modelLinter.js deleted file mode 100644 index f12182f9..00000000 --- a/web/src/utils/modelLinter.js +++ /dev/null @@ -1,42 +0,0 @@ -import {newModel} from "casbin"; -import "codemirror/lib/codemirror.css"; -import "codemirror/addon/lint/lint.css"; -import "codemirror/addon/lint/lint"; - -export const checkModelSyntax = (modelText) => { - try { - const model = newModel(modelText); - if (!model.model.get("r") || !model.model.get("p") || !model.model.get("e")) { - throw new Error("Model is missing one or more required sections (r, p, or e)"); - } - return null; - } catch (e) { - return e.message; - } -}; - -export const createLinter = (CodeMirror) => { - CodeMirror.registerHelper("lint", "properties", (text) => { - const error = checkModelSyntax(text); - if (error) { - const lineMatch = error.match(/line (\d+)/); - if (lineMatch) { - const lineNumber = parseInt(lineMatch[1], 10) - 1; - return [{ - from: CodeMirror.Pos(lineNumber, 0), - to: CodeMirror.Pos(lineNumber, text.split("\n")[lineNumber].length), - message: error, - severity: "error", - }]; - } else { - return [{ - from: CodeMirror.Pos(0, 0), - to: CodeMirror.Pos(text.split("\n").length - 1), - message: error, - severity: "error", - }]; - } - } - return []; - }); -}; diff --git a/web/yarn.lock b/web/yarn.lock index aaf01159..4d1220de 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -1442,41 +1442,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@codemirror/language@^6.10.2": - version "6.10.2" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.10.2.tgz#4056dc219619627ffe995832eeb09cea6060be61" - integrity sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.23.0" - "@lezer/common" "^1.1.0" - "@lezer/highlight" "^1.0.0" - "@lezer/lr" "^1.0.0" - style-mod "^4.0.0" - -"@codemirror/lint@^6.8.1": - version "6.8.1" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.8.1.tgz#6427848815baaf68c08e98c7673b804d3d8c0e7f" - integrity sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg== - dependencies: - "@codemirror/state" "^6.0.0" - "@codemirror/view" "^6.0.0" - crelt "^1.0.5" - -"@codemirror/state@^6.0.0", "@codemirror/state@^6.4.0", "@codemirror/state@^6.4.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.4.1.tgz#da57143695c056d9a3c38705ed34136e2b68171b" - integrity sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A== - -"@codemirror/view@^6.0.0", "@codemirror/view@^6.23.0", "@codemirror/view@^6.33.0": - version "6.33.0" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.33.0.tgz#51e270410fc3af92a6e38798e80ebf8add7dc3ec" - integrity sha512-AroaR3BvnjRW8fiZBalAaK+ZzB5usGgI014YKElYZvQdNH5ZIidHlO+cyf/2rWzyBFRkvG6VhiXeAEbC53P2YQ== - dependencies: - "@codemirror/state" "^6.4.0" - style-mod "^4.1.0" - w3c-keyname "^2.2.4" - "@coinbase/wallet-sdk@^3.7.1": version "3.7.1" resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541" @@ -3334,25 +3299,6 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== -"@lezer/common@^1.0.0", "@lezer/common@^1.1.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.2.1.tgz#198b278b7869668e1bebbe687586e12a42731049" - integrity sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ== - -"@lezer/highlight@^1.0.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.2.1.tgz#596fa8f9aeb58a608be0a563e960c373cbf23f8b" - integrity sha512-Z5duk4RN/3zuVO7Jq0pGLJ3qynpxUVsh7IbUbGj88+uV2ApSAn6kWg2au3iJb+0Zi7kKtqffIESgNcRXWZWmSA== - dependencies: - "@lezer/common" "^1.0.0" - -"@lezer/lr@^1.0.0": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.4.2.tgz#931ea3dea8e9de84e90781001dae30dea9ff1727" - integrity sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA== - dependencies: - "@lezer/common" "^1.0.0" - "@metamask/eth-sig-util@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-6.0.0.tgz#083321dc7285a9aa6e066db7c49be6e94c5e03a3" @@ -5174,11 +5120,6 @@ available-typed-arrays@^1.0.5: resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== -await-lock@^2.0.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/await-lock/-/await-lock-2.2.2.tgz#a95a9b269bfd2f69d22b17a321686f551152bcef" - integrity sha512-aDczADvlvTGajTDjcjpJMqRkOF6Qdz3YbPZm/PyW6tKPkx2hlYBzxMhEywM/tU72HrVZjgl5VCdRuMlA7pZ8Gw== - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -5682,17 +5623,6 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001507.tgz#fae53f6286e7564783eadea9b447819410a59534" integrity sha512-SFpUDoSLCaE5XYL2jfqe9ova/pbQHEmbheDf5r4diNwbAgR3qxM9NQtfsiSscjqoya5K7kFcHPUQ+VsUkIJR4A== -casbin@^5.30.0: - version "5.30.0" - resolved "https://registry.yarnpkg.com/casbin/-/casbin-5.30.0.tgz#819019348ead1cfd923fbab93772ad188da342cd" - integrity sha512-GDc8sImStd+ddBVBfLpe5fJPBWRjeEaz7fkiAGuw0+LTHF2TVvVsMALIMOx+ofzQhm+EHCH7mfiJsrS1Kgef2w== - dependencies: - await-lock "^2.0.1" - buffer "^6.0.3" - csv-parse "^5.3.5" - expression-eval "^5.0.0" - minimatch "^7.4.2" - case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -5881,10 +5811,10 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -codemirror@5: - version "5.65.17" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.17.tgz#00d71f34c3518471ae4c0de23a2f8bb39a6df6ca" - integrity sha512-1zOsUx3lzAOu/gnMAZkQ9kpIHcPYOc9y1Fbm2UVk5UBPkdq380nhkelG0qUwm1f7wPvTbndu9ZYlug35EwAZRQ== +codemirror@^5.61.1: + version "5.65.13" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.13.tgz#c098a6f409db8b5a7c5722788bd9fa3bb2367f2e" + integrity sha512-SVWEzKXmbHmTQQWaz03Shrh4nybG0wXx2MEu3FO4ezbPW8IbnZEd5iGHGEffSUaitKYa3i+pHpBsSvw8sPHtzg== collect-v8-coverage@^1.0.0: version "1.0.1" @@ -6138,11 +6068,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -crelt@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" - integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== - cropperjs@^1.5.13: version "1.5.13" resolved "https://registry.yarnpkg.com/cropperjs/-/cropperjs-1.5.13.tgz#eb1682f01d17c70ed5244317091d745c9a249ef8" @@ -6405,11 +6330,6 @@ csstype@^3.0.10, csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -csv-parse@^5.3.5: - version "5.5.6" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.6.tgz#0d726d58a60416361358eec291a9f93abe0b6b1a" - integrity sha512-uNpm30m/AGSkLxxy7d9yRXpJQFrZzVWLFBkS+6ngPcZkw/5k3L/jjFuj7tVnEpRn+QgmiXr21nDlhCiUK4ij2A== - cypress@^12.5.1: version "12.15.0" resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.15.0.tgz#06103529583c41f39712c6cfa6d9d09a01731760" @@ -7781,13 +7701,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -expression-eval@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/expression-eval/-/expression-eval-5.0.1.tgz#845758fa9ba64d9edc7b6804ae404934a6cfee6b" - integrity sha512-7SL4miKp19lI834/F6y156xlNg+i9Q41tteuGNCq9C06S78f1bm3BXuvf0+QpQxv369Pv/P2R7Hb17hzxLpbDA== - dependencies: - jsep "^0.3.0" - ext@^1.1.2: version "1.7.0" resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" @@ -9823,11 +9736,6 @@ jsdom@^16.6.0: ws "^7.4.6" xml-name-validator "^3.0.0" -jsep@^0.3.0: - version "0.3.5" - resolved "https://registry.yarnpkg.com/jsep/-/jsep-0.3.5.tgz#3fd79ebd92f6f434e4857d5272aaeef7d948264d" - integrity sha512-AoRLBDc6JNnKjNcmonituEABS5bcfqDhQAWWXNTFrqu6nVXBpBAGfcoTGZMFlIrh9FjmE1CQyX9CTNwZrXMMDA== - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -10463,13 +10371,6 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^7.4.2: - version "7.4.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb" - integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== - dependencies: - brace-expansion "^2.0.1" - minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -13778,11 +13679,6 @@ style-loader@^3.3.1: resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== -style-mod@^4.0.0, style-mod@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.1.2.tgz#ca238a1ad4786520f7515a8539d5a63691d7bf67" - integrity sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw== - style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" @@ -14690,11 +14586,6 @@ w3c-hr-time@^1.0.2: dependencies: browser-process-hrtime "^1.0.0" -w3c-keyname@^2.2.4: - version "2.2.8" - resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" - integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== - w3c-xmlserializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a"