diff --git a/.github/workflows/rspec_requests.yml b/.github/workflows/rspec_requests.yml
index 695f4255a7..abc2d0f42f 100644
--- a/.github/workflows/rspec_requests.yml
+++ b/.github/workflows/rspec_requests.yml
@@ -72,13 +72,13 @@ jobs:
run: python -c "import sys; print(sys.version)"
- name: 'Install frictionless python package'
- run: pip install frictionless==4.14.0
+ run: pip install frictionless==4.38.0
- name: 'Install frictionless python package for excel'
- run: pip install frictionless[excel]==4.14.0
+ run: pip install frictionless[excel]==4.38.0
- name: 'Install frictionless python package for json'
- run: pip install frictionless[json]==4.14.0
+ run: pip install frictionless[json]==4.38.0
- name: 'Compile Assets'
run: bin/rails assets:precompile
diff --git a/app/javascript/react/components/FileUpload/FileList/BadList/BadList.js b/app/javascript/react/components/FileUpload/FileList/BadList/BadList.js
index 862e1b4545..c4ad0683f3 100644
--- a/app/javascript/react/components/FileUpload/FileList/BadList/BadList.js
+++ b/app/javascript/react/components/FileUpload/FileList/BadList/BadList.js
@@ -44,9 +44,7 @@ const badList = (props) => {
if (issueFiles.length > 0) {
issueMsg = (
- Our tabular format checker found formatting issues in
- {makeAndString(issueFiles)}
- .
+ Our tabular format checker found formatting issues in {makeAndString(issueFiles)}.
Please view the issues from the links below and correct them.
-
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
index dcaab94242..e0a5ed8d08 100644
--- a/config/initializers/rack_attack.rb
+++ b/config/initializers/rack_attack.rb
@@ -66,8 +66,8 @@
end
# When a client is throttled, return useful information in the response
-Rack::Attack.throttled_response = ->(env) do
- match_data = env['rack.attack.match_data']
+Rack::Attack.throttled_responder = lambda do |req|
+ match_data = req.env['rack.attack.match_data']
now = match_data[:epoch_time]
headers = {
diff --git a/package.json b/package.json
index d90d7475b5..90e5f903a1 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"dependencies": {
"@babel/plugin-proposal-private-methods": "^7.16.0",
"@babel/preset-react": "^7.14.5",
- "@cdl-dryad/frictionless-components": "^0.3.14",
+ "@cdl-dryad/frictionless-components": "^1.2.0",
"@emotion/css": "^11.7.1",
"@emotion/react": "^11.7.1",
"@emotion/styled": "^11.6.0",
diff --git a/yarn.lock b/yarn.lock
index 957a9451c6..d12cc7ec5a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1029,6 +1029,13 @@
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.2.0":
+ version "7.18.3"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4"
+ integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.16.7", "@babel/template@^7.3.3":
version "7.16.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
@@ -1083,19 +1090,23 @@
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
-"@cdl-dryad/frictionless-components@^0.3.14":
- version "0.3.14"
- resolved "https://registry.yarnpkg.com/@cdl-dryad/frictionless-components/-/frictionless-components-0.3.14.tgz#c4b357cd98f0f1aba83db4c5165175c9a4fc2bb7"
- integrity sha512-fy2AL2/YbLBqzwDYPnaeyEunNaimgpxYz4wAc9QlgQINWqgo9sFrDwF4M3AWZxAu8qVZBAAHHauV36KV3mUsIQ==
+"@cdl-dryad/frictionless-components@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@cdl-dryad/frictionless-components/-/frictionless-components-1.2.0.tgz#c3ad595c0f1204edd8e45463d9a693b62a2240a1"
+ integrity sha512-blblctV5m9tN/r6gxYKM2bvZYwITL58jH9oCKr6ZFchE2HRyOCbvG5hAy5MqRTFUAg0/Cd3qjeqO+DiAF+RTcg==
dependencies:
"@types/lodash" "^4.14.168"
"@types/marked" "^2.0.1"
+ "@types/uuid" "^8.3.0"
classnames "^2.3.1"
jsonschema "^1.4.0"
jszip "^3.6.0"
lodash "^4.17.21"
marked "^2.0.1"
+ react-sortable-hoc "^2.0.0"
+ tableschema "^1.12.4"
use-async-effect "^2.2.3"
+ uuid "^8.3.2"
"@csstools/convert-colors@^1.4.0":
version "1.4.0"
@@ -1741,6 +1752,13 @@
resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080"
integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==
+"@types/csv-parse@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@types/csv-parse/-/csv-parse-1.2.2.tgz#713486235759d615dc8e6a6a979170ada76701d5"
+ integrity sha512-k33tLtRKTQxf7hQfMlkWoS2TQYsnpk1ibZN+rzbuCkeBs8m23nHTeDTF1wb/e7/MSLdtgCzqu3oM1I101kd6yw==
+ dependencies:
+ csv-parse "*"
+
"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18":
version "4.17.28"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8"
@@ -1936,6 +1954,11 @@
dependencies:
"@types/jest" "*"
+"@types/uuid@^8.3.0":
+ version "8.3.4"
+ resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
+ integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
+
"@types/ws@^8.5.1":
version "8.5.3"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d"
@@ -2731,7 +2754,7 @@ axe-core@^4.3.5:
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413"
integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==
-axios@0.21.4:
+axios@0.21.4, axios@^0.21.1:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
@@ -4521,6 +4544,21 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
+csv-parse@*:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.1.0.tgz#e587e969bf0385ecf4f36f584ed5ddebba0237ab"
+ integrity sha512-JL+Q6YEikT2uoe57InjFFa6VejhSv0tDwOxeQ1bVQKeUC/NCnLAAZ8n3PzowPQQLuZ37fysDYZipB2UJkH9C6A==
+
+csv-parse@~4.8.8:
+ version "4.8.9"
+ resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.8.9.tgz#0d3f0973f415677b01d17abaa221fbffc6125760"
+ integrity sha512-uDxIDIDLb89gxqixSgGqDj3EA5A8D0pgUeyp9Qut8u+eCIC8IXkTtaxJEnnWDb6N2HqBY64suSlcOGg5ZBtsAQ==
+
+csv-sniffer@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/csv-sniffer/-/csv-sniffer-0.1.1.tgz#d641017728004615767b6dce89ce2076efb0f0b7"
+ integrity sha512-HMFcKMGCaJNBtkEk1RYZxngODTx0gQnN5x494fWJizua2mdoM1h/LRooZQMkxx5RRHNP0mowlTw9xiS7QhXt/g==
+
custom-event@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425"
@@ -5350,6 +5388,11 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@
es6-symbol "^3.1.3"
next-tick "^1.1.0"
+es6-error@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d"
+ integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==
+
es6-iterator@^2.0.1, es6-iterator@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
@@ -7617,6 +7660,13 @@ into-stream@^3.1.0:
from2 "^2.1.1"
p-is-promise "^1.1.0"
+invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
@@ -9798,6 +9848,11 @@ moment@^2.29.3:
resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3"
integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
+moment@~2.24.0:
+ version "2.24.0"
+ resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
+ integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
+
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -11700,7 +11755,7 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
-prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
+prop-types@^15.5.7, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -11985,6 +12040,15 @@ react-shallow-renderer@^16.13.1:
object-assign "^4.1.1"
react-is "^16.12.0 || ^17.0.0"
+react-sortable-hoc@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/react-sortable-hoc/-/react-sortable-hoc-2.0.0.tgz#f6780d8aa4b922a21f3e754af542f032677078b7"
+ integrity sha512-JZUw7hBsAHXK7PTyErJyI7SopSBFRcFHDjWW5SWjcugY0i6iH7f+eJkY8cJmGMlZ1C9xz1J3Vjz0plFpavVeRg==
+ dependencies:
+ "@babel/runtime" "^7.2.0"
+ invariant "^2.2.4"
+ prop-types "^15.5.7"
+
react-test-renderer@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c"
@@ -12155,7 +12219,7 @@ regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9:
+regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.5, regenerator-runtime@^0.13.9:
version "0.13.9"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52"
integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==
@@ -13251,6 +13315,11 @@ stream-throttle@^0.1.3:
commander "^2.2.0"
limiter "^1.0.5"
+stream-to-async-iterator@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/stream-to-async-iterator/-/stream-to-async-iterator-0.2.0.tgz#bef5c885e9524f98b2fa5effecc357bd58483780"
+ integrity sha1-vvXIhelST5iy+l7/7MNXvVhIN4A=
+
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
@@ -13713,6 +13782,24 @@ table@^6.8.0:
string-width "^4.2.3"
strip-ansi "^6.0.1"
+tableschema@^1.12.4:
+ version "1.12.6"
+ resolved "https://registry.yarnpkg.com/tableschema/-/tableschema-1.12.6.tgz#d126c6ed0d8d46bc55841eb28568b69f51963dc3"
+ integrity sha512-8hQRnTpbpzrRweHJOezgGTcAiXDx0kud5KF5VyFqrjHKuXYgAQbPWmR3JXKRevXcVJ+Wb2xx0cyln+cV4jHWpg==
+ dependencies:
+ "@types/csv-parse" "^1.2.2"
+ axios "^0.21.1"
+ csv-parse "~4.8.8"
+ csv-sniffer "^0.1.1"
+ es6-error "^4.1.1"
+ lodash "^4.17.15"
+ moment "~2.24.0"
+ regenerator-runtime "^0.13.5"
+ stream-to-async-iterator "^0.2.0"
+ through2 "^3.0.1"
+ tv4 "^1.3.0"
+ validator "^13.0.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -14125,6 +14212,11 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
+tv4@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.3.0.tgz#d020c846fadd50c855abb25ebaecc68fc10f7963"
+ integrity sha1-0CDIRvrdUMhVq7JeuuzGj8EPeWM=
+
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
@@ -14529,6 +14621,11 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+validator@^13.0.0:
+ version "13.7.0"
+ resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857"
+ integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==
+
value-or-function@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813"