mirror of
https://github.com/strapi/strapi.git
synced 2025-12-27 15:13:21 +00:00
Merge branch 'develop' into features/sso
This commit is contained in:
commit
4c3bd90ec0
@ -59,6 +59,7 @@ module.exports = {
|
||||
'<rootDir>/examples/getstarted/',
|
||||
'<rootDir>/packages/strapi-helper-plugin/dist/',
|
||||
'/OLD/',
|
||||
'__tests__',
|
||||
],
|
||||
setupFilesAfterEnv: [
|
||||
'<rootDir>/test/config/front/enzyme-setup.js',
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
"eslint-config-airbnb-base": "^14.0.0",
|
||||
"eslint-config-prettier": "^6.15.0",
|
||||
"eslint-plugin-import": "^2.19.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.2.3",
|
||||
"eslint-plugin-jsx-a11y": "^6.4.1",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-react": "^7.22.0",
|
||||
"eslint-plugin-react-hooks": "^4.2.0",
|
||||
|
||||
@ -92,6 +92,7 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
############################
|
||||
@ -99,6 +100,9 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
webpack.config.dev.js
|
||||
webpack.config.dev.js
|
||||
|
||||
12
packages/strapi-admin/admin/.gitignore
vendored
12
packages/strapi-admin/admin/.gitignore
vendored
@ -1,12 +0,0 @@
|
||||
# Don't check auto-generated stuff into git
|
||||
coverage
|
||||
node_modules
|
||||
manifest.json
|
||||
plugins.json
|
||||
stats.json
|
||||
package-lock.json
|
||||
|
||||
# Cruft
|
||||
.DS_Store
|
||||
npm-debug.log
|
||||
.idea
|
||||
@ -1,101 +0,0 @@
|
||||
############################
|
||||
# OS X
|
||||
############################
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
._*
|
||||
|
||||
|
||||
############################
|
||||
# Linux
|
||||
############################
|
||||
|
||||
*~
|
||||
|
||||
|
||||
############################
|
||||
# Windows
|
||||
############################
|
||||
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
|
||||
############################
|
||||
# Packages
|
||||
############################
|
||||
|
||||
*.7z
|
||||
*.csv
|
||||
*.dat
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.seed
|
||||
*.so
|
||||
*.swo
|
||||
*.swp
|
||||
*.swn
|
||||
*.swm
|
||||
*.out
|
||||
*.pid
|
||||
|
||||
|
||||
############################
|
||||
# Logs and databases
|
||||
############################
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
|
||||
|
||||
############################
|
||||
# Misc.
|
||||
############################
|
||||
|
||||
*#
|
||||
ssl
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
|
||||
############################
|
||||
# Node.js
|
||||
############################
|
||||
|
||||
lib-cov
|
||||
lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
test
|
||||
testApp
|
||||
coverage
|
||||
@ -34,7 +34,7 @@
|
||||
"@fortawesome/fontawesome-free": "^5.11.2",
|
||||
"@fortawesome/fontawesome-svg-core": "^1.2.32",
|
||||
"@fortawesome/free-brands-svg-icons": "^5.15.2",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.14.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^5.15.2",
|
||||
"@fortawesome/react-fontawesome": "^0.1.12",
|
||||
"autoprefixer": "^9.8.6",
|
||||
"axios": "^0.21.1",
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -67,6 +67,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
*.sqlite
|
||||
|
||||
|
||||
############################
|
||||
@ -75,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -88,8 +90,11 @@ lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -97,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -75,6 +75,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -91,6 +92,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -98,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
"lib": "./lib"
|
||||
},
|
||||
"dependencies": {
|
||||
"@sentry/node": "^5.27.3",
|
||||
"@sentry/node": "^6.0.3",
|
||||
"chalk": "^2.4.2",
|
||||
"execa": "^1.0.0",
|
||||
"fs-extra": "^9.0.1",
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
|
||||
*#
|
||||
ssl
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -92,6 +92,8 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -1,101 +0,0 @@
|
||||
############################
|
||||
# OS X
|
||||
############################
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
._*
|
||||
|
||||
|
||||
############################
|
||||
# Linux
|
||||
############################
|
||||
|
||||
*~
|
||||
|
||||
|
||||
############################
|
||||
# Windows
|
||||
############################
|
||||
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
|
||||
############################
|
||||
# Packages
|
||||
############################
|
||||
|
||||
*.7z
|
||||
*.csv
|
||||
*.dat
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.seed
|
||||
*.so
|
||||
*.swo
|
||||
*.swp
|
||||
*.swn
|
||||
*.swm
|
||||
*.out
|
||||
*.pid
|
||||
|
||||
|
||||
############################
|
||||
# Logs and databases
|
||||
############################
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
|
||||
|
||||
############################
|
||||
# Misc.
|
||||
############################
|
||||
|
||||
*#
|
||||
ssl
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
|
||||
############################
|
||||
# Node.js
|
||||
############################
|
||||
|
||||
lib-cov
|
||||
lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
test
|
||||
testApp
|
||||
coverage
|
||||
@ -1,7 +1,7 @@
|
||||
import styled from 'styled-components';
|
||||
|
||||
const Container = styled.div`
|
||||
padding: 18px 30px 18px 30px;
|
||||
padding: 18px 30px 66px 30px;
|
||||
`;
|
||||
|
||||
export default Container;
|
||||
|
||||
@ -42,6 +42,7 @@ const InputUID = ({
|
||||
contentTypeUID,
|
||||
description,
|
||||
error: inputError,
|
||||
label: inputLabel,
|
||||
name,
|
||||
onChange,
|
||||
validations,
|
||||
@ -217,7 +218,7 @@ const InputUID = ({
|
||||
|
||||
return (
|
||||
<Wrapper ref={wrapperRef}>
|
||||
<Name htmlFor={name}>{name}</Name>
|
||||
<Name htmlFor={name}>{inputLabel}</Name>
|
||||
<InputContainer>
|
||||
<Input
|
||||
{...inputProps}
|
||||
@ -291,6 +292,7 @@ InputUID.propTypes = {
|
||||
description: PropTypes.string,
|
||||
editable: PropTypes.bool,
|
||||
error: PropTypes.string,
|
||||
label: PropTypes.string.isRequired,
|
||||
name: PropTypes.string.isRequired,
|
||||
onChange: PropTypes.func.isRequired,
|
||||
validations: PropTypes.object,
|
||||
|
||||
@ -212,13 +212,6 @@ const createYupSchema = (
|
||||
const createYupSchemaAttribute = (type, validations, options) => {
|
||||
let schema = yup.mixed();
|
||||
|
||||
let regex = get(validations, 'regex', null);
|
||||
delete validations.regex;
|
||||
|
||||
if (regex) {
|
||||
validations.regex = new RegExp(regex);
|
||||
}
|
||||
|
||||
if (['string', 'uid', 'text', 'richtext', 'email', 'password', 'enumeration'].includes(type)) {
|
||||
schema = yup.string();
|
||||
}
|
||||
@ -341,7 +334,7 @@ const createYupSchemaAttribute = (type, validations, options) => {
|
||||
break;
|
||||
}
|
||||
case 'regex':
|
||||
schema = schema.matches(validationValue, errorsTrads.regex);
|
||||
schema = schema.matches(new RegExp(validationValue), errorsTrads.regex);
|
||||
break;
|
||||
case 'lowercase':
|
||||
if (['text', 'textarea', 'email', 'string'].includes(type)) {
|
||||
|
||||
@ -92,12 +92,16 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -1,101 +0,0 @@
|
||||
############################
|
||||
# OS X
|
||||
############################
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
._*
|
||||
|
||||
|
||||
############################
|
||||
# Linux
|
||||
############################
|
||||
|
||||
*~
|
||||
|
||||
|
||||
############################
|
||||
# Windows
|
||||
############################
|
||||
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
|
||||
############################
|
||||
# Packages
|
||||
############################
|
||||
|
||||
*.7z
|
||||
*.csv
|
||||
*.dat
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.seed
|
||||
*.so
|
||||
*.swo
|
||||
*.swp
|
||||
*.swn
|
||||
*.swm
|
||||
*.out
|
||||
*.pid
|
||||
|
||||
|
||||
############################
|
||||
# Logs and databases
|
||||
############################
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
|
||||
|
||||
############################
|
||||
# Misc.
|
||||
############################
|
||||
|
||||
*#
|
||||
ssl
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
|
||||
############################
|
||||
# Node.js
|
||||
############################
|
||||
|
||||
lib-cov
|
||||
lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
test
|
||||
testApp
|
||||
coverage
|
||||
@ -36,7 +36,7 @@
|
||||
"redux-immutable": "^4.0.0",
|
||||
"reselect": "^4.0.0",
|
||||
"strapi-helper-plugin": "3.4.5",
|
||||
"swagger-ui-dist": "3.39.0"
|
||||
"swagger-ui-dist": "3.41.1"
|
||||
},
|
||||
"author": {
|
||||
"name": "soupette",
|
||||
|
||||
@ -92,6 +92,8 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -92,6 +92,8 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
"apollo-server-koa": "2.19.1",
|
||||
"dataloader": "^1.4.0",
|
||||
"glob": "^7.1.6",
|
||||
"graphql": "15.4.0",
|
||||
"graphql": "15.5.0",
|
||||
"graphql-depth-limit": "^1.1.0",
|
||||
"graphql-iso-date": "^3.6.1",
|
||||
"graphql-playground-middleware-koa": "^1.6.21",
|
||||
|
||||
@ -92,6 +92,8 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -40,11 +40,13 @@ const List = ({
|
||||
<ListRow>
|
||||
{data.map(item => {
|
||||
const { id } = item;
|
||||
const url = get(item, ['formats', 'small', 'url'], item.url);
|
||||
const thumbnail = get(item, ['formats', 'small'], item);
|
||||
const isAllowed =
|
||||
allowedTypes.length > 0 ? allowedTypes.includes(getType(item.mime)) : true;
|
||||
const checked = selectedItems.findIndex(file => file.id === id) !== -1;
|
||||
const fileUrl = prefixFileUrlWithBackendUrl(url);
|
||||
|
||||
const fileUrl = prefixFileUrlWithBackendUrl(thumbnail.url);
|
||||
|
||||
const cardOptions = {
|
||||
...pick(item, ['ext', 'name', 'mime', 'height', 'width', 'size', 'previewUrl', 'id']),
|
||||
isDisabled: !isAllowed,
|
||||
|
||||
@ -1,18 +1,36 @@
|
||||
import React, { useEffect, useReducer, useRef } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import styled from 'styled-components';
|
||||
import { FormattedMessage, useIntl } from 'react-intl';
|
||||
import Duration from '../Duration';
|
||||
import LoadingIndicator from '../LoadingIndicator';
|
||||
import PlayIcon from '../PlayIcon';
|
||||
import Wrapper from './Wrapper';
|
||||
import CanvasWrapper from './CanvasWrapper';
|
||||
import Thumbnail from './Thumbnail';
|
||||
|
||||
import reducer, { initialState } from './reducer';
|
||||
import getTrad from '../../utils/getTrad';
|
||||
|
||||
const EmptyPreview = styled.div`
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: ${({ theme }) => theme.main.sizes.fonts.xs};
|
||||
color: ${({ theme }) => theme.main.colors.grey};
|
||||
`;
|
||||
|
||||
const VideoPreview = ({ hasIcon, previewUrl, src }) => {
|
||||
const { formatMessage } = useIntl();
|
||||
const [reducerState, dispatch] = useReducer(reducer, initialState);
|
||||
const { duration, dataLoaded, isHover, metadataLoaded, snapshot, seeked } = reducerState.toJS();
|
||||
const {
|
||||
duration,
|
||||
dataLoaded,
|
||||
isHover,
|
||||
metadataLoaded,
|
||||
snapshot,
|
||||
seeked,
|
||||
isError,
|
||||
} = reducerState.toJS();
|
||||
|
||||
// Adapted from https://github.com/brothatru/react-video-thumbnail/blob/master/src/components/VideoThumbnail.js
|
||||
// And from https://github.com/soupette/poc-video-preview
|
||||
@ -51,6 +69,14 @@ const VideoPreview = ({ hasIcon, previewUrl, src }) => {
|
||||
}
|
||||
}, [dataLoaded, metadataLoaded, seeked, snapshot]);
|
||||
|
||||
if (isError) {
|
||||
return (
|
||||
<EmptyPreview>
|
||||
<FormattedMessage id={getTrad('list.assets.not-supported-content')} />
|
||||
</EmptyPreview>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Wrapper
|
||||
// Specify isHover to prevent bad behavior when compo is under the cursor on modal open
|
||||
@ -67,17 +93,35 @@ const VideoPreview = ({ hasIcon, previewUrl, src }) => {
|
||||
});
|
||||
}}
|
||||
>
|
||||
{!snapshot && <LoadingIndicator />}
|
||||
{!snapshot && (
|
||||
<LoadingIndicator
|
||||
aria-label={formatMessage(
|
||||
{
|
||||
id: getTrad('list.assets.loading-asset'),
|
||||
},
|
||||
{ path: src }
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
|
||||
<CanvasWrapper>
|
||||
{previewUrl ? (
|
||||
<Thumbnail src={previewUrl} />
|
||||
<Thumbnail
|
||||
src={previewUrl}
|
||||
alt={formatMessage(
|
||||
{
|
||||
id: getTrad('list.assets.preview-asset'),
|
||||
},
|
||||
{ path: src }
|
||||
)}
|
||||
/>
|
||||
) : (
|
||||
<>
|
||||
<video
|
||||
muted
|
||||
ref={videoRef}
|
||||
src={src}
|
||||
crossOrigin="anonymous"
|
||||
onError={() => dispatch({ type: 'SET_ERROR', isError: true })}
|
||||
onLoadedMetadata={() => {
|
||||
dispatch({
|
||||
type: 'METADATA_LOADED',
|
||||
@ -99,6 +143,7 @@ const VideoPreview = ({ hasIcon, previewUrl, src }) => {
|
||||
</>
|
||||
)}
|
||||
<Duration duration={duration} />
|
||||
|
||||
{(hasIcon || isHover) && <PlayIcon small />}
|
||||
</CanvasWrapper>
|
||||
</Wrapper>
|
||||
|
||||
@ -7,6 +7,7 @@ const initialState = fromJS({
|
||||
metadataLoaded: false,
|
||||
seeked: false,
|
||||
snapshot: false,
|
||||
isError: false,
|
||||
});
|
||||
|
||||
const videoReducer = (state, action) => {
|
||||
@ -21,6 +22,8 @@ const videoReducer = (state, action) => {
|
||||
return state.update('isHover', () => action.isHover);
|
||||
case 'SET_SNAPSHOT':
|
||||
return state.update('snapshot', () => action.snapshot);
|
||||
case 'SET_ERROR':
|
||||
return state.update('isError', () => action.isError);
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
|
||||
@ -0,0 +1,77 @@
|
||||
import React from 'react';
|
||||
import { screen, render, fireEvent } from '@testing-library/react';
|
||||
import { ThemeProvider } from 'styled-components';
|
||||
import VideoPreview from '..';
|
||||
import themes from '../../../../../../strapi-admin/admin/src/themes';
|
||||
|
||||
jest.mock('react-intl', () => ({
|
||||
// eslint-disable-next-line react/prop-types
|
||||
FormattedMessage: ({ id }) => <div>{id}</div>,
|
||||
useIntl: () => ({
|
||||
formatMessage: ({ id }) => id,
|
||||
}),
|
||||
}));
|
||||
|
||||
describe('VideoPreview', () => {
|
||||
it('shows its initial state with no props', () => {
|
||||
const { container } = render(
|
||||
<ThemeProvider theme={themes}>
|
||||
<VideoPreview />
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
expect(container).toMatchSnapshot();
|
||||
});
|
||||
|
||||
it('shows a loading state when resolving the asset', () => {
|
||||
render(
|
||||
<ThemeProvider theme={themes}>
|
||||
<VideoPreview
|
||||
hasIcon
|
||||
previewUrl="https://some-preview-url/img.jpg"
|
||||
src="https://something-good/video.mp4"
|
||||
/>
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
expect(screen.getByLabelText('upload.list.assets.loading-asset')).toBeVisible();
|
||||
});
|
||||
|
||||
it('shows the thumbnail but not the video when previewURL is passed', () => {
|
||||
const { container } = render(
|
||||
<ThemeProvider theme={themes}>
|
||||
<VideoPreview
|
||||
hasIcon
|
||||
previewUrl="https://some-preview-url/img.jpg"
|
||||
src="https://something-good/video.mp4"
|
||||
/>
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
expect(screen.getByAltText('upload.list.assets.preview-asset')).toBeVisible();
|
||||
|
||||
expect(container.querySelector('video')).toBeFalsy();
|
||||
});
|
||||
|
||||
it('shows the video when the previewURL is not passed', () => {
|
||||
const { container } = render(
|
||||
<ThemeProvider theme={themes}>
|
||||
<VideoPreview hasIcon src="https://something-good/video.mp4" />
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
expect(container.querySelector('video')).toBeVisible();
|
||||
});
|
||||
|
||||
it('shows a fallback message when the video is in error', () => {
|
||||
const { container } = render(
|
||||
<ThemeProvider theme={themes}>
|
||||
<VideoPreview hasIcon src="https://something-good/video.wvf" />
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
fireEvent(container.querySelector('video'), new Event('error'));
|
||||
|
||||
expect(screen.getByText('upload.list.assets.not-supported-content')).toBeVisible();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,118 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`VideoPreview shows its initial state with no props 1`] = `
|
||||
.c3 {
|
||||
margin: 0;
|
||||
line-height: normal;
|
||||
color: #ffffff;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.c4 {
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
right: 10px;
|
||||
padding: 3px 5px;
|
||||
border-radius: 2px;
|
||||
background-color: #333740;
|
||||
}
|
||||
|
||||
.c1 {
|
||||
position: relative;
|
||||
width: 44%;
|
||||
height: 4px;
|
||||
overflow: hidden;
|
||||
background-color: #515764;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.c1:before {
|
||||
content: '';
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
width: 100px;
|
||||
height: 4px;
|
||||
background-color: #b3b5b9;
|
||||
-webkit-animation: gPeyzP 2s linear infinite;
|
||||
animation: gPeyzP 2s linear infinite;
|
||||
}
|
||||
|
||||
.c0 {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-align-items: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.c0 video {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.c2 {
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
-webkit-align-items: center;
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.c2 canvas {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
width: auto;
|
||||
height: auto;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
<div>
|
||||
<div
|
||||
class="c0"
|
||||
>
|
||||
<div
|
||||
aria-label="upload.list.assets.loading-asset"
|
||||
class="c1"
|
||||
/>
|
||||
<div
|
||||
class="c2"
|
||||
>
|
||||
<video />
|
||||
<canvas />
|
||||
<p
|
||||
class="c3 c4"
|
||||
color="white"
|
||||
font-size="md"
|
||||
font-weight="semiBold"
|
||||
>
|
||||
00:00
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
@ -79,4 +79,17 @@ describe('Upload | components | VideoPreview | reducer', () => {
|
||||
|
||||
expect(reducer(state, action)).toEqual(expectedState);
|
||||
});
|
||||
|
||||
it('should set isError to true when the payload is true', () => {
|
||||
const state = initialState;
|
||||
|
||||
const action = {
|
||||
type: 'SET_ERROR',
|
||||
isError: true,
|
||||
};
|
||||
|
||||
const expectedState = state.set('isError', true);
|
||||
|
||||
expect(reducer(state, action)).toEqual(expectedState);
|
||||
});
|
||||
});
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
"list.assets.selected.plural": "{number} assets selected",
|
||||
"list.assets.selected.singular": "{number} asset selected",
|
||||
"list.assets.type-not-allowed": "This type of file is not allowed.",
|
||||
"list.assets.not-supported-content": "No preview available",
|
||||
"list.assets.loading-asset": "Loading the preview for the media: {path}",
|
||||
"list.assets.preview-asset": "Preview for the video at path {path}",
|
||||
"modal.file-details.date": "Date",
|
||||
"modal.file-details.dimensions": "Dimensions",
|
||||
"modal.file-details.extension": "Extension",
|
||||
|
||||
@ -36,6 +36,9 @@
|
||||
"list.assets.selected.plural": "{number} médias sélectionnés",
|
||||
"list.assets.selected.singular": "{number} média sélectionné",
|
||||
"list.assets.type-not-allowed": "Ce type de fichier n'est pas autorisé.",
|
||||
"list.assets.not-supported-content": "Preview non disponible",
|
||||
"list.assets.loading-asset": "Chargement du contenu pour le media {path}",
|
||||
"list.assets.preview-asset": "Preview de la vidéo {path}",
|
||||
"modal.file-details.date": "Date",
|
||||
"modal.file-details.dimensions": "Dimensions",
|
||||
"modal.file-details.extension": "Extension",
|
||||
|
||||
@ -4,6 +4,7 @@ import en from './en.json';
|
||||
import es from './es.json';
|
||||
import fr from './fr.json';
|
||||
import he from './he.json';
|
||||
import it from './it.json';
|
||||
import ja from './ja.json';
|
||||
import ms from './ms.json';
|
||||
import ru from './ru.json';
|
||||
@ -20,6 +21,7 @@ const trads = {
|
||||
es,
|
||||
fr,
|
||||
he,
|
||||
it,
|
||||
ja,
|
||||
ms,
|
||||
ru,
|
||||
|
||||
@ -3,5 +3,6 @@
|
||||
"provider": "local",
|
||||
"providerOptions": {
|
||||
"sizeLimit": 1000000
|
||||
}
|
||||
},
|
||||
"actionOptions": {}
|
||||
}
|
||||
|
||||
@ -36,14 +36,18 @@ const wrapFunctionForErrors = fn => async (...args) => {
|
||||
}
|
||||
};
|
||||
|
||||
const createProvider = ({ provider, providerOptions }) => {
|
||||
const createProvider = ({ provider, providerOptions, actionOptions = {} }) => {
|
||||
try {
|
||||
const providerInstance = require(`strapi-provider-upload-${provider}`).init(providerOptions);
|
||||
|
||||
return Object.assign(Object.create(baseProvider), {
|
||||
...providerInstance,
|
||||
upload: wrapFunctionForErrors(providerInstance.upload.bind(providerInstance)),
|
||||
delete: wrapFunctionForErrors(providerInstance.delete.bind(providerInstance)),
|
||||
upload: wrapFunctionForErrors((file, options = actionOptions.upload) => {
|
||||
return providerInstance.upload(file, options);
|
||||
}),
|
||||
delete: wrapFunctionForErrors((file, options = actionOptions.delete) => {
|
||||
return providerInstance.delete(file, options);
|
||||
}),
|
||||
});
|
||||
} catch (err) {
|
||||
strapi.log.error(err);
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
"react-router": "^5.0.0",
|
||||
"react-router-dom": "^5.0.0",
|
||||
"reactstrap": "8.4.1",
|
||||
"sharp": "0.26.2",
|
||||
"sharp": "0.27.1",
|
||||
"strapi-helper-plugin": "3.4.5",
|
||||
"strapi-provider-upload-local": "3.4.5",
|
||||
"strapi-utils": "3.4.5",
|
||||
|
||||
@ -87,12 +87,14 @@ const optimize = async buffer => {
|
||||
.catch(() => ({ buffer }));
|
||||
};
|
||||
|
||||
const BREAKPOINTS = {
|
||||
const DEFAULT_BREAKPOINTS = {
|
||||
large: 1000,
|
||||
medium: 750,
|
||||
small: 500,
|
||||
};
|
||||
|
||||
const getBreakpoints = () => strapi.config.get('plugins.upload.breakpoints', DEFAULT_BREAKPOINTS);
|
||||
|
||||
const generateResponsiveFormats = async file => {
|
||||
const {
|
||||
responsiveDimensions = false,
|
||||
@ -106,9 +108,10 @@ const generateResponsiveFormats = async file => {
|
||||
|
||||
const originalDimensions = await getDimensions(file.buffer);
|
||||
|
||||
const breakpoints = getBreakpoints();
|
||||
return Promise.all(
|
||||
Object.keys(BREAKPOINTS).map(key => {
|
||||
const breakpoint = BREAKPOINTS[key];
|
||||
Object.keys(breakpoints).map(key => {
|
||||
const breakpoint = breakpoints[key];
|
||||
|
||||
if (breakpointSmallerThan(breakpoint, originalDimensions)) {
|
||||
return generateBreakpoint(key, { file, breakpoint, originalDimensions });
|
||||
|
||||
@ -92,6 +92,8 @@ logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +101,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
@ -1,101 +0,0 @@
|
||||
############################
|
||||
# OS X
|
||||
############################
|
||||
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
Icon
|
||||
.Spotlight-V100
|
||||
.Trashes
|
||||
._*
|
||||
|
||||
|
||||
############################
|
||||
# Linux
|
||||
############################
|
||||
|
||||
*~
|
||||
|
||||
|
||||
############################
|
||||
# Windows
|
||||
############################
|
||||
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
Desktop.ini
|
||||
$RECYCLE.BIN/
|
||||
*.cab
|
||||
*.msi
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
|
||||
############################
|
||||
# Packages
|
||||
############################
|
||||
|
||||
*.7z
|
||||
*.csv
|
||||
*.dat
|
||||
*.dmg
|
||||
*.gz
|
||||
*.iso
|
||||
*.jar
|
||||
*.rar
|
||||
*.tar
|
||||
*.zip
|
||||
*.com
|
||||
*.class
|
||||
*.dll
|
||||
*.exe
|
||||
*.o
|
||||
*.seed
|
||||
*.so
|
||||
*.swo
|
||||
*.swp
|
||||
*.swn
|
||||
*.swm
|
||||
*.out
|
||||
*.pid
|
||||
|
||||
|
||||
############################
|
||||
# Logs and databases
|
||||
############################
|
||||
|
||||
*.log
|
||||
*.sql
|
||||
|
||||
|
||||
############################
|
||||
# Misc.
|
||||
############################
|
||||
|
||||
*#
|
||||
ssl
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
|
||||
############################
|
||||
# Node.js
|
||||
############################
|
||||
|
||||
lib-cov
|
||||
lcov.info
|
||||
pids
|
||||
logs
|
||||
results
|
||||
node_modules
|
||||
.node_history
|
||||
|
||||
|
||||
############################
|
||||
# Tests
|
||||
############################
|
||||
|
||||
test
|
||||
testApp
|
||||
coverage
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -4,6 +4,8 @@
|
||||
|
||||
Your configuration is passed down to the cloudinary configuration. (e.g: `cloudinary.config(config)`). You can see the complete list of options [here](https://cloudinary.com/documentation/cloudinary_sdks#configuration_parameters)
|
||||
|
||||
`actionOptions` are passed directly to the upload and delete functions respectively allowing for custom options such as folder, type, etc. You can see the complete list of upload options [here](https://cloudinary.com/documentation/image_upload_api_reference#upload_optional_parameters) and delete options [here](https://cloudinary.com/documentation/image_upload_api_reference#destroy_optional_parameters)
|
||||
|
||||
See the [using a provider](https://strapi.io/documentation/developer-docs/latest/plugins/upload.html#using-a-provider) documentation for information on installing and using a provider. And see the [environment variables](https://strapi.io/documentation/developer-docs/latest/concepts/configurations.html#environment-variables) for setting and using environment variables in your configs.
|
||||
|
||||
**Example**
|
||||
@ -20,6 +22,10 @@ module.exports = ({ env }) => ({
|
||||
api_key: env('CLOUDINARY_KEY'),
|
||||
api_secret: env('CLOUDINARY_SECRET'),
|
||||
},
|
||||
actionOptions: {
|
||||
upload: {},
|
||||
delete: {},
|
||||
},
|
||||
},
|
||||
// ...
|
||||
});
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -95,6 +95,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -102,3 +104,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,3 +102,6 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
|
||||
@ -111,8 +111,16 @@ const hasDeepFilters = ({ where = [], sort = [] }, { minDepth = 1 } = {}) => {
|
||||
|
||||
const normalizeWhereClauses = (whereClauses, { model }) => {
|
||||
return whereClauses
|
||||
.filter(({ value }) => !_.isNil(value))
|
||||
.filter(({ value }) => !_.isNull(value))
|
||||
.map(({ field, operator, value }) => {
|
||||
if (_.isUndefined(value)) {
|
||||
const err = new Error(
|
||||
`The value of field: '${field}', in your where filter, is undefined.`
|
||||
);
|
||||
err.status = 400;
|
||||
throw err;
|
||||
}
|
||||
|
||||
if (BOOLEAN_OPERATORS.includes(operator)) {
|
||||
return {
|
||||
field,
|
||||
|
||||
@ -76,6 +76,7 @@ $RECYCLE.BIN/
|
||||
############################
|
||||
|
||||
*#
|
||||
.editorconfig
|
||||
.idea
|
||||
nbproject
|
||||
|
||||
@ -92,6 +93,8 @@ results
|
||||
build
|
||||
node_modules
|
||||
.node_history
|
||||
.snyk
|
||||
|
||||
|
||||
|
||||
############################
|
||||
@ -99,5 +102,8 @@ node_modules
|
||||
############################
|
||||
|
||||
test
|
||||
tests
|
||||
__tests__
|
||||
jest.config.js
|
||||
testApp
|
||||
coverage
|
||||
|
||||
291
yarn.lock
291
yarn.lock
@ -1002,7 +1002,7 @@
|
||||
core-js-pure "^3.0.0"
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.5", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.2.0", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
version "7.12.5"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
|
||||
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
|
||||
@ -1410,12 +1410,12 @@
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.2.30"
|
||||
|
||||
"@fortawesome/free-solid-svg-icons@^5.10.2", "@fortawesome/free-solid-svg-icons@^5.11.2", "@fortawesome/free-solid-svg-icons@^5.14.0":
|
||||
version "5.14.0"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.14.0.tgz#970453f5e8c4915ad57856c3a0252ac63f6fec18"
|
||||
integrity sha512-M933RDM8cecaKMWDSk3FRYdnzWGW7kBBlGNGfvqLVwcwhUPNj9gcw+xZMrqBdRqxnSXdl3zWzTCNNGEtFUq67Q==
|
||||
"@fortawesome/free-solid-svg-icons@^5.10.2", "@fortawesome/free-solid-svg-icons@^5.11.2", "@fortawesome/free-solid-svg-icons@^5.15.2":
|
||||
version "5.15.2"
|
||||
resolved "https://registry.yarnpkg.com/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.2.tgz#25bb035de57cf85aee8072965732368ccc8e8943"
|
||||
integrity sha512-ZfCU+QjaFsdNZmOGmfqEWhzI3JOe37x5dF4kz9GeXvKn/sTxhqMtZ7mh3lBf76SvcYY5/GKFuyG7p1r4iWMQqw==
|
||||
dependencies:
|
||||
"@fortawesome/fontawesome-common-types" "^0.2.30"
|
||||
"@fortawesome/fontawesome-common-types" "^0.2.34"
|
||||
|
||||
"@fortawesome/react-fontawesome@^0.1.12", "@fortawesome/react-fontawesome@^0.1.4":
|
||||
version "0.1.12"
|
||||
@ -2694,72 +2694,72 @@
|
||||
"@sendgrid/client" "^6.4.0"
|
||||
"@sendgrid/helpers" "^6.4.0"
|
||||
|
||||
"@sentry/core@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.27.3.tgz#d7a175b71596b7eb4b2e8b4cd1858a60d95813bb"
|
||||
integrity sha512-yqepQO88jSt5hy0awpk61AxI4oHB09LjVbUEk4nJDg+1YXuND23cuZvH+Sp2jCZX2vrsw2tefwflToYfA8/U2w==
|
||||
"@sentry/core@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.0.3.tgz#620cb32365a11eac75497bed281bd52b9f0bb359"
|
||||
integrity sha512-UykB/4/98y2DkNvwTiL2ofFPuK3KDHc7rIRNsdj6dg6D+Cf7FRexgmWUUkZrpC/y+QBj0TPqkcFDcZAuQDa3Ag==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.27.3"
|
||||
"@sentry/minimal" "5.27.3"
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/utils" "5.27.3"
|
||||
"@sentry/hub" "6.0.3"
|
||||
"@sentry/minimal" "6.0.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
"@sentry/utils" "6.0.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/hub@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.27.3.tgz#f509c2fd38f500afef6030504e82510dbd0649d6"
|
||||
integrity sha512-icEH3hr6NVQkpowXZcPOs9IgJZP5lMKtvud4mVioSpkd+NxtRdKrGEX4eF2TCviOJc9Md0mV4K+aL5Au7hxggQ==
|
||||
"@sentry/hub@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.0.3.tgz#097f7b1e775a4c6c20c9bec60d7507d5ad2e8db0"
|
||||
integrity sha512-BfV32tE09rjTWM9W0kk8gzxUC2k1h57Z5dNWJ35na79+LguNNtCcI6fHlFQ3PkJca6ITYof9FI8iQHUfsHFZnw==
|
||||
dependencies:
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/utils" "5.27.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
"@sentry/utils" "6.0.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/minimal@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.27.3.tgz#c9263bdd6270bfeae64137177448911dff568e53"
|
||||
integrity sha512-ng01cM0rsE1RMjqVTpPLN0ZVkTo0I675usM1krkpQe8ddW6tfQ6EJWpt02/BrpQZRQzTtfWp6/RyB1KFXg6icg==
|
||||
"@sentry/minimal@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.0.3.tgz#6eaaf78c479c49720df3e712d41518e7f4f0ffdf"
|
||||
integrity sha512-YsW+nw0SMyyb7UQdjZeKlZjxbGsJFpXNLh9iIp6fHKnoLTTv17YPm2ej9sOikDsQuVotaPg/xn/Qt5wySGHIxw==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.27.3"
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/hub" "6.0.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/node@^5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.27.3.tgz#174b81fbca8cadac12afe49910cbe9cc25b23f87"
|
||||
integrity sha512-IZ/TkYRY+P/E5C+RF6Rcb6tpY59fyk0040Q3akzbDjb/hrw5TRKnK8fJ6/0gXCAOvlDPIlpRHFJgJ1p2QgWy+g==
|
||||
"@sentry/node@^6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.0.3.tgz#f41e707db710fd7c48e3bffdf05c8edeec95cbe9"
|
||||
integrity sha512-yvj/e91NPiTtkjUvQSdTqAlRkEw0f/jIC70abobtWH0ExUJOuLHOPWMCpAYST8Adv2QV7eGEhywseRrY1dxSsw==
|
||||
dependencies:
|
||||
"@sentry/core" "5.27.3"
|
||||
"@sentry/hub" "5.27.3"
|
||||
"@sentry/tracing" "5.27.3"
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/utils" "5.27.3"
|
||||
"@sentry/core" "6.0.3"
|
||||
"@sentry/hub" "6.0.3"
|
||||
"@sentry/tracing" "6.0.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
"@sentry/utils" "6.0.3"
|
||||
cookie "^0.4.1"
|
||||
https-proxy-agent "^5.0.0"
|
||||
lru_map "^0.3.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/tracing@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.27.3.tgz#787e57a2f7071e375f4fad0f3c3a5ff3381928e7"
|
||||
integrity sha512-UWrHMdGxPfx1u558CWm1tptc2z0BuqCHVe2+BNN7POahq5BkpbGqaotyPQTBHbfmcs6QGfsMG57ou8HQFrBxyA==
|
||||
"@sentry/tracing@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-6.0.3.tgz#103f4942ddd546321e22ba20c011adf52b25b3f2"
|
||||
integrity sha512-H7dnsvPz9cD1nuCNQM4MxcHxt2JdT9F8dQ/4+gp+eB9iBLy6staMrmKRLYuAcMU/M3MCDG4ISIip7KbTt74OLg==
|
||||
dependencies:
|
||||
"@sentry/hub" "5.27.3"
|
||||
"@sentry/minimal" "5.27.3"
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/utils" "5.27.3"
|
||||
"@sentry/hub" "6.0.3"
|
||||
"@sentry/minimal" "6.0.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
"@sentry/utils" "6.0.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sentry/types@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.27.3.tgz#d377508769bc658d672c287166c7f6c5db45660c"
|
||||
integrity sha512-PkWhMArFMxBb1g3HtMEL8Ea9PYae2MU0z9CMIWiqzerFy2ZpKG98IU3pt8ic4JkmKQdwB8hDiZpRPMHhW0WYwQ==
|
||||
"@sentry/types@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.0.3.tgz#a1ef6d6b2ac2a9201e3e4a894db6ecf7ceb5b27c"
|
||||
integrity sha512-266aBQbk9AGedhG2dzXshWbn23LYLElXqlI74DLku48UrU2v7TGKdyik/8/nfOfquCoRSp0GFGYHbItwU124XQ==
|
||||
|
||||
"@sentry/utils@5.27.3":
|
||||
version "5.27.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.27.3.tgz#1fc45dfad1f1e4398bee58684d8947666d8d3003"
|
||||
integrity sha512-R9WvFrRBALZvCzu/9BsuXBCfkNxz4MwdBNSXaBsJo4afQw1ljkjIc9DpHzlL9S9goIwXo81Buwmr5gGDO6aH+Q==
|
||||
"@sentry/utils@6.0.3":
|
||||
version "6.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.0.3.tgz#114d9faa47f76416c3e140711465e76d2129dba8"
|
||||
integrity sha512-lvuBFvZHYs1zYwI8dkC8Z8ryb0aYnwPFUl1rbZiMwJpYI2Dgl1jpqqZWv9luux2rSRYOMid74uGedV708rvEgA==
|
||||
dependencies:
|
||||
"@sentry/types" "5.27.3"
|
||||
"@sentry/types" "6.0.3"
|
||||
tslib "^1.9.3"
|
||||
|
||||
"@sindresorhus/is@^0.14.0":
|
||||
@ -4278,18 +4278,25 @@ array-flatten@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
|
||||
integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
|
||||
|
||||
array-flatten@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541"
|
||||
integrity sha512-zPMVc3ZYlGLNk4mpK1NzP2wg0ml9t7fUgDsayR5Y5rSzxQilzR9FGu/EH2jQOcKSAeAfWeylyW8juy3OkWRvNA==
|
||||
|
||||
array-ify@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
|
||||
integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=
|
||||
|
||||
array-includes@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348"
|
||||
integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==
|
||||
array-includes@^3.1.1, array-includes@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.2.tgz#a8db03e0b88c8c6aeddc49cb132f9bcab4ebf9c8"
|
||||
integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==
|
||||
dependencies:
|
||||
call-bind "^1.0.0"
|
||||
define-properties "^1.1.3"
|
||||
es-abstract "^1.17.0"
|
||||
es-abstract "^1.18.0-next.1"
|
||||
get-intrinsic "^1.0.1"
|
||||
is-string "^1.0.5"
|
||||
|
||||
array-slice@^1.0.0:
|
||||
@ -4513,10 +4520,10 @@ aws4@^1.8.0:
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
|
||||
integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
|
||||
|
||||
axe-core@^3.5.4:
|
||||
version "3.5.5"
|
||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-3.5.5.tgz#84315073b53fa3c0c51676c588d59da09a192227"
|
||||
integrity sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==
|
||||
axe-core@^4.0.2:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.1.tgz#70a7855888e287f7add66002211a423937063eaf"
|
||||
integrity sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==
|
||||
|
||||
axios-mock-adapter@^1.19.0:
|
||||
version "1.19.0"
|
||||
@ -4533,7 +4540,7 @@ axios@^0.21.1:
|
||||
dependencies:
|
||||
follow-redirects "^1.10.0"
|
||||
|
||||
axobject-query@^2.1.2:
|
||||
axobject-query@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
|
||||
integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==
|
||||
@ -5756,21 +5763,21 @@ color-name@^1.0.0, color-name@~1.1.4:
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-string@^1.5.2:
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc"
|
||||
integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==
|
||||
color-string@^1.5.4:
|
||||
version "1.5.4"
|
||||
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.4.tgz#dd51cd25cfee953d138fe4002372cc3d0e504cb6"
|
||||
integrity sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==
|
||||
dependencies:
|
||||
color-name "^1.0.0"
|
||||
simple-swizzle "^0.2.2"
|
||||
|
||||
color@^3.0.0, color@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10"
|
||||
integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==
|
||||
color@^3.0.0, color@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
|
||||
integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
|
||||
dependencies:
|
||||
color-convert "^1.9.1"
|
||||
color-string "^1.5.2"
|
||||
color-string "^1.5.4"
|
||||
|
||||
colorette@1.2.1, colorette@^1.2.1:
|
||||
version "1.2.1"
|
||||
@ -7761,21 +7768,21 @@ eslint-plugin-import@^2.19.1:
|
||||
resolve "^1.17.0"
|
||||
tsconfig-paths "^3.9.0"
|
||||
|
||||
eslint-plugin-jsx-a11y@^6.2.3:
|
||||
version "6.3.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz#99ef7e97f567cc6a5b8dd5ab95a94a67058a2660"
|
||||
integrity sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==
|
||||
eslint-plugin-jsx-a11y@^6.4.1:
|
||||
version "6.4.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd"
|
||||
integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.10.2"
|
||||
"@babel/runtime" "^7.11.2"
|
||||
aria-query "^4.2.2"
|
||||
array-includes "^3.1.1"
|
||||
ast-types-flow "^0.0.7"
|
||||
axe-core "^3.5.4"
|
||||
axobject-query "^2.1.2"
|
||||
axe-core "^4.0.2"
|
||||
axobject-query "^2.2.0"
|
||||
damerau-levenshtein "^1.0.6"
|
||||
emoji-regex "^9.0.0"
|
||||
has "^1.0.3"
|
||||
jsx-ast-utils "^2.4.1"
|
||||
jsx-ast-utils "^3.1.0"
|
||||
language-tags "^1.0.5"
|
||||
|
||||
eslint-plugin-node@11.1.0:
|
||||
@ -8816,6 +8823,15 @@ get-caller-file@^2.0.1:
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||
|
||||
get-intrinsic@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.0.tgz#892e62931e6938c8a23ea5aaebcfb67bd97da97e"
|
||||
integrity sha512-M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==
|
||||
dependencies:
|
||||
function-bind "^1.1.1"
|
||||
has "^1.0.3"
|
||||
has-symbols "^1.0.1"
|
||||
|
||||
get-intrinsic@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.2.tgz#6820da226e50b24894e08859469dc68361545d49"
|
||||
@ -9305,10 +9321,10 @@ graphql-upload@^8.0.2:
|
||||
http-errors "^1.7.3"
|
||||
object-path "^0.11.4"
|
||||
|
||||
graphql@15.4.0, graphql@^15.3.0:
|
||||
version "15.4.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0.tgz#e459dea1150da5a106486ba7276518b5295a4347"
|
||||
integrity sha512-EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==
|
||||
graphql@15.5.0, graphql@^15.3.0:
|
||||
version "15.5.0"
|
||||
resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5"
|
||||
integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA==
|
||||
|
||||
growl@1.9.2:
|
||||
version "1.9.2"
|
||||
@ -11489,21 +11505,13 @@ jsprim@^1.2.2:
|
||||
json-schema "0.2.3"
|
||||
verror "1.10.0"
|
||||
|
||||
jsx-ast-utils@^2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
|
||||
integrity sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==
|
||||
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82"
|
||||
integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==
|
||||
dependencies:
|
||||
array-includes "^3.1.1"
|
||||
object.assign "^4.1.0"
|
||||
|
||||
"jsx-ast-utils@^2.4.1 || ^3.0.0":
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.1.0.tgz#642f1d7b88aa6d7eb9d8f2210e166478444fa891"
|
||||
integrity sha512-d4/UOjg+mxAWxCiF0c5UTSwyqbchkbqCvK87aBovhnh8GtysTjWmgC63tY0cJx/HzGgm9qnA147jVBdpOiQ2RA==
|
||||
dependencies:
|
||||
array-includes "^3.1.1"
|
||||
object.assign "^4.1.1"
|
||||
array-includes "^3.1.2"
|
||||
object.assign "^4.1.2"
|
||||
|
||||
jszip@3.4.0:
|
||||
version "3.4.0"
|
||||
@ -13047,7 +13055,7 @@ mixin-deep@^1.2.0:
|
||||
for-in "^1.0.2"
|
||||
is-extendable "^1.0.1"
|
||||
|
||||
mkdirp-classic@^0.5.2:
|
||||
mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
|
||||
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||
@ -13379,10 +13387,10 @@ node-addon-api@2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.0.tgz#f9afb8d777a91525244b01775ea0ddbe1125483b"
|
||||
integrity sha512-ASCL5U13as7HhOExbT6OlWJJUV/lLzL2voOSP1UVehpRD8FbSrSDjfScK/KwAvVTI5AS6r4VwbOMlIqtvRidnA==
|
||||
|
||||
node-addon-api@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.0.2.tgz#04bc7b83fd845ba785bb6eae25bc857e1ef75681"
|
||||
integrity sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==
|
||||
node-addon-api@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
|
||||
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
||||
|
||||
node-fetch-npm@^2.0.2:
|
||||
version "2.0.4"
|
||||
@ -13815,7 +13823,7 @@ object-visit@^1.0.0:
|
||||
dependencies:
|
||||
isobject "^3.0.0"
|
||||
|
||||
object.assign@^4.1.0, object.assign@^4.1.1, object.assign@^4.1.2:
|
||||
object.assign@^4.1.0, object.assign@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
|
||||
integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
|
||||
@ -15236,16 +15244,16 @@ postgres-interval@^1.1.0:
|
||||
dependencies:
|
||||
xtend "^4.0.0"
|
||||
|
||||
prebuild-install@^5.3.5:
|
||||
version "5.3.5"
|
||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-5.3.5.tgz#e7e71e425298785ea9d22d4f958dbaccf8bb0e1b"
|
||||
integrity sha512-YmMO7dph9CYKi5IR/BzjOJlRzpxGGVo1EsLSUZ0mt/Mq0HWZIHOKHHcHdT69yG54C9m6i45GpItwRHpk0Py7Uw==
|
||||
prebuild-install@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.0.tgz#669022bcde57c710a869e39c5ca6bf9cd207f316"
|
||||
integrity sha512-h2ZJ1PXHKWZpp1caLw0oX9sagVpL2YTk+ZwInQbQ3QqNd4J03O6MpFNmMTJlkfgPENWqe5kP0WjQLqz5OjLfsw==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
expand-template "^2.0.3"
|
||||
github-from-package "0.0.0"
|
||||
minimist "^1.2.3"
|
||||
mkdirp "^0.5.1"
|
||||
mkdirp-classic "^0.5.3"
|
||||
napi-build-utils "^1.0.1"
|
||||
node-abi "^2.7.0"
|
||||
noop-logger "^0.1.1"
|
||||
@ -17309,19 +17317,20 @@ shallowequal@^1.1.0:
|
||||
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
|
||||
integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==
|
||||
|
||||
sharp@0.26.2:
|
||||
version "0.26.2"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.26.2.tgz#3d5777d246ae32890afe82a783c1cbb98456a88c"
|
||||
integrity sha512-bGBPCxRAvdK9bX5HokqEYma4j/Q5+w8Nrmb2/sfgQCLEUx/HblcpmOfp59obL3+knIKnOhyKmDb4tEOhvFlp6Q==
|
||||
sharp@0.27.1:
|
||||
version "0.27.1"
|
||||
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.27.1.tgz#cd04926406a697b58dfc5fb62e3c7a3a2d68389a"
|
||||
integrity sha512-IQNXWdspb4nZcJemXa6cfgz+JvKONsuqP8Mwi1Oti23Uo7+J+UF2jihJDf6I1BQbrmhcZ0lagH/1WYG+ReAzyQ==
|
||||
dependencies:
|
||||
color "^3.1.2"
|
||||
array-flatten "^3.0.0"
|
||||
color "^3.1.3"
|
||||
detect-libc "^1.0.3"
|
||||
node-addon-api "^3.0.2"
|
||||
node-addon-api "^3.1.0"
|
||||
npmlog "^4.1.2"
|
||||
prebuild-install "^5.3.5"
|
||||
semver "^7.3.2"
|
||||
prebuild-install "^6.0.0"
|
||||
semver "^7.3.4"
|
||||
simple-get "^4.0.0"
|
||||
tar-fs "^2.1.0"
|
||||
tar-fs "^2.1.1"
|
||||
tunnel-agent "^0.6.0"
|
||||
|
||||
shebang-command@^1.2.0:
|
||||
@ -18727,10 +18736,10 @@ svgo@^1.0.0:
|
||||
unquote "~1.1.1"
|
||||
util.promisify "~1.0.0"
|
||||
|
||||
swagger-ui-dist@3.39.0:
|
||||
version "3.39.0"
|
||||
resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-3.39.0.tgz#94fcd76316cc9925a77d41fdbfdfdccd6fa1a0a6"
|
||||
integrity sha512-mNCdhxMvYH0E96ebDX5LL3Yj8zMqC/HFAN5YDjwYxuetEewZ6onBrBBSJsWcl6vCxbEbtS2qBiy9OtBY+YyndQ==
|
||||
swagger-ui-dist@3.41.1:
|
||||
version "3.41.1"
|
||||
resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-3.41.1.tgz#1cb803fab9aef9bd45e1848068908887a23bf27f"
|
||||
integrity sha512-Wg3RqMBp8dSYEwyvXOWuOTwh3fTxYxmtAvLjEbUwRlPXKEHcde3BG/v2zjswrDVcumUpPQ6Cp5RG3LMz6M0YIw==
|
||||
|
||||
switchback@^2.0.1:
|
||||
version "2.0.5"
|
||||
@ -18779,17 +18788,17 @@ tapable@^1.0.0, tapable@^1.1.3:
|
||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
|
||||
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
|
||||
|
||||
tar-fs@^2.0.0, tar-fs@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5"
|
||||
integrity sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==
|
||||
tar-fs@^2.0.0, tar-fs@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
|
||||
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
|
||||
dependencies:
|
||||
chownr "^1.1.1"
|
||||
mkdirp-classic "^0.5.2"
|
||||
pump "^3.0.0"
|
||||
tar-stream "^2.0.0"
|
||||
tar-stream "^2.1.4"
|
||||
|
||||
tar-stream@^2.0.0, tar-stream@^2.1.0, tar-stream@^2.1.2:
|
||||
tar-stream@^2.1.0, tar-stream@^2.1.2:
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz#c4fb1a11eb0da29b893a5b25476397ba2d053bfa"
|
||||
integrity sha512-o3pS2zlG4gxr67GmFYBLlq+dM8gyRGUOvsrHclSkvtVtQbjV0s/+ZE8OpICbaj8clrX3tjeHngYGP7rweaBnuw==
|
||||
@ -18800,6 +18809,17 @@ tar-stream@^2.0.0, tar-stream@^2.1.0, tar-stream@^2.1.2:
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
tar-stream@^2.1.4:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||
integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
|
||||
dependencies:
|
||||
bl "^4.0.3"
|
||||
end-of-stream "^1.4.1"
|
||||
fs-constants "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
tar@6.1.0:
|
||||
version "6.1.0"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
|
||||
@ -19238,21 +19258,16 @@ tslib@^1, tslib@^1.10.0, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.9.0, tslib@^1.9.
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
|
||||
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
|
||||
|
||||
tslib@^2.0.0, tslib@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e"
|
||||
integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==
|
||||
|
||||
tslib@^2.0.3, tslib@~2.0.1:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
|
||||
integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
|
||||
|
||||
tslib@~2.1.0:
|
||||
tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@~2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
|
||||
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
|
||||
|
||||
tslib@~2.0.1:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
|
||||
integrity sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==
|
||||
|
||||
tsscmp@1.0.6, tsscmp@^1.0.6:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user