diff --git a/services/web/.eslintrc b/services/web/.eslintrc index 43eb77555e..9f77b5761c 100644 --- a/services/web/.eslintrc +++ b/services/web/.eslintrc @@ -47,6 +47,9 @@ "no-unreachable-loop": "off", "no-loss-of-precision": "off", + // do not allow importing of implicit dependencies. + "import/no-extraneous-dependencies": "error", + "node/no-callback-literal": "off", "node/no-deprecated-api": "off", "node/handle-callback-err": "off", @@ -100,7 +103,13 @@ "files": ["**/app/src/**/*.js"], "rules": { // don't allow console.log in backend code - "no-console": "error" + "no-console": "error", + + // do not allow importing of implicit dependencies. + "import/no-extraneous-dependencies": ["error", { + // do not allow importing of devDependencies. + "devDependencies": false + }] } }, { @@ -145,6 +154,15 @@ } ] } + }, + { + "files": ["scripts/ukamf/*.js"], + "rules": { + // Do not allow importing of any dependencies unless specified in either + // - web/package.json + // - web/scripts/ukamf/package.json + "import/no-extraneous-dependencies": ["error", {"packageDir": [".", "scripts/ukamf"]}] + } } ] } diff --git a/services/web/package-lock.json b/services/web/package-lock.json index 7ad5ce2949..b3fab4ee3d 100644 --- a/services/web/package-lock.json +++ b/services/web/package-lock.json @@ -18213,7 +18213,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "functions-have-names": { @@ -22865,8 +22865,7 @@ "mathjax": { "version": "2.7.9", "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.9.tgz", - "integrity": "sha512-NOGEDTIM9+MrsqnjPEjVGNx4q0GQxqm61yQwSK+/5S59i26wId5IC5gNu9/bu8+CCVl5p9G2IHcAl/wJa+5+BQ==", - "dev": true + "integrity": "sha512-NOGEDTIM9+MrsqnjPEjVGNx4q0GQxqm61yQwSK+/5S59i26wId5IC5gNu9/bu8+CCVl5p9G2IHcAl/wJa+5+BQ==" }, "md5": { "version": "2.3.0", @@ -23115,7 +23114,7 @@ "microtime-nodejs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/microtime-nodejs/-/microtime-nodejs-1.0.0.tgz", - "integrity": "sha512-SthP/4JW6HUIZfgM0nadNtwKm/WMH0+z1i4RsPDnud+UasjoABzSkCk3eMhIRzipgwPhkdAYpTI69X4II4j1pA==" + "integrity": "sha1-iFlASvLipGKhXJzWvyxORo2r2+g=" }, "miller-rabin": { "version": "4.0.1", @@ -23392,7 +23391,7 @@ }, "mkdirp": { "version": "0.5.1", - "resolved": "", + "resolved": false, "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==", "requires": { "minimist": "0.0.8" @@ -24122,7 +24121,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "ncp": { @@ -29777,7 +29776,7 @@ "require-like": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", - "integrity": "sha1-rW8wwTvs15cBDEaK+ndcDAprR/o=", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", "dev": true }, "require-main-filename": { diff --git a/services/web/package.json b/services/web/package.json index 283d4d0eb3..b4e88ba8e8 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -56,8 +56,10 @@ "@pollyjs/persister-fs": "^4.2.1", "@sentry/browser": "^5.27.6", "@uppy/core": "^1.15.0", + "@uppy/dashboard": "^1.11.0", "@uppy/react": "^1.11.0", "@uppy/xhr-upload": "^1.6.8", + "accepts": "^1.3.7", "ace-builds": "https://github.com/overleaf/ace-builds/archive/v1.4.12-69aace50e6796d42116f8f96e19d2468d8a88af9.tar.gz", "algoliasearch": "^3.35.1", "angular": "~1.8.0", @@ -109,6 +111,7 @@ "mailchimp-api-v3": "^1.12.0", "marked": "^0.3.5", "match-sorter": "^6.2.0", + "mathjax": "^2.7.9", "method-override": "^2.3.3", "minimist": "1.2.5", "mmmagic": "^0.5.3", @@ -135,6 +138,7 @@ "pdfjs-dist": "^2.2.228", "prop-types": "^15.7.2", "pug": "^3.0.1", + "pug-runtime": "^3.0.1", "qrcode": "^1.4.4", "react": "^16.13.1", "react-bootstrap": "^0.33.1", @@ -162,6 +166,7 @@ "uuid": "^3.0.1", "valid-data-url": "^2.0.0", "valid-url": "^1.0.9", + "xml-crypto": "1.4.0", "xml2js": "^0.4.22", "xregexp": "^4.3.0", "yauzl": "^2.10.0" @@ -186,6 +191,7 @@ "chai-as-promised": "^7.1.1", "chaid": "^1.0.2", "cheerio": "^1.0.0-rc.3", + "coffeescript": "^2.5.1", "copy-webpack-plugin": "^5.1.1", "css-loader": "^3.5.2", "es6-promise": "^4.2.8", @@ -222,7 +228,6 @@ "less": "^3.11.1", "less-loader": "^6.0.0", "less-plugin-autoprefix": "^2.0.0", - "mathjax": "^2.7.9", "mini-css-extract-plugin": "^0.8.0", "mkdirp": "0.5.1", "mocha": "^8.3.2",