mirror of
https://github.com/strapi/strapi.git
synced 2025-12-26 14:44:31 +00:00
Merge branch 'master' of github.com:strapi/strapi into chore/graphql-use-graphql-scalars
This commit is contained in:
commit
da8d954b8e
16
.github/dependabot.yml
vendored
16
.github/dependabot.yml
vendored
@ -1,13 +1,21 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: 'npm'
|
||||
directory: '/'
|
||||
- package-ecosystem: npm
|
||||
directory: /
|
||||
schedule:
|
||||
interval: 'daily'
|
||||
interval: daily
|
||||
versioning-strategy: increase
|
||||
ignore:
|
||||
# Only allow patch as minor babel versions need to be upgraded all together
|
||||
- dependency-name: '@babel/*'
|
||||
update-types:
|
||||
- 'version-update:semver-major'
|
||||
- 'version-update:semver-minor'
|
||||
|
||||
- dependency-name: '*'
|
||||
update-types: ['version-update:semver-major']
|
||||
update-types:
|
||||
- 'version-update:semver-major'
|
||||
|
||||
labels:
|
||||
- 'source: dependencies'
|
||||
- 'pr: chore'
|
||||
|
||||
@ -88,7 +88,7 @@
|
||||
"eslint-config-prettier": "6.15.0",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-jsdoc": "36.1.1",
|
||||
"eslint-plugin-jsx-a11y": "6.6.0",
|
||||
"eslint-plugin-jsx-a11y": "6.6.1",
|
||||
"eslint-plugin-node": "11.1.0",
|
||||
"eslint-plugin-react": "7.30.1",
|
||||
"eslint-plugin-react-hooks": "4.6.0",
|
||||
|
||||
@ -53,7 +53,7 @@ module.exports = db => {
|
||||
const diffIndexes = (oldIndex, index) => {
|
||||
const changes = [];
|
||||
|
||||
if (_.difference(oldIndex.columns, index.columns).length > 0) {
|
||||
if (!_.isEqual(oldIndex.columns, index.columns)) {
|
||||
changes.push('columns');
|
||||
}
|
||||
|
||||
|
||||
@ -108,10 +108,21 @@ export const UploadingAssetCard = ({
|
||||
</Card>
|
||||
{error ? (
|
||||
<Typography variant="pi" fontWeight="bold" textColor="danger600">
|
||||
{formatMessage({
|
||||
id: getTrad(`apiError.${error.response.data.error.message}`),
|
||||
defaultMessage: error.response.data.error.message,
|
||||
})}
|
||||
{formatMessage(
|
||||
error?.response?.data?.error?.message
|
||||
? {
|
||||
id: getTrad(`apiError.${error.response.data.error.message}`),
|
||||
defaultMessage: error.response.data.error.message,
|
||||
/* See issue: https://github.com/strapi/strapi/issues/13867
|
||||
A proxy might return an error, before the request reaches Strapi
|
||||
and therefore we need to handle errors gracefully.
|
||||
*/
|
||||
}
|
||||
: {
|
||||
id: getTrad('upload.generic-error'),
|
||||
defaultMessage: 'An error occured while uploading the file.',
|
||||
}
|
||||
)}
|
||||
</Typography>
|
||||
) : (
|
||||
undefined
|
||||
|
||||
@ -6,7 +6,6 @@ import { stringify } from 'qs';
|
||||
import {
|
||||
LoadingIndicatorPage,
|
||||
useFocusWhenNavigate,
|
||||
NoPermissions,
|
||||
AnErrorOccurred,
|
||||
SearchURLQuery,
|
||||
useSelectionState,
|
||||
@ -15,8 +14,6 @@ import {
|
||||
} from '@strapi/helper-plugin';
|
||||
import { Layout, ContentLayout, ActionLayout } from '@strapi/design-system/Layout';
|
||||
import { Main } from '@strapi/design-system/Main';
|
||||
import { Button } from '@strapi/design-system/Button';
|
||||
import Plus from '@strapi/icons/Plus';
|
||||
import { Box } from '@strapi/design-system/Box';
|
||||
import { Divider } from '@strapi/design-system/Divider';
|
||||
import { BaseCheckbox } from '@strapi/design-system/BaseCheckbox';
|
||||
@ -38,7 +35,6 @@ import { getTrad, containsAssetFilter } from '../../utils';
|
||||
import { PaginationFooter } from '../../components/PaginationFooter';
|
||||
import { useMediaLibraryPermissions } from '../../hooks/useMediaLibraryPermissions';
|
||||
import { useFolder } from '../../hooks/useFolder';
|
||||
import { EmptyAssets } from '../../components/EmptyAssets';
|
||||
import { BulkActions } from './components/BulkActions';
|
||||
import {
|
||||
FolderCard,
|
||||
@ -48,6 +44,7 @@ import {
|
||||
} from '../../components/FolderCard';
|
||||
import { Filters } from './components/Filters';
|
||||
import { Header } from './components/Header';
|
||||
import { EmptyOrNoPermissions } from './components/EmptyOrNoPermissions';
|
||||
|
||||
const BoxWithHeight = styled(Box)`
|
||||
height: ${32 / 16}rem;
|
||||
@ -219,43 +216,15 @@ export const MediaLibrary = () => {
|
||||
{(assetsError || foldersError) && <AnErrorOccurred />}
|
||||
|
||||
{folderCount === 0 && assetCount === 0 && (
|
||||
<EmptyAssets
|
||||
action={
|
||||
canCreate &&
|
||||
!isFiltering && (
|
||||
<Button
|
||||
variant="secondary"
|
||||
startIcon={<Plus />}
|
||||
onClick={toggleUploadAssetDialog}
|
||||
>
|
||||
{formatMessage({
|
||||
id: getTrad('header.actions.add-assets'),
|
||||
defaultMessage: 'Add new assets',
|
||||
})}
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
content={
|
||||
// eslint-disable-next-line no-nested-ternary
|
||||
isFiltering
|
||||
? formatMessage({
|
||||
id: getTrad('list.assets-empty.title-withSearch'),
|
||||
defaultMessage: 'There are no elements with the applied filters',
|
||||
})
|
||||
: canCreate
|
||||
? formatMessage({
|
||||
id: getTrad('list.assets.empty'),
|
||||
defaultMessage: 'Upload your first assets...',
|
||||
})
|
||||
: formatMessage({
|
||||
id: getTrad('list.assets.empty.no-permissions'),
|
||||
defaultMessage: 'The asset list is empty',
|
||||
})
|
||||
}
|
||||
<EmptyOrNoPermissions
|
||||
canCreate={canCreate}
|
||||
canRead={canRead}
|
||||
isFiltering={isFiltering}
|
||||
onActionClick={toggleUploadAssetDialog}
|
||||
/>
|
||||
)}
|
||||
|
||||
{canRead ? (
|
||||
{canRead && (
|
||||
<>
|
||||
{folderCount > 0 && (
|
||||
<FolderList
|
||||
@ -379,8 +348,6 @@ export const MediaLibrary = () => {
|
||||
</>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
<NoPermissions />
|
||||
)}
|
||||
</ContentLayout>
|
||||
</Main>
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
import PropTypes from 'prop-types';
|
||||
import React from 'react';
|
||||
import { useIntl } from 'react-intl';
|
||||
|
||||
import { Button } from '@strapi/design-system/Button';
|
||||
import EmptyPermissions from '@strapi/icons/EmptyPermissions';
|
||||
import Plus from '@strapi/icons/Plus';
|
||||
|
||||
import { EmptyAssets } from '../../../components/EmptyAssets';
|
||||
import { getTrad } from '../../../utils';
|
||||
|
||||
const getContentIntlMessage = ({ isFiltering, canCreate, canRead }) => {
|
||||
if (isFiltering) {
|
||||
return {
|
||||
id: 'list.assets-empty.title-withSearch',
|
||||
defaultMessage: 'There are no elements with the applied filters',
|
||||
};
|
||||
}
|
||||
|
||||
if (canRead) {
|
||||
if (canCreate) {
|
||||
return {
|
||||
id: 'list.assets.empty-upload',
|
||||
defaultMessage: 'Upload your first assets...',
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
id: 'list.assets.empty',
|
||||
defaultMessage: 'Media Library is empty',
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
id: 'header.actions.no-permissions',
|
||||
defaultMessage: 'No permissions to view',
|
||||
};
|
||||
};
|
||||
|
||||
export const EmptyOrNoPermissions = ({ canCreate, isFiltering, canRead, onActionClick }) => {
|
||||
const { formatMessage } = useIntl();
|
||||
const content = getContentIntlMessage({ isFiltering, canCreate, canRead });
|
||||
|
||||
return (
|
||||
<EmptyAssets
|
||||
icon={!canRead ? EmptyPermissions : null}
|
||||
action={
|
||||
canCreate &&
|
||||
!isFiltering && (
|
||||
<Button variant="secondary" startIcon={<Plus />} onClick={onActionClick}>
|
||||
{formatMessage({
|
||||
id: getTrad('header.actions.add-assets'),
|
||||
defaultMessage: 'Add new assets',
|
||||
})}
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
content={formatMessage({
|
||||
...content,
|
||||
id: getTrad(content.id),
|
||||
})}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
EmptyOrNoPermissions.propTypes = {
|
||||
canCreate: PropTypes.bool.isRequired,
|
||||
canRead: PropTypes.bool.isRequired,
|
||||
isFiltering: PropTypes.bool.isRequired,
|
||||
onActionClick: PropTypes.func.isRequired,
|
||||
};
|
||||
@ -0,0 +1,53 @@
|
||||
import React from 'react';
|
||||
import { ThemeProvider, lightTheme } from '@strapi/design-system';
|
||||
import { render } from '@testing-library/react';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
|
||||
import { EmptyOrNoPermissions } from '../EmptyOrNoPermissions';
|
||||
|
||||
const setup = props =>
|
||||
render(
|
||||
<ThemeProvider theme={lightTheme}>
|
||||
<IntlProvider locale="en" messages={{}}>
|
||||
<EmptyOrNoPermissions
|
||||
onActionClick={() => {}}
|
||||
isFiltering={false}
|
||||
canCreate
|
||||
canRead
|
||||
{...props}
|
||||
/>
|
||||
</IntlProvider>
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
describe('EmptyOrNoPermissions', () => {
|
||||
test('isFiltering', () => {
|
||||
const { queryByText } = setup({ isFiltering: true });
|
||||
|
||||
expect(queryByText('There are no elements with the applied filters')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('canCreate', () => {
|
||||
const { queryByText } = setup({});
|
||||
|
||||
expect(queryByText('Add new assets')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('isFiltering and canCreate', () => {
|
||||
const { queryByText } = setup({ isFiltering: true });
|
||||
|
||||
expect(queryByText('Add new assets')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('canRead and not canCreate', () => {
|
||||
const { queryByText } = setup({ canCreate: false });
|
||||
|
||||
expect(queryByText('Media Library is empty')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
test('not canRead', () => {
|
||||
const { queryByText } = setup({ canRead: false });
|
||||
|
||||
expect(queryByText('No permissions to view')).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
@ -500,26 +500,6 @@ describe('Media library homepage', () => {
|
||||
expect(screen.queryByText('Upload your first assets...')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('does not display empty assets action, if there are no assets and the user does not have create permissions', () => {
|
||||
useMediaLibraryPermissions.mockReturnValueOnce({
|
||||
isLoading: false,
|
||||
canCreate: false,
|
||||
canRead: false,
|
||||
});
|
||||
useAssets.mockReturnValueOnce({
|
||||
isLoading: false,
|
||||
error: null,
|
||||
data: {
|
||||
pagination: FIXTURE_ASSET_PAGINATION,
|
||||
results: FIXTURE_ASSETS,
|
||||
},
|
||||
});
|
||||
|
||||
renderML();
|
||||
|
||||
expect(screen.queryByText('header.actions.add-assets')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
it('does not display empty assets action, if there are no assets, no folders and the user is currently filtering', () => {
|
||||
useQueryParams.mockReturnValueOnce([{ rawQuery: '', query: { filters: 'true' } }, jest.fn()]);
|
||||
useAssets.mockReturnValueOnce({
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
{
|
||||
"apiError.FileTooBig": "The uploaded file exceeds the maximum allowed asset size.",
|
||||
"upload.generic-error": "An error occurred while uploading the file.",
|
||||
"bulk.select.label": "Select all assets",
|
||||
"button.next": "Next",
|
||||
"checkControl.crop-duplicate": "Duplicate & crop the asset",
|
||||
@ -43,8 +44,9 @@
|
||||
"list.assets-empty.subtitle": "Add one to the list.",
|
||||
"list.assets-empty.title": "There are no assets yet",
|
||||
"list.assets-empty.title-withSearch": "There are no elements with the applied filters",
|
||||
"list.assets.empty": "Upload your first assets...",
|
||||
"list.assets.empty.no-permissions": "The asset list is empty.",
|
||||
"list.assets.empty": "Media Library is empty",
|
||||
"list.assets.empty-upload": "Upload your first assets...",
|
||||
"list.assets.empty.no-permissions": "No permissions to view",
|
||||
"list.assets.loading-asset": "Loading the preview for the media: {path}",
|
||||
"list.assets.not-supported-content": "No preview available",
|
||||
"list.assets.preview-asset": "Preview for the video at path {path}",
|
||||
|
||||
@ -16,7 +16,6 @@ const mergeTemplate = require('./utils/merge-template.js');
|
||||
|
||||
const packageJSON = require('./resources/json/common/package.json');
|
||||
const createDatabaseConfig = require('./resources/templates/database.js');
|
||||
const createAdminConfig = require('./resources/templates/admin-config.js');
|
||||
const createEnvFile = require('./resources/templates/env.js');
|
||||
|
||||
module.exports = async function createProject(scope, { client, connection, dependencies }) {
|
||||
@ -108,11 +107,6 @@ module.exports = async function createProject(scope, { client, connection, depen
|
||||
})
|
||||
);
|
||||
|
||||
// create config/server.js
|
||||
await fse.writeFile(
|
||||
join(rootPath, `config/admin.${language}`),
|
||||
createAdminConfig({ useTypescript })
|
||||
);
|
||||
await trackUsage({ event: 'didCopyConfigurationFiles', scope });
|
||||
|
||||
// merge template files if a template is specified
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
HOST=0.0.0.0
|
||||
PORT=1337
|
||||
APP_KEYS="toBeModified1,toBeModified2"
|
||||
APP_KEYS="toBeModified1,toBeModified2"
|
||||
API_TOKEN_SALT=tobemodified
|
||||
ADMIN_JWT_SECRET=tobemodified
|
||||
JWT_SECRET=tobemodified
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
export default ({ env }) => ({
|
||||
auth: {
|
||||
secret: env('ADMIN_JWT_SECRET', '<%= adminJwtToken %>'),
|
||||
secret: env('ADMIN_JWT_SECRET'),
|
||||
},
|
||||
apiToken: {
|
||||
salt: env('API_TOKEN_SALT'),
|
||||
@ -1,4 +1,7 @@
|
||||
export default (config, webpack) => {
|
||||
'use strict';
|
||||
|
||||
/* eslint-disable no-unused-vars */
|
||||
module.exports = (config, webpack) => {
|
||||
// Note: we provide webpack above so you should not `require` it
|
||||
// Perform customizations to webpack config
|
||||
// Important: return the modified config
|
||||
@ -1,20 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
const crypto = require('crypto');
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const _ = require('lodash');
|
||||
|
||||
module.exports = ({ useTypescript }) => {
|
||||
// resolve ts or js version depending on project type
|
||||
const language = useTypescript ? 'ts' : 'js';
|
||||
|
||||
const tmpl = fs.readFileSync(path.join(__dirname, language, `admin-config.template`));
|
||||
const compile = _.template(tmpl);
|
||||
|
||||
return compile({
|
||||
adminJwtToken: crypto.randomBytes(16).toString('hex'),
|
||||
useTypescript,
|
||||
});
|
||||
};
|
||||
@ -1,8 +0,0 @@
|
||||
module.exports = ({ env }) => ({
|
||||
auth: {
|
||||
secret: env('ADMIN_JWT_SECRET', '<%= adminJwtToken %>'),
|
||||
},
|
||||
apiToken: {
|
||||
salt: env('API_TOKEN_SALT'),
|
||||
},
|
||||
});
|
||||
@ -27,7 +27,6 @@
|
||||
"test:front:watch:ce": "cross-env IS_EE=false jest --config ./jest.config.front.js --watchAll"
|
||||
},
|
||||
"dependencies": {
|
||||
"@apollo/federation": "^0.28.0",
|
||||
"@graphql-tools/schema": "8.1.2",
|
||||
"@graphql-tools/utils": "^8.9.0",
|
||||
"@strapi/utils": "4.3.2",
|
||||
|
||||
@ -37,7 +37,7 @@
|
||||
"test": "echo \"no tests yet\""
|
||||
},
|
||||
"dependencies": {
|
||||
"aws-sdk": "2.1186.0",
|
||||
"aws-sdk": "2.1188.0",
|
||||
"lodash": "4.17.21"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
87
yarn.lock
87
yarn.lock
@ -41,15 +41,6 @@
|
||||
"@jridgewell/gen-mapping" "^0.1.0"
|
||||
"@jridgewell/trace-mapping" "^0.3.9"
|
||||
|
||||
"@apollo/federation@^0.28.0":
|
||||
version "0.28.0"
|
||||
resolved "https://registry.yarnpkg.com/@apollo/federation/-/federation-0.28.0.tgz#bbfcde3f327b3ec65dcfd98c6f52d6623a38b251"
|
||||
integrity sha512-M5Dp0XJhuxEOzYjPWWK5VtIqEI1IFRioh1+XHrls90UC8R+b6VXa0UxMO/zfKv00APr4gBODMcfRe5w97NSruw==
|
||||
dependencies:
|
||||
apollo-graphql "^0.9.3"
|
||||
apollo-server-types "^3.0.2"
|
||||
lodash.xorby "^4.7.0"
|
||||
|
||||
"@apollo/protobufjs@1.2.4":
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.4.tgz#d913e7627210ec5efd758ceeb751c776c68ba133"
|
||||
@ -299,7 +290,7 @@
|
||||
dependencies:
|
||||
"@babel/types" "^7.18.6"
|
||||
|
||||
"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
|
||||
"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7", "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
|
||||
integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==
|
||||
@ -343,7 +334,7 @@
|
||||
"@babel/helper-replace-supers" "^7.16.7"
|
||||
"@babel/helper-split-export-declaration" "^7.16.7"
|
||||
|
||||
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9":
|
||||
"@babel/helper-create-class-features-plugin@^7.18.0", "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.18.9":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz#d802ee16a64a9e824fcbf0a2ffc92f19d58550ce"
|
||||
integrity sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==
|
||||
@ -489,7 +480,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f"
|
||||
integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==
|
||||
|
||||
"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9":
|
||||
"@babel/helper-remap-async-to-generator@^7.16.8", "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
|
||||
integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
|
||||
@ -608,6 +599,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.10.tgz#94b5f8522356e69e8277276adf67ed280c90ecc1"
|
||||
integrity sha512-TYk3OA0HKL6qNryUayb5UUEhM/rkOQozIBEA5ITXh5DWrSp0TlUQXMyZmnWxG/DizSWBeeQ0Zbc5z8UGaaqoeg==
|
||||
|
||||
"@babel/parser@^7.18.11":
|
||||
version "7.18.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.11.tgz#68bb07ab3d380affa9a3f96728df07969645d2d9"
|
||||
integrity sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==
|
||||
|
||||
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7", "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
|
||||
@ -1084,7 +1080,7 @@
|
||||
dependencies:
|
||||
"@babel/helper-plugin-utils" "^7.14.5"
|
||||
|
||||
"@babel/plugin-syntax-typescript@^7.18.6":
|
||||
"@babel/plugin-syntax-typescript@^7.17.12", "@babel/plugin-syntax-typescript@^7.18.6":
|
||||
version "7.18.6"
|
||||
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285"
|
||||
integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==
|
||||
@ -1881,14 +1877,14 @@
|
||||
dependencies:
|
||||
regenerator-runtime "^0.13.4"
|
||||
|
||||
"@babel/runtime@7.18.9":
|
||||
"@babel/runtime@7.18.9", "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.5", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
version "7.18.9"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.9.tgz#b4fcfce55db3d2e5e080d2490f608a3b9f407f4a"
|
||||
integrity sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==
|
||||
dependencies:
|
||||
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.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.8", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
|
||||
"@babel/runtime@^7.18.3":
|
||||
version "7.18.3"
|
||||
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.18.3.tgz#c7b654b57f6f63cf7f8b418ac9ca04408c4579f4"
|
||||
integrity sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==
|
||||
@ -1952,6 +1948,22 @@
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.17.9":
|
||||
version "7.18.11"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.11.tgz#3d51f2afbd83ecf9912bcbb5c4d94e3d2ddaa16f"
|
||||
integrity sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==
|
||||
dependencies:
|
||||
"@babel/code-frame" "^7.18.6"
|
||||
"@babel/generator" "^7.18.10"
|
||||
"@babel/helper-environment-visitor" "^7.18.9"
|
||||
"@babel/helper-function-name" "^7.18.9"
|
||||
"@babel/helper-hoist-variables" "^7.18.6"
|
||||
"@babel/helper-split-export-declaration" "^7.18.6"
|
||||
"@babel/parser" "^7.18.11"
|
||||
"@babel/types" "^7.18.10"
|
||||
debug "^4.1.0"
|
||||
globals "^11.1.0"
|
||||
|
||||
"@babel/traverse@^7.18.10", "@babel/traverse@^7.18.2", "@babel/traverse@^7.18.5":
|
||||
version "7.18.10"
|
||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.10.tgz#37ad97d1cb00efa869b91dd5d1950f8a6cf0cb08"
|
||||
@ -7911,10 +7923,10 @@ apollo-datasource@^3.0.3, apollo-datasource@^3.3.2:
|
||||
"@apollo/utils.keyvaluecache" "^1.0.1"
|
||||
apollo-server-env "^4.2.1"
|
||||
|
||||
apollo-graphql@^0.9.0, apollo-graphql@^0.9.3:
|
||||
version "0.9.7"
|
||||
resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.9.7.tgz#33185093b497a578f2df61ab8ecc6447d700ae64"
|
||||
integrity sha512-bezL9ItUWUGHTm1bI/XzIgiiZbhXpsC7uxk4UxFPmcVJwJsDc3ayZ99oXxAaK+3Rbg/IoqrHckA6CwmkCsbaSA==
|
||||
apollo-graphql@^0.9.0:
|
||||
version "0.9.6"
|
||||
resolved "https://registry.yarnpkg.com/apollo-graphql/-/apollo-graphql-0.9.6.tgz#756312a92685b0547f82cceb04f5b2d6e9f0df5c"
|
||||
integrity sha512-CrqJxZwfu/U5x0bYYPPluwu1G+oC3jjKFK/EVn9CDcpi4+yD9rAYko/h1iUB5A6VRQhA4Boluc7QexMYQ2tCng==
|
||||
dependencies:
|
||||
core-js-pure "^3.10.2"
|
||||
lodash.sortby "^4.7.0"
|
||||
@ -8025,7 +8037,7 @@ apollo-server-plugin-base@^3.1.1, apollo-server-plugin-base@^3.6.2:
|
||||
dependencies:
|
||||
apollo-server-types "^3.6.2"
|
||||
|
||||
apollo-server-types@^3.0.2, apollo-server-types@^3.1.1, apollo-server-types@^3.6.2:
|
||||
apollo-server-types@^3.1.1, apollo-server-types@^3.6.2:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.6.2.tgz#34bb0c335fcce3057cbdf72b3b63da182de6fc84"
|
||||
integrity sha512-9Z54S7NB+qW1VV+kmiqwU2Q6jxWfX89HlSGCGOo3zrkrperh85LrzABgN9S92+qyeHYd72noMDg2aI039sF3dg==
|
||||
@ -8370,10 +8382,10 @@ 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==
|
||||
|
||||
aws-sdk@2.1186.0, aws-sdk@^2.382.0:
|
||||
version "2.1186.0"
|
||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1186.0.tgz#f08fc5f1f53defa1fff83177621947dc0ca8d29b"
|
||||
integrity sha512-3yDWwNWgbSH9tRVyan0PlRU938Po9QH+06XHwRNwAa/6bixYl4L48c6YgpfxBpwl0IvcCCTivD7ZqshndwishQ==
|
||||
aws-sdk@2.1188.0, aws-sdk@^2.382.0:
|
||||
version "2.1188.0"
|
||||
resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1188.0.tgz#94b710948ef2924093a8d6fe42443a792385afa2"
|
||||
integrity sha512-4KXwjRjbCzU1luTOeH+ded92H51I4UuHaZzx2EI+JA0II1+q48heTxFlFd7yp7jGz9UwjPb6k12Jv1W3r0JWxA==
|
||||
dependencies:
|
||||
buffer "4.9.2"
|
||||
events "1.1.1"
|
||||
@ -8401,7 +8413,7 @@ aws4@^1.8.0:
|
||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
|
||||
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
|
||||
|
||||
axe-core@^4.4.2:
|
||||
axe-core@^4.4.3:
|
||||
version "4.4.3"
|
||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f"
|
||||
integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==
|
||||
@ -9099,7 +9111,7 @@ browserslist@^4.20.2:
|
||||
node-releases "^2.0.5"
|
||||
update-browserslist-db "^1.0.0"
|
||||
|
||||
browserslist@^4.21.3:
|
||||
browserslist@^4.21.0:
|
||||
version "4.21.3"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a"
|
||||
integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==
|
||||
@ -12216,21 +12228,21 @@ eslint-plugin-jsdoc@36.1.1:
|
||||
semver "^7.3.5"
|
||||
spdx-expression-parse "^3.0.1"
|
||||
|
||||
eslint-plugin-jsx-a11y@6.6.0:
|
||||
version "6.6.0"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.0.tgz#2c5ac12e013eb98337b9aa261c3b355275cc6415"
|
||||
integrity sha512-kTeLuIzpNhXL2CwLlc8AHI0aFRwWHcg483yepO9VQiHzM9bZwJdzTkzBszbuPrbgGmq2rlX/FaT2fJQsjUSHsw==
|
||||
eslint-plugin-jsx-a11y@6.6.1:
|
||||
version "6.6.1"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff"
|
||||
integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.18.3"
|
||||
"@babel/runtime" "^7.18.9"
|
||||
aria-query "^4.2.2"
|
||||
array-includes "^3.1.5"
|
||||
ast-types-flow "^0.0.7"
|
||||
axe-core "^4.4.2"
|
||||
axe-core "^4.4.3"
|
||||
axobject-query "^2.2.0"
|
||||
damerau-levenshtein "^1.0.8"
|
||||
emoji-regex "^9.2.2"
|
||||
has "^1.0.3"
|
||||
jsx-ast-utils "^3.3.1"
|
||||
jsx-ast-utils "^3.3.2"
|
||||
language-tags "^1.0.5"
|
||||
minimatch "^3.1.2"
|
||||
semver "^6.3.0"
|
||||
@ -16381,7 +16393,7 @@ jsprim@^1.2.2:
|
||||
json-schema "0.4.0"
|
||||
verror "1.10.0"
|
||||
|
||||
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.1:
|
||||
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.2.tgz#afe5efe4332cd3515c065072bd4d6b0aa22152bd"
|
||||
integrity sha512-4ZCADZHRkno244xlNnn4AOG6sRQ7iBZ5BbgZ4vW4y5IZw7cVUD1PPeblm1xx/nfmMxPdt/LHsXZW8z/j58+l9Q==
|
||||
@ -17116,11 +17128,6 @@ lodash.uniq@4.5.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
|
||||
|
||||
lodash.xorby@^4.7.0:
|
||||
version "4.7.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.xorby/-/lodash.xorby-4.7.0.tgz#9c19a6f9f063a6eb53dd03c1b6871799801463d7"
|
||||
integrity sha512-gYiD6nvuQy0AEkMoUju+t4f4Rn18fjsLB/7x7YZFqtFT9kmegRLrj/uGEQVyVDy7otTmSrIMXNOk2wwuLcfHCQ==
|
||||
|
||||
lodash@4.17.21, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
@ -21493,7 +21500,7 @@ regexpp@^3.0.0, regexpp@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
|
||||
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
|
||||
|
||||
regexpu-core@^5.1.0:
|
||||
regexpu-core@^5.0.1, regexpu-core@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d"
|
||||
integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user