mirror of
https://github.com/strapi/strapi.git
synced 2025-09-25 08:19:07 +00:00
Merge branch 'main' into chore/notification-variant
This commit is contained in:
commit
d26a24c79b
25
docs/docs/core/admin/link-strapi-design-system.md
Normal file
25
docs/docs/core/admin/link-strapi-design-system.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Linking the Strapi Design System
|
||||
|
||||
Follow these steps to use a local version of the Strapi design system with the Strapi monorepo
|
||||
|
||||
First, run `yarn build` in `strapi-design-system/packages/strapi-design-system` to generate the bundle.
|
||||
|
||||
In your copy of Strapi, you can link the design system using either a [relative path](#relative-path) or [yarn link](#yarn-link).
|
||||
|
||||
### Relative path
|
||||
|
||||
Replace the version number in both `strapi/packages/core/admin/package.json` and `strapi/packages/core/helper-plugin/package.json` with the relative path to your copy of the design system:
|
||||
|
||||
```
|
||||
"@strapi/design-system": "link:../../../../strapi-design-system/packages/strapi-design-system"
|
||||
```
|
||||
|
||||
### Yarn link
|
||||
|
||||
Alternatively, you can use [`yarn link`](https://classic.yarnpkg.com/lang/en/docs/cli/link/) by first running `yarn link` in `strapi-design-system/packages/design-system` and then `yarn link @strapi/design-system` in both `strapi/packages/core/admin` and `strapi/packages/core/helper-plugin`. With this approach, no changes need to be made to the `package.json`
|
||||
|
||||
Once the link is setup, run the following command from the root of the monorepo
|
||||
|
||||
```
|
||||
yarn lerna clean && yarn setup
|
||||
```
|
@ -50,6 +50,17 @@ const sidebars = {
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Admin',
|
||||
items: [
|
||||
{
|
||||
type: 'doc',
|
||||
label: 'Link Strapi Design System',
|
||||
id: 'core/admin/link-strapi-design-system',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Content Type Builder',
|
||||
|
@ -19,7 +19,7 @@
|
||||
"main": "lib/index.js",
|
||||
"devDependencies": {
|
||||
"@testing-library/jest-dom": "5.16.5",
|
||||
"core-js": "3.26.1",
|
||||
"core-js": "3.27.1",
|
||||
"jest-styled-components": "7.1.1",
|
||||
"react": "^17.0.2",
|
||||
"react-dom": "^17.0.2",
|
||||
|
3
packages/core/admin/.browserslistrc
Normal file
3
packages/core/admin/.browserslistrc
Normal file
@ -0,0 +1,3 @@
|
||||
last 3 major versions
|
||||
Firefox ESR
|
||||
last 2 Opera versions
|
@ -90,6 +90,7 @@ const Notification = ({ dispatch, notification }) => {
|
||||
{formattedMessage({
|
||||
id: message?.id || message,
|
||||
defaultMessage: message?.defaultMessage || message?.id || message,
|
||||
values: message?.values,
|
||||
})}
|
||||
</Alert>
|
||||
);
|
||||
|
@ -973,7 +973,7 @@ describe('Wysiwyg render and actions buttons', () => {
|
||||
fill="none"
|
||||
focusable="false"
|
||||
height="1em"
|
||||
viewBox="0 0 24"
|
||||
viewBox="0 0 24 24"
|
||||
width="1em"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
|
@ -37,6 +37,23 @@ jest.spyOn(axiosInstance, 'get').mockResolvedValue({
|
||||
|
||||
jest.spyOn(Date, 'now').mockImplementation(() => new Date('2015-10-01T08:00:00.000Z'));
|
||||
|
||||
// TO BE REMOVED: we have added this mock to prevent errors in the snapshots caused by the Unicode space character
|
||||
// before AM/PM in the dates, after the introduction of node 18.13
|
||||
jest.mock('react-intl', () => {
|
||||
const reactIntl = jest.requireActual('react-intl');
|
||||
const intl = reactIntl.createIntl({
|
||||
locale: 'en',
|
||||
});
|
||||
|
||||
intl.formatDate = jest.fn(() => '11/15/2021');
|
||||
intl.formatTime = jest.fn(() => '12:00 AM');
|
||||
|
||||
return {
|
||||
...reactIntl,
|
||||
useIntl: () => intl,
|
||||
};
|
||||
});
|
||||
|
||||
const client = new QueryClient({
|
||||
defaultOptions: {
|
||||
queries: {
|
||||
|
@ -44,19 +44,20 @@
|
||||
"@babel/preset-react": "7.18.6",
|
||||
"@babel/runtime": "7.18.9",
|
||||
"@casl/ability": "^5.4.3",
|
||||
"@fingerprintjs/fingerprintjs": "3.3.3",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.5.7",
|
||||
"@fingerprintjs/fingerprintjs": "3.3.6",
|
||||
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
|
||||
"@strapi/babel-plugin-switch-ee-ce": "4.5.6",
|
||||
"@strapi/design-system": "1.4.2",
|
||||
"@strapi/helper-plugin": "4.5.6",
|
||||
"@strapi/icons": "1.4.1",
|
||||
"@strapi/icons": "1.4.2",
|
||||
"@strapi/permissions": "4.5.6",
|
||||
"@strapi/typescript-utils": "4.5.6",
|
||||
"@strapi/utils": "4.5.6",
|
||||
"axios": "1.2.1",
|
||||
"axios": "1.2.2",
|
||||
"babel-loader": "8.2.5",
|
||||
"babel-plugin-styled-components": "2.0.2",
|
||||
"bcryptjs": "2.4.3",
|
||||
"browserslist-to-esbuild": "1.2.0",
|
||||
"chalk": "^4.1.1",
|
||||
"chokidar": "^3.5.1",
|
||||
"codemirror": "^5.65.11",
|
||||
|
@ -10,6 +10,7 @@ const { ESBuildMinifyPlugin } = require('esbuild-loader');
|
||||
const WebpackBar = require('webpackbar');
|
||||
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');
|
||||
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
|
||||
const browserslistToEsbuild = require('browserslist-to-esbuild');
|
||||
|
||||
const alias = require('./webpack.alias');
|
||||
const getClientEnvironment = require('./env');
|
||||
@ -52,6 +53,8 @@ module.exports = ({
|
||||
|
||||
const excludeRegex = createPluginsExcludePath(pluginsPath);
|
||||
|
||||
const buildTarget = browserslistToEsbuild();
|
||||
|
||||
return {
|
||||
mode: isProduction ? 'production' : 'development',
|
||||
bail: !!isProduction,
|
||||
@ -72,7 +75,7 @@ module.exports = ({
|
||||
minimize: optimize,
|
||||
minimizer: [
|
||||
new ESBuildMinifyPlugin({
|
||||
target: 'es2015',
|
||||
target: buildTarget,
|
||||
css: true, // Apply minification to CSS assets
|
||||
}),
|
||||
],
|
||||
@ -88,7 +91,7 @@ module.exports = ({
|
||||
exclude: excludeRegex,
|
||||
options: {
|
||||
loader: 'tsx',
|
||||
target: 'es2015',
|
||||
target: buildTarget,
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -152,7 +155,7 @@ module.exports = ({
|
||||
loader: require.resolve('esbuild-loader'),
|
||||
options: {
|
||||
loader: 'jsx',
|
||||
target: 'es2015',
|
||||
target: buildTarget,
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -165,7 +168,7 @@ module.exports = ({
|
||||
loader: require.resolve('esbuild-loader'),
|
||||
options: {
|
||||
loader: 'jsx',
|
||||
target: 'es2015',
|
||||
target: buildTarget,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -296,7 +296,9 @@ const cleanOrderColumnsForInnoDB = async ({
|
||||
FROM :joinTableName: b
|
||||
WHERE a.:orderColumnName: >= b.:orderColumnName: AND a.:joinColumnName: = b.:joinColumnName: AND a.:joinColumnName: = :id
|
||||
) AS src_order
|
||||
FROM :joinTableName: a`,
|
||||
FROM :joinTableName: a
|
||||
WHERE a.:joinColumnName: = :id
|
||||
`,
|
||||
{
|
||||
tempOrderTableName,
|
||||
joinTableName: joinTable.name,
|
||||
@ -338,7 +340,9 @@ const cleanOrderColumnsForInnoDB = async ({
|
||||
.map(() => '?')
|
||||
.join(', ')})
|
||||
) AS inv_order
|
||||
FROM ?? a`,
|
||||
FROM ?? a
|
||||
WHERE a.?? IN (${inverseRelIds.map(() => '?').join(', ')})
|
||||
`,
|
||||
[
|
||||
tempInvOrderTableName,
|
||||
joinTable.name,
|
||||
@ -349,6 +353,8 @@ const cleanOrderColumnsForInnoDB = async ({
|
||||
inverseJoinColumn.name,
|
||||
...inverseRelIds,
|
||||
joinTable.name,
|
||||
inverseJoinColumn.name,
|
||||
...inverseRelIds,
|
||||
]
|
||||
)
|
||||
.transacting(trx);
|
||||
|
3
packages/core/helper-plugin/.browserslistrc
Normal file
3
packages/core/helper-plugin/.browserslistrc
Normal file
@ -0,0 +1,3 @@
|
||||
last 3 major versions
|
||||
Firefox ESR
|
||||
last 2 Opera versions
|
@ -13,6 +13,38 @@ import { createMemoryHistory } from 'history';
|
||||
import qs from 'qs';
|
||||
import FilterListURLQuery from '../index';
|
||||
|
||||
// TO BE REMOVED: we have added this mock to prevent errors in the snapshots caused by the Unicode space character
|
||||
// before AM/PM in the dates, after the introduction of node 18.13
|
||||
jest.mock('react-intl', () => {
|
||||
const reactIntl = jest.requireActual('react-intl');
|
||||
const intl = reactIntl.createIntl({
|
||||
locale: 'en',
|
||||
messages: {
|
||||
'components.FilterOptions.FILTER_TYPES.$eq': 'is',
|
||||
'components.FilterOptions.FILTER_TYPES.$ne': 'is not',
|
||||
'components.FilterOptions.FILTER_TYPES.$contains': 'contains (case sensitive)',
|
||||
'components.FilterOptions.FILTER_TYPES.$notContains': 'does not contain (case sensitive)',
|
||||
'components.FilterOptions.FILTER_TYPES.$gt': 'is greater than',
|
||||
'components.FilterOptions.FILTER_TYPES.$gte': 'is greater than or equal to',
|
||||
'components.FilterOptions.FILTER_TYPES.$lt': 'is lower than',
|
||||
'components.FilterOptions.FILTER_TYPES.$lte': 'is lower than or equal to',
|
||||
'components.FilterOptions.FILTER_TYPES.$startsWith': 'starts with',
|
||||
'components.FilterOptions.FILTER_TYPES.$endsWith': 'ends with',
|
||||
'components.FilterOptions.FILTER_TYPES.$null': 'is null',
|
||||
'components.FilterOptions.FILTER_TYPES.$notNull': 'is not null',
|
||||
},
|
||||
textComponent: 'span',
|
||||
});
|
||||
|
||||
intl.formatDate = jest.fn(() => 'Wednesday, September 1, 2021');
|
||||
intl.formatTime = jest.fn(() => '12:45 AM');
|
||||
|
||||
return {
|
||||
...reactIntl,
|
||||
useIntl: () => intl,
|
||||
};
|
||||
});
|
||||
|
||||
const makeApp = (history, filtersSchema) => (
|
||||
<Router history={history}>
|
||||
<ThemeProvider theme={lightTheme}>
|
||||
|
@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import { IntlProvider } from 'react-intl';
|
||||
import { IntlProvider, useIntl } from 'react-intl';
|
||||
import { ThemeProvider, lightTheme } from '@strapi/design-system';
|
||||
import RelativeTime from '../index';
|
||||
|
||||
@ -12,6 +12,17 @@ const App = (
|
||||
</ThemeProvider>
|
||||
);
|
||||
|
||||
// TO BE REMOVED: we have added this mock to prevent errors in the snapshots caused by the Unicode space character
|
||||
// before AM/PM in the dates, after the introduction of node 18.13
|
||||
jest.mock('react-intl', () => ({
|
||||
...jest.requireActual('react-intl'),
|
||||
useIntl: jest.fn(() => ({
|
||||
formatDate: jest.fn(() => '10/1/2015'),
|
||||
formatTime: jest.fn(() => '7:55 AM'),
|
||||
formatRelativeTime: jest.fn(() => '5 minutes ago'),
|
||||
})),
|
||||
}));
|
||||
|
||||
describe('RelativeTime', () => {
|
||||
beforeEach(() => {
|
||||
jest.spyOn(Date, 'now').mockImplementation(() => new Date('2015-10-01 08:00:00'));
|
||||
@ -37,6 +48,11 @@ describe('RelativeTime', () => {
|
||||
});
|
||||
|
||||
it('can display the relative time for a future date', () => {
|
||||
useIntl.mockReturnValueOnce({
|
||||
formatDate: jest.fn(() => '10/1/2015'),
|
||||
formatTime: jest.fn(() => '7:50 AM'),
|
||||
formatRelativeTime: jest.fn(() => 'in 5 minutes'),
|
||||
});
|
||||
jest.spyOn(Date, 'now').mockImplementation(() => new Date('2015-10-01 07:50:00'));
|
||||
|
||||
render(App);
|
||||
@ -45,6 +61,11 @@ describe('RelativeTime', () => {
|
||||
});
|
||||
|
||||
it('can display the relative time for a past date', () => {
|
||||
useIntl.mockReturnValueOnce({
|
||||
formatDate: jest.fn(() => '10/1/2015'),
|
||||
formatTime: jest.fn(() => '8:00 AM'),
|
||||
formatRelativeTime: jest.fn(() => '5 minutes ago'),
|
||||
});
|
||||
jest.spyOn(Date, 'now').mockImplementation(() => new Date('2015-10-01 08:00:00'));
|
||||
|
||||
render(App);
|
||||
|
@ -39,7 +39,7 @@
|
||||
"watch": "yarn create:index && cross-env NODE_ENV=development webpack-cli -w"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "1.2.1",
|
||||
"axios": "1.2.2",
|
||||
"date-fns": "2.29.3",
|
||||
"formik": "^2.2.6",
|
||||
"immer": "9.0.6",
|
||||
@ -65,9 +65,10 @@
|
||||
"@storybook/manager-webpack5": "6.5.15",
|
||||
"@storybook/react": "^6.5.10",
|
||||
"@strapi/design-system": "1.4.2",
|
||||
"@strapi/icons": "1.4.1",
|
||||
"@strapi/icons": "1.4.2",
|
||||
"@testing-library/react": "12.1.4",
|
||||
"@testing-library/react-hooks": "8.0.1",
|
||||
"browserslist-to-esbuild": "1.2.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"esbuild-loader": "^2.20.0",
|
||||
"react-test-renderer": "^17.0.2",
|
||||
|
@ -1,5 +1,6 @@
|
||||
const webpack = require('webpack');
|
||||
const { ESBuildMinifyPlugin } = require('esbuild-loader');
|
||||
const browserslistToEsbuild = require('browserslist-to-esbuild');
|
||||
|
||||
const packageJson = require('./package.json');
|
||||
|
||||
@ -42,7 +43,7 @@ module.exports = {
|
||||
loader: require.resolve('esbuild-loader'),
|
||||
options: {
|
||||
loader: 'jsx',
|
||||
target: 'es2015',
|
||||
target: browserslistToEsbuild(),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -0,0 +1,97 @@
|
||||
'use strict';
|
||||
|
||||
const { createTestBuilder } = require('../../../../../test/helpers/builder');
|
||||
const { createStrapiInstance } = require('../../../../../test/helpers/strapi');
|
||||
const { createContentAPIRequest } = require('../../../../../test/helpers/request');
|
||||
|
||||
let strapi;
|
||||
let rq;
|
||||
|
||||
const component = {
|
||||
displayName: 'somecomponent',
|
||||
attributes: {
|
||||
name: {
|
||||
type: 'string',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const ct = {
|
||||
displayName: 'withcomponent',
|
||||
singularName: 'withcomponent',
|
||||
pluralName: 'withcomponents',
|
||||
attributes: {
|
||||
field: {
|
||||
type: 'component',
|
||||
component: 'default.somecomponent',
|
||||
repeatable: true,
|
||||
required: false,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const createEntity = async (data) => {
|
||||
return rq.post('/', {
|
||||
body: { data },
|
||||
qs: { populate: ['field'] },
|
||||
});
|
||||
};
|
||||
|
||||
const updateEntity = async (id, data) => {
|
||||
return rq.put(`/${id}`, {
|
||||
body: { data },
|
||||
qs: { populate: ['field'] },
|
||||
});
|
||||
};
|
||||
|
||||
const getEntity = async (id) => {
|
||||
return rq.get(`/${id}`, {
|
||||
qs: { populate: ['field'] },
|
||||
});
|
||||
};
|
||||
|
||||
describe('Given a content type with a repeatable component and two entities created', () => {
|
||||
const builder = createTestBuilder();
|
||||
let entity1;
|
||||
let entity2;
|
||||
|
||||
beforeAll(async () => {
|
||||
await builder.addComponent(component).addContentType(ct).build();
|
||||
|
||||
strapi = await createStrapiInstance();
|
||||
rq = await createContentAPIRequest({ strapi });
|
||||
rq.setURLPrefix('/api/withcomponents');
|
||||
|
||||
// Create two entities
|
||||
const res1 = await createEntity({ field: [{ name: 'field1' }, { name: 'field2' }] });
|
||||
entity1 = res1.body.data;
|
||||
|
||||
const res2 = await createEntity({ field: [{ name: 'field1' }, { name: 'field2' }] });
|
||||
entity2 = res2.body.data;
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await strapi.destroy();
|
||||
await builder.cleanup();
|
||||
});
|
||||
|
||||
describe('When I update the order of one of the entities components', () => {
|
||||
test('Then the order of both entity components is preserved', async () => {
|
||||
const updatedEntity1 = await updateEntity(entity1.id, {
|
||||
field: [entity1.attributes.field[1], entity1.attributes.field[0]],
|
||||
});
|
||||
|
||||
const res = await getEntity(entity2.id);
|
||||
|
||||
expect(updatedEntity1.body.data.attributes.field).toEqual([
|
||||
{ id: expect.anything(), name: 'field2' },
|
||||
{ id: expect.anything(), name: 'field1' },
|
||||
]);
|
||||
expect(res.statusCode).toBe(200);
|
||||
expect(res.body.data.attributes.field).toEqual([
|
||||
{ id: expect.anything(), name: 'field1' },
|
||||
{ id: expect.anything(), name: 'field2' },
|
||||
]);
|
||||
});
|
||||
});
|
||||
});
|
@ -13,6 +13,7 @@ const VideoPreviewWrapper = styled(Box)`
|
||||
canvas,
|
||||
video {
|
||||
display: block;
|
||||
pointer-events: none;
|
||||
max-width: 100%;
|
||||
max-height: ${({ size }) => (size === 'M' ? 164 / 16 : 88 / 16)}rem;
|
||||
}
|
||||
|
@ -332,6 +332,7 @@ exports[`MediaLibrary / AssetList snapshots the asset list 1`] = `
|
||||
.c28 canvas,
|
||||
.c28 video {
|
||||
display: block;
|
||||
pointer-events: none;
|
||||
max-width: 100%;
|
||||
max-height: 10.25rem;
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { useIntl } from 'react-intl';
|
||||
import { useNotification } from '@strapi/helper-plugin';
|
||||
|
||||
import { AssetDialog } from '../AssetDialog';
|
||||
import { AssetDefinition } from '../../constants';
|
||||
@ -8,6 +9,7 @@ import { CarouselAssets } from './Carousel/CarouselAssets';
|
||||
import { EditFolderDialog } from '../EditFolderDialog';
|
||||
import { UploadAssetDialog } from '../UploadAssetDialog/UploadAssetDialog';
|
||||
import getAllowedFiles from '../../utils/getAllowedFiles';
|
||||
import getTrad from '../../utils/getTrad';
|
||||
|
||||
const STEPS = {
|
||||
AssetSelect: 'SelectAsset',
|
||||
@ -35,6 +37,7 @@ export const MediaLibraryInput = ({
|
||||
const [droppedAssets, setDroppedAssets] = useState();
|
||||
const [folderId, setFolderId] = useState(null);
|
||||
const { formatMessage } = useIntl();
|
||||
const toggleNotification = useNotification();
|
||||
|
||||
useEffect(() => {
|
||||
// Clear the uploaded files on close
|
||||
@ -100,8 +103,24 @@ export const MediaLibraryInput = ({
|
||||
};
|
||||
|
||||
const handleAssetDrop = (assets) => {
|
||||
setDroppedAssets(assets);
|
||||
setStep(STEPS.AssetUpload);
|
||||
const allowedAssets = getAllowedFiles(fieldAllowedTypes, assets);
|
||||
|
||||
if (allowedAssets.length > 0) {
|
||||
setDroppedAssets(allowedAssets);
|
||||
setStep(STEPS.AssetUpload);
|
||||
} else {
|
||||
toggleNotification({
|
||||
type: 'warning',
|
||||
timeout: 4000,
|
||||
message: {
|
||||
id: getTrad('input.notification.not-supported'),
|
||||
defaultMessage: `You can't upload this type of file.`,
|
||||
values: {
|
||||
fileTypes: fieldAllowedTypes.join(','),
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
let label = intlLabel.id ? formatMessage(intlLabel) : '';
|
||||
|
@ -680,6 +680,7 @@ exports[`PendingAssetStep snapshots the component with valid cards 1`] = `
|
||||
.c50 canvas,
|
||||
.c50 video {
|
||||
display: block;
|
||||
pointer-events: none;
|
||||
max-width: 100%;
|
||||
max-height: 5.5rem;
|
||||
}
|
||||
|
@ -38,6 +38,7 @@
|
||||
"input.placeholder.icon": "Drop the asset in this zone",
|
||||
"input.url.description": "Separate your URL links by a carriage return.",
|
||||
"input.url.label": "URL",
|
||||
"input.notification.not-supported": "You can't upload this type of file, only the following types are accepted – {fileTypes}",
|
||||
"list.assets.title": "Assets ({count})",
|
||||
"list.asset.at.finished": "The assets have finished loading.",
|
||||
"list.assets-empty.search": "No result found",
|
||||
|
114
yarn.lock
114
yarn.lock
@ -1889,10 +1889,10 @@
|
||||
minimatch "^3.1.2"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@fingerprintjs/fingerprintjs@3.3.3":
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.3.3.tgz#ead445032c92a79d5f585953019402ed223edc7d"
|
||||
integrity sha512-HH6KqZnopF3NIXypYG4f2qxoSRmGCSzp81wJMfWjSTtvsX3cAg12RFJcm+a6Az3XadcZUrXKW3p5Dv0wyCUeuA==
|
||||
"@fingerprintjs/fingerprintjs@3.3.6":
|
||||
version "3.3.6"
|
||||
resolved "https://registry.yarnpkg.com/@fingerprintjs/fingerprintjs/-/fingerprintjs-3.3.6.tgz#4c3f1726dc0cb10b915cfce78d9471b38cd809bd"
|
||||
integrity sha512-Inh0OoFVzO2PLvrUF8RZhY9NVDdg9DJHQ5YlvXhrGtQxSPzy2smS3TWzLAi+zlHSJNHSvi+1zYayLen2lGxjdA==
|
||||
dependencies:
|
||||
tslib "^2.0.1"
|
||||
|
||||
@ -3652,18 +3652,18 @@
|
||||
node-addon-api "^3.2.1"
|
||||
node-gyp-build "^4.3.0"
|
||||
|
||||
"@pmmmwh/react-refresh-webpack-plugin@0.5.7", "@pmmmwh/react-refresh-webpack-plugin@^0.5.3":
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz#58f8217ba70069cc6a73f5d7e05e85b458c150e2"
|
||||
integrity sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==
|
||||
"@pmmmwh/react-refresh-webpack-plugin@0.5.10", "@pmmmwh/react-refresh-webpack-plugin@^0.5.3":
|
||||
version "0.5.10"
|
||||
resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8"
|
||||
integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==
|
||||
dependencies:
|
||||
ansi-html-community "^0.0.8"
|
||||
common-path-prefix "^3.0.0"
|
||||
core-js-pure "^3.8.1"
|
||||
core-js-pure "^3.23.3"
|
||||
error-stack-parser "^2.0.6"
|
||||
find-up "^5.0.0"
|
||||
html-entities "^2.1.0"
|
||||
loader-utils "^2.0.0"
|
||||
loader-utils "^2.0.4"
|
||||
schema-utils "^3.0.0"
|
||||
source-map "^0.7.3"
|
||||
|
||||
@ -5316,10 +5316,10 @@
|
||||
regenerator-runtime "^0.13.7"
|
||||
resolve-from "^5.0.0"
|
||||
|
||||
"@strapi/design-system@1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@strapi/design-system/-/design-system-1.4.1.tgz#f2daa634eaa4f22ac29e6b2b86791187aaa9887e"
|
||||
integrity sha512-olDi71FFQFU9luSC0yvIwB0i77Y/JIvt9HyLcUhK/rsRyiaiNzplAe5hi5aaphhJv++9rML2nSiwgfX/V4a5ZA==
|
||||
"@strapi/design-system@1.4.2":
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@strapi/design-system/-/design-system-1.4.2.tgz#fbbce86ca616f3dd33c811029bfbc90e1fa38a12"
|
||||
integrity sha512-0zH2c2t2XFKhw7N7VCmH4goaFZi6bKseyMtrb15oo4WYJzqZgTR/ER88L6gaDserW5xFu97yXHkYz+Ammk1exQ==
|
||||
dependencies:
|
||||
"@floating-ui/react-dom" "^1.0.0"
|
||||
"@internationalized/number" "^3.1.1"
|
||||
@ -5349,10 +5349,10 @@
|
||||
optionalDependencies:
|
||||
typescript "^4.6.2"
|
||||
|
||||
"@strapi/icons@1.4.1":
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.4.1.tgz#121a2f68f65ac1b29031b7ab1e9774e17dbaeead"
|
||||
integrity sha512-bwVM5NVXUJEUbbeelOVEslDIbGdZAGSwFSdV6Erb2Cwp3gtYB5Hfu4bRbVPeSwRWsd3IseC0USDpOQ3PzLK1qg==
|
||||
"@strapi/icons@1.4.2":
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@strapi/icons/-/icons-1.4.2.tgz#29e52aef88e9c5b125f296af9e861bc71433e16e"
|
||||
integrity sha512-V56sfBItnQ+lU/fU+nCYSQDjBK57EOxWKeM99tBx0RYhZzMJ5gRplWKsNRl/JhErVEPait0Dlv73EaixhdTyhw==
|
||||
|
||||
"@stylelint/postcss-css-in-js@^0.37.2":
|
||||
version "0.37.3"
|
||||
@ -7374,10 +7374,10 @@ axe-core@^4.4.3:
|
||||
resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f"
|
||||
integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==
|
||||
|
||||
axios@1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.1.tgz#44cf04a3c9f0c2252ebd85975361c026cb9f864a"
|
||||
integrity sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==
|
||||
axios@1.2.2, axios@^1.0.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1"
|
||||
integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==
|
||||
dependencies:
|
||||
follow-redirects "^1.15.0"
|
||||
form-data "^4.0.0"
|
||||
@ -7390,15 +7390,6 @@ axios@^0.26.0:
|
||||
dependencies:
|
||||
follow-redirects "^1.14.8"
|
||||
|
||||
axios@^1.0.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1"
|
||||
integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==
|
||||
dependencies:
|
||||
follow-redirects "^1.15.0"
|
||||
form-data "^4.0.0"
|
||||
proxy-from-env "^1.1.0"
|
||||
|
||||
axobject-query@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be"
|
||||
@ -7930,6 +7921,13 @@ browserify-zlib@^0.2.0:
|
||||
dependencies:
|
||||
pako "~1.0.5"
|
||||
|
||||
browserslist-to-esbuild@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist-to-esbuild/-/browserslist-to-esbuild-1.2.0.tgz#5c5b9ca73106da02e0168007396c4ec4c1e6d643"
|
||||
integrity sha512-ftrrbI/VHBgEnmnSyhkqvQVMp6jAKybfs0qMIlm7SLBrQTGMsdCIP4q3BoKeLsZTBQllIQtY9kbxgRYV2WU47g==
|
||||
dependencies:
|
||||
browserslist "^4.17.3"
|
||||
|
||||
browserslist@^4.12.0, browserslist@^4.14.5:
|
||||
version "4.20.2"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88"
|
||||
@ -7941,6 +7939,16 @@ browserslist@^4.12.0, browserslist@^4.14.5:
|
||||
node-releases "^2.0.2"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
browserslist@^4.17.3:
|
||||
version "4.21.4"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
|
||||
integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
|
||||
dependencies:
|
||||
caniuse-lite "^1.0.30001400"
|
||||
electron-to-chromium "^1.4.251"
|
||||
node-releases "^2.0.6"
|
||||
update-browserslist-db "^1.0.9"
|
||||
|
||||
browserslist@^4.20.2:
|
||||
version "4.21.0"
|
||||
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe"
|
||||
@ -8283,6 +8291,11 @@ caniuse-lite@^1.0.30001370:
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001373.tgz#2dc3bc3bfcb5d5a929bec11300883040d7b4b4be"
|
||||
integrity sha512-pJYArGHrPp3TUqQzFYRmP/lwJlj8RCbVe3Gd3eJQkAV8SAC6b19XS9BjMvRdvaS8RMkaTN8ZhoHP6S1y8zzwEQ==
|
||||
|
||||
caniuse-lite@^1.0.30001400:
|
||||
version "1.0.30001442"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614"
|
||||
integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==
|
||||
|
||||
capture-exit@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
|
||||
@ -9196,15 +9209,15 @@ core-js-compat@^3.8.1:
|
||||
dependencies:
|
||||
browserslist "^4.21.3"
|
||||
|
||||
core-js-pure@^3.20.2, core-js-pure@^3.8.1:
|
||||
version "3.24.1"
|
||||
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.24.1.tgz#8839dde5da545521bf282feb7dc6d0b425f39fd3"
|
||||
integrity sha512-r1nJk41QLLPyozHUUPmILCEMtMw24NG4oWK6RbsDdjzQgg9ZvrUsPBj1MnG0wXXp1DCDU6j+wUvEmBSrtRbLXg==
|
||||
core-js-pure@^3.20.2, core-js-pure@^3.23.3:
|
||||
version "3.27.1"
|
||||
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.1.tgz#ede4a6b8440585c7190062757069c01d37a19dca"
|
||||
integrity sha512-BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==
|
||||
|
||||
core-js@3.26.1, core-js@^3.0.4, core-js@^3.6.5, core-js@^3.8.2:
|
||||
version "3.26.1"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.26.1.tgz#7a9816dabd9ee846c1c0fe0e8fcad68f3709134e"
|
||||
integrity sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==
|
||||
core-js@3.27.1, core-js@^3.0.4, core-js@^3.6.5, core-js@^3.8.2:
|
||||
version "3.27.1"
|
||||
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.1.tgz#23cc909b315a6bb4e418bf40a52758af2103ba46"
|
||||
integrity sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==
|
||||
|
||||
core-js@3.6.5:
|
||||
version "3.6.5"
|
||||
@ -10149,6 +10162,11 @@ electron-to-chromium@^1.4.202:
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.208.tgz#ecb5b47c8cc212a43172ffc5ce50178a638a5d74"
|
||||
integrity sha512-diMr4t69FigAGUk2KovP0bygEtN/9AkqEVkzjEp0cu+zFFbZMVvwACpTTfuj1mAmFR5kNoSW8wGKDFWIvmThiQ==
|
||||
|
||||
electron-to-chromium@^1.4.251:
|
||||
version "1.4.284"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
|
||||
integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
|
||||
|
||||
electron-to-chromium@^1.4.84:
|
||||
version "1.4.106"
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.106.tgz#e7a3bfa9d745dd9b9e597616cb17283cc349781a"
|
||||
@ -15043,10 +15061,10 @@ loader-utils@^1.2.3:
|
||||
emojis-list "^3.0.0"
|
||||
json5 "^1.0.1"
|
||||
|
||||
loader-utils@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129"
|
||||
integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==
|
||||
loader-utils@^2.0.0, loader-utils@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
|
||||
integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
|
||||
dependencies:
|
||||
big.js "^5.2.2"
|
||||
emojis-list "^3.0.0"
|
||||
@ -17465,8 +17483,6 @@ path-case@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
|
||||
integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU=
|
||||
dependencies:
|
||||
no-case "^2.2.0"
|
||||
|
||||
path-dirname@^1.0.0:
|
||||
version "1.0.2"
|
||||
@ -21516,6 +21532,14 @@ update-browserslist-db@^1.0.0, update-browserslist-db@^1.0.5:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
update-browserslist-db@^1.0.9:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
|
||||
integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
|
||||
dependencies:
|
||||
escalade "^3.1.1"
|
||||
picocolors "^1.0.0"
|
||||
|
||||
upper-case-first@^1.1.0, upper-case-first@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
|
||||
|
Loading…
x
Reference in New Issue
Block a user