Merge pull request #17472 from strapi/releases/4.12.0

This commit is contained in:
Alexandre BODIN 2023-07-28 09:38:20 +02:00 committed by GitHub
commit 8aa758396e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
55 changed files with 585 additions and 305 deletions

View File

@ -1,6 +1,6 @@
{
"name": "check-pr-status",
"version": "4.11.7",
"version": "4.12.0",
"main": "dist/index.js",
"license": "MIT",
"private": true,

View File

@ -18,6 +18,7 @@ To run the e2e tests, you must first install the playwright browsers.
```shell
npx playwright install
```
Because we require a "fresh" instance to assert our e2e tests against this is included in the testing script so all you need to run is:
```shell
@ -42,6 +43,6 @@ For more information check out their [docs](https://playwright.dev/docs/intro).
## What makes a good end to end test?
This is the million dollar question. E2E tests typically test complete user flows that touch numerous points of the application it's testing, we're not interested in what happens during a process, only the user perspective and end results. Consider writing them with your story hat on. E.g. "As a user I want to create a new entity, publish that entity, and then be able to retrieve its data from the content API".
This is the million dollar question. E2E tests typically test complete user flows that touch numerous points of the application it's testing, we're not interested in what happens during a process, only the user perspective and end results. Consider writing them with your story hat on. E.g. "As a user I want to create a new entity, publish that entity, and then be able to retrieve its data from the content API".
Our E2E test suite should _at minimum_ cover the core business flows of the product and this is lead by the QA defined set for this. Consult with your QA if you're not sure.

View File

@ -1,7 +1,7 @@
{
"name": "getstarted",
"private": true,
"version": "4.11.7",
"version": "4.12.0",
"description": "A Strapi application.",
"scripts": {
"develop": "strapi develop",
@ -13,16 +13,16 @@
},
"dependencies": {
"@strapi/icons": "1.8.2",
"@strapi/plugin-color-picker": "4.11.7",
"@strapi/plugin-documentation": "4.11.7",
"@strapi/plugin-graphql": "4.11.7",
"@strapi/plugin-i18n": "4.11.7",
"@strapi/plugin-sentry": "4.11.7",
"@strapi/plugin-users-permissions": "4.11.7",
"@strapi/provider-email-mailgun": "4.11.7",
"@strapi/provider-upload-aws-s3": "4.11.7",
"@strapi/provider-upload-cloudinary": "4.11.7",
"@strapi/strapi": "4.11.7",
"@strapi/plugin-color-picker": "4.12.0",
"@strapi/plugin-documentation": "4.12.0",
"@strapi/plugin-graphql": "4.12.0",
"@strapi/plugin-i18n": "4.12.0",
"@strapi/plugin-sentry": "4.12.0",
"@strapi/plugin-users-permissions": "4.12.0",
"@strapi/provider-email-mailgun": "4.12.0",
"@strapi/provider-upload-aws-s3": "4.12.0",
"@strapi/provider-upload-cloudinary": "4.12.0",
"@strapi/strapi": "4.12.0",
"better-sqlite3": "8.3.0",
"lodash": "4.17.21",
"mysql": "2.18.1",

View File

@ -1,7 +1,7 @@
{
"name": "kitchensink-ts",
"private": true,
"version": "4.11.7",
"version": "4.12.0",
"description": "A Strapi application",
"scripts": {
"develop": "strapi develop",
@ -10,9 +10,9 @@
"strapi": "strapi"
},
"dependencies": {
"@strapi/plugin-i18n": "4.11.7",
"@strapi/plugin-users-permissions": "4.11.7",
"@strapi/strapi": "4.11.7",
"@strapi/plugin-i18n": "4.12.0",
"@strapi/plugin-users-permissions": "4.12.0",
"@strapi/strapi": "4.12.0",
"better-sqlite3": "8.3.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",

View File

@ -1,7 +1,7 @@
{
"name": "kitchensink",
"private": true,
"version": "4.11.7",
"version": "4.12.0",
"description": "A Strapi application.",
"scripts": {
"develop": "strapi develop",
@ -12,10 +12,10 @@
"strapi": "strapi"
},
"dependencies": {
"@strapi/provider-email-mailgun": "4.11.7",
"@strapi/provider-upload-aws-s3": "4.11.7",
"@strapi/provider-upload-cloudinary": "4.11.7",
"@strapi/strapi": "4.11.7",
"@strapi/provider-email-mailgun": "4.12.0",
"@strapi/provider-upload-aws-s3": "4.12.0",
"@strapi/provider-upload-cloudinary": "4.12.0",
"@strapi/strapi": "4.12.0",
"lodash": "4.17.21",
"mysql": "2.18.1",
"passport-google-oauth2": "0.2.0",

View File

@ -1,5 +1,5 @@
{
"version": "4.11.7",
"version": "4.12.0",
"packages": ["packages/*", "examples/*"],
"npmClient": "yarn",
"useWorkspaces": true,

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/admin-test-utils",
"version": "4.11.7",
"version": "4.12.0",
"private": true,
"description": "Test utilities for the Strapi administration panel",
"license": "MIT",
@ -42,9 +42,9 @@
"whatwg-fetch": "3.6.2"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"eslint-config-custom": "4.12.0",
"redux": "^4.2.1",
"tsconfig": "4.11.7"
"tsconfig": "4.12.0"
},
"peerDependencies": {
"redux": "^4.2.1"

View File

@ -1,9 +1,9 @@
{
"name": "create-strapi-app",
"version": "4.11.7",
"version": "4.12.0",
"description": "Generate a new Strapi application.",
"dependencies": {
"@strapi/generate-new": "4.11.7",
"@strapi/generate-new": "4.12.0",
"commander": "8.3.0",
"inquirer": "8.2.5"
},
@ -49,8 +49,8 @@
"lint": "run -T eslint ."
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "create-strapi-starter",
"version": "4.11.7",
"version": "4.12.0",
"description": "Generate a new Strapi application.",
"keywords": [
"create-strapi-starter",
@ -44,7 +44,7 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/generate-new": "4.11.7",
"@strapi/generate-new": "4.12.0",
"chalk": "4.1.2",
"ci-info": "3.8.0",
"commander": "8.3.0",
@ -54,8 +54,8 @@
"ora": "5.4.1"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -31,6 +31,8 @@ module.exports = async () => {
// Decorate the entity service with review workflow logic
const { decorator } = getService('review-workflows-decorator');
strapi.entityService.decorate(decorator);
await getService('review-workflows-weekly-metrics').registerCron();
}
await getService('seat-enforcement').seatEnforcementWorkflow();

View File

@ -35,7 +35,7 @@ const servicesMock = {
};
const strapiMock = {
service: jest.fn((serviceName) => console.log(serviceName) || servicesMock[serviceName]),
service: jest.fn((serviceName) => servicesMock[serviceName]),
};
let validationService;

View File

@ -33,6 +33,8 @@ const workflowMock = {
const entityServiceMock = {
findOne: jest.fn(() => workflowMock),
findMany: jest.fn(() => [workflowMock]),
update: jest.fn(() => [workflowMock]),
create: jest.fn(() => [workflowMock]),
};
const contentManagerServicesMock = {
@ -52,14 +54,32 @@ const reviewWorkflowsValidationMock = {
validateWorkflowStages: jest.fn(),
};
const stagesMock = [
{
id: 1,
},
{ id: 2 },
];
const servicesMock = {
'admin::review-workflows-validation': reviewWorkflowsValidationMock,
'admin::review-workflows-metrics': {
sendDidCreateWorkflow: jest.fn(),
sendDidEditWorkflow: jest.fn(),
},
'admin::stages': {
replaceStages: jest.fn(async () => stagesMock),
createMany: jest.fn(async () => stagesMock),
},
};
const strapiMock = {
entityService: entityServiceMock,
plugin: jest.fn((name) => pluginsMock[name]),
service: jest.fn((serviceName) => servicesMock[serviceName]),
db: {
transaction: jest.fn((func) => func()),
},
};
const workflowsService = workflowsServiceFactory({ strapi: strapiMock });
@ -81,6 +101,7 @@ describe('Review workflows - Workflows service', () => {
});
});
});
describe('findById', () => {
test('Should call entityService with the right model UID', async () => {
workflowsService.findById(1, {});
@ -90,4 +111,87 @@ describe('Review workflows - Workflows service', () => {
expect(entityServiceMock.findOne).toBeCalledWith(WORKFLOW_MODEL_UID, 1, {});
});
});
describe('update', () => {
const uid = 'uid';
const workflow = {
id: 1,
name: 'Default',
contentTypes: [uid],
stages: [
{
id: 1,
name: 'To do',
color: '#4945FF',
},
{
id: 2,
name: 'Ready to review',
color: '#4945FF',
},
],
};
const opts = {
data: {
...workflow,
stages: workflow.stages.map((stage) => {
if (stage.id === 1) {
return {
...stage,
name: 'Update',
};
}
return stage;
}),
},
populate: undefined,
};
test('Should call entityService with the right model UID', async () => {
await workflowsService.update(workflow, opts);
expect(entityServiceMock.update).toBeCalledWith(WORKFLOW_MODEL_UID, workflow.id, {
data: {
contentTypes: [uid],
id: workflow.id,
name: 'Default',
stages: workflow.stages.map((stage) => stage.id),
},
populate: undefined,
});
expect(servicesMock['admin::review-workflows-metrics'].sendDidEditWorkflow).toBeCalled();
});
});
describe('create', () => {
const uid = 'uid';
const opts = {
data: {
name: 'Workflow',
contentTypes: [uid],
stages: [
{
color: '#4945ff',
name: 'Stage 1',
},
],
},
populate: undefined,
};
test('Should call entityService with the right model UID', async () => {
await workflowsService.create(opts);
expect(entityServiceMock.create).toBeCalledWith(WORKFLOW_MODEL_UID, {
data: {
contentTypes: [uid],
name: 'Workflow',
stages: stagesMock.map((stage) => stage.id),
},
populate: { stages: true },
});
expect(servicesMock['admin::review-workflows-metrics'].sendDidCreateWorkflow).toBeCalled();
});
});
});

View File

@ -12,4 +12,5 @@ module.exports = {
'review-workflows-validation': require('./review-workflows/validation'),
'review-workflows-decorator': require('./review-workflows/entity-service-decorator'),
'review-workflows-metrics': require('./review-workflows/metrics'),
'review-workflows-weekly-metrics': require('./review-workflows/metrics/weekly-metrics'),
};

View File

@ -1,24 +0,0 @@
'use strict';
const sendDidCreateStage = async () => {
strapi.telemetry.send('didCreateStage', {});
};
const sendDidEditStage = async () => {
strapi.telemetry.send('didEditStage', {});
};
const sendDidDeleteStage = async () => {
strapi.telemetry.send('didDeleteStage', {});
};
const sendDidChangeEntryStage = async () => {
strapi.telemetry.send('didChangeEntryStage', {});
};
module.exports = {
sendDidCreateStage,
sendDidEditStage,
sendDidDeleteStage,
sendDidChangeEntryStage,
};

View File

@ -0,0 +1,65 @@
'use strict';
const weeklyMetrics = require('../weekly-metrics');
jest.mock('../../../../../../server/utils', () => {
return {
getService: jest.fn(() => {
const workflowsMock = {
find: jest.fn(() => [
{
id: 1,
stages: [{ id: 1, name: 'To Do' }],
contentTypes: [{ uid: 'test-model' }],
},
{
id: 2,
stages: [
{ id: 2, name: 'To Do' },
{ id: 3, name: 'In Progress' },
],
contentTypes: [{ uid: 'test-model-1' }],
},
{
id: 3,
stages: [
{ id: 4, name: 'To Do' },
{ id: 5, name: 'In Progress' },
{ id: 6, name: 'Ready to Review' },
],
},
{
id: 4,
stages: [
{ id: 7, name: 'To Do' },
{ id: 8, name: 'In Progress' },
{ id: 9, name: 'Ready to Review' },
{ id: 10, name: 'Reviewed' },
],
contentTypes: [{ uid: 'test-model-2' }],
},
]),
};
return {
...workflowsMock,
};
}),
};
});
describe('Review workflows - Weekly Metrics', () => {
describe('computeMetrics', () => {
test('Computes the correct workflow metrics', async () => {
const service = weeklyMetrics({ strapi: {} });
const metrics = await service.computeMetrics();
expect(metrics).toEqual({
numberOfActiveWorkflows: 4,
avgStagesCount: 2.5,
maxStagesCount: 4,
activatedContentTypes: 3,
});
});
});
});

View File

@ -0,0 +1,51 @@
'use strict';
const sendDidCreateStage = async () => {
strapi.telemetry.send('didCreateStage', {});
};
const sendDidEditStage = async () => {
strapi.telemetry.send('didEditStage', {});
};
const sendDidDeleteStage = async () => {
strapi.telemetry.send('didDeleteStage', {});
};
const sendDidChangeEntryStage = async () => {
strapi.telemetry.send('didChangeEntryStage', {});
};
const sendDidCreateWorkflow = async () => {
strapi.telemetry.send('didCreateWorkflow', {});
};
const sendDidEditWorkflow = async () => {
strapi.telemetry.send('didEditWorkflow', {});
};
const sendDidSendReviewWorkflowPropertiesOnceAWeek = async (
numberOfActiveWorkflows,
avgStagesCount,
maxStagesCount,
activatedContentTypes
) => {
strapi.telemetry.send('didSendReviewWorkflowPropertiesOnceAWeek', {
groupProperties: {
numberOfActiveWorkflows,
avgStagesCount,
maxStagesCount,
activatedContentTypes,
},
});
};
module.exports = {
sendDidCreateStage,
sendDidEditStage,
sendDidDeleteStage,
sendDidChangeEntryStage,
sendDidCreateWorkflow,
sendDidEditWorkflow,
sendDidSendReviewWorkflowPropertiesOnceAWeek,
};

View File

@ -0,0 +1,76 @@
'use strict';
const { flow, map, sum, size, mean, max, defaultTo } = require('lodash/fp');
const { add } = require('date-fns');
const { getService } = require('../../../../../server/utils');
const ONE_WEEK = 7 * 24 * 60 * 60 * 1000;
const getWeeklyCronScheduleAt = (date) =>
`${date.getSeconds()} ${date.getMinutes()} ${date.getHours()} * * ${date.getDay()}`;
const getMetricsStoreValue = async () => {
const value = await strapi.store.get({ type: 'plugin', name: 'ee', key: 'metrics' });
return defaultTo({}, value);
};
const setMetricsStoreValue = (value) =>
strapi.store.set({ type: 'plugin', name: 'ee', key: 'metrics', value });
module.exports = ({ strapi }) => {
const metrics = getService('review-workflows-metrics', { strapi });
const workflowsService = getService('workflows', { strapi });
return {
async computeMetrics() {
// There will never be more than 200 workflow, so we can safely fetch them all
const workflows = await workflowsService.find({ populate: 'stages' });
const stagesCount = flow(
map('stages'), // Number of stages per workflow
map(size)
)(workflows);
const contentTypesCount = flow(
map('contentTypes'), // Number of content types per workflow
map(size)
)(workflows);
return {
numberOfActiveWorkflows: size(workflows),
avgStagesCount: mean(stagesCount),
maxStagesCount: max(stagesCount),
activatedContentTypes: sum(contentTypesCount),
};
},
async sendMetrics() {
const computedMetrics = await this.computeMetrics();
metrics.sendDidSendReviewWorkflowPropertiesOnceAWeek(computedMetrics);
const metricsInfoStored = await getMetricsStoreValue();
await setMetricsStoreValue({ ...metricsInfoStored, lastWeeklyUpdate: new Date().getTime() });
},
async ensureWeeklyStoredCronSchedule() {
const metricsInfoStored = await getMetricsStoreValue();
const { weeklySchedule: currentSchedule, lastWeeklyUpdate } = metricsInfoStored;
const now = new Date();
let weeklySchedule = currentSchedule;
if (!currentSchedule || !lastWeeklyUpdate || lastWeeklyUpdate + ONE_WEEK < now.getTime()) {
weeklySchedule = getWeeklyCronScheduleAt(add(now, { seconds: 10 }));
await setMetricsStoreValue({ ...metricsInfoStored, weeklySchedule });
}
return weeklySchedule;
},
async registerCron() {
const weeklySchedule = await this.ensureWeeklyStoredCronSchedule();
strapi.cron.add({ [weeklySchedule]: this.sendMetrics.bind(this) });
},
};
};

View File

@ -20,6 +20,7 @@ const processFilters = ({ strapi }, filters = {}) => {
module.exports = ({ strapi }) => {
const workflowsContentTypes = workflowsContentTypesFactory({ strapi });
const workflowsValidationService = getService('review-workflows-validation', { strapi });
const metrics = getService('review-workflows-metrics', { strapi });
return {
/**
@ -70,6 +71,8 @@ module.exports = ({ strapi }) => {
});
}
metrics.sendDidCreateWorkflow();
// Create Workflow
return strapi.entityService.create(WORKFLOW_MODEL_UID, createOpts);
});
@ -113,6 +116,8 @@ module.exports = ({ strapi }) => {
});
}
metrics.sendDidEditWorkflow();
// Update Workflow
return strapi.entityService.update(WORKFLOW_MODEL_UID, workflow.id, updateOpts);
});

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/admin",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi Admin",
"repository": {
"type": "git",
@ -42,14 +42,14 @@
"dependencies": {
"@casl/ability": "^5.4.3",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
"@strapi/data-transfer": "4.11.7",
"@strapi/data-transfer": "4.12.0",
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/permissions": "4.11.7",
"@strapi/provider-audit-logs-local": "4.11.7",
"@strapi/typescript-utils": "4.11.7",
"@strapi/utils": "4.11.7",
"@strapi/permissions": "4.12.0",
"@strapi/provider-audit-logs-local": "4.12.0",
"@strapi/typescript-utils": "4.12.0",
"@strapi/utils": "4.12.0",
"axios": "1.4.0",
"bcryptjs": "2.4.3",
"browserslist": "^4.17.3",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-content-manager",
"version": "4.11.7",
"version": "4.12.0",
"description": "A powerful UI to easily manage your data.",
"repository": {
"type": "git",
@ -26,7 +26,7 @@
},
"dependencies": {
"@sindresorhus/slugify": "1.1.0",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"lodash": "4.17.21"
},
"engines": {

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-content-type-builder",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi plugin to create content type",
"repository": {
"type": "git",
@ -31,10 +31,10 @@
"dependencies": {
"@sindresorhus/slugify": "1.1.0",
"@strapi/design-system": "1.8.2",
"@strapi/generators": "4.11.7",
"@strapi/helper-plugin": "4.11.7",
"@strapi/generators": "4.12.0",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"fs-extra": "10.0.0",
"immer": "9.0.19",
"lodash": "4.17.21",
@ -49,7 +49,7 @@
"yup": "0.32.9"
},
"devDependencies": {
"@strapi/admin": "4.11.7",
"@strapi/admin": "4.12.0",
"@testing-library/react": "14.0.0",
"@testing-library/react-hooks": "8.0.1",
"history": "^4.9.0",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/data-transfer",
"version": "4.11.7",
"version": "4.12.0",
"description": "Data transfer capabilities for Strapi",
"keywords": [
"strapi",
@ -40,8 +40,8 @@
"./dist"
],
"dependencies": {
"@strapi/logger": "4.11.7",
"@strapi/strapi": "4.11.7",
"@strapi/logger": "4.12.0",
"@strapi/strapi": "4.12.0",
"chalk": "4.1.2",
"fs-extra": "10.0.0",
"lodash": "4.17.21",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/database",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi's database layer",
"homepage": "https://strapi.io",
"bugs": {
@ -33,7 +33,7 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"date-fns": "2.30.0",
"debug": "4.3.4",
"fs-extra": "10.0.0",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-email",
"version": "4.11.7",
"version": "4.12.0",
"description": "Easily configure your Strapi application to send emails.",
"repository": {
"type": "git",
@ -29,15 +29,15 @@
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/icons": "1.8.2",
"@strapi/provider-email-sendmail": "4.11.7",
"@strapi/utils": "4.11.7",
"@strapi/provider-email-sendmail": "4.12.0",
"@strapi/utils": "4.12.0",
"lodash": "4.17.21",
"prop-types": "^15.8.1",
"react-intl": "6.4.1",
"yup": "0.32.9"
},
"devDependencies": {
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@testing-library/react": "14.0.0",
"msw": "1.2.1",
"react": "^18.2.0",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/helper-plugin",
"version": "4.11.7",
"version": "4.12.0",
"description": "Helper for Strapi plugins development",
"repository": {
"type": "git",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/permissions",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi's permission layer.",
"repository": {
"type": "git",
@ -36,13 +36,13 @@
},
"dependencies": {
"@casl/ability": "5.4.4",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"lodash": "4.17.21",
"sift": "16.0.1"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/strapi",
"version": "4.11.7",
"version": "4.12.0",
"description": "An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite",
"keywords": [
"strapi",
@ -81,19 +81,19 @@
"dependencies": {
"@koa/cors": "3.4.3",
"@koa/router": "10.1.1",
"@strapi/admin": "4.11.7",
"@strapi/data-transfer": "4.11.7",
"@strapi/database": "4.11.7",
"@strapi/generate-new": "4.11.7",
"@strapi/generators": "4.11.7",
"@strapi/logger": "4.11.7",
"@strapi/permissions": "4.11.7",
"@strapi/plugin-content-manager": "4.11.7",
"@strapi/plugin-content-type-builder": "4.11.7",
"@strapi/plugin-email": "4.11.7",
"@strapi/plugin-upload": "4.11.7",
"@strapi/typescript-utils": "4.11.7",
"@strapi/utils": "4.11.7",
"@strapi/admin": "4.12.0",
"@strapi/data-transfer": "4.12.0",
"@strapi/database": "4.12.0",
"@strapi/generate-new": "4.12.0",
"@strapi/generators": "4.12.0",
"@strapi/logger": "4.12.0",
"@strapi/permissions": "4.12.0",
"@strapi/plugin-content-manager": "4.12.0",
"@strapi/plugin-content-type-builder": "4.12.0",
"@strapi/plugin-email": "4.12.0",
"@strapi/plugin-upload": "4.12.0",
"@strapi/typescript-utils": "4.12.0",
"@strapi/utils": "4.12.0",
"bcryptjs": "2.4.3",
"boxen": "5.1.2",
"chalk": "4.1.2",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-upload",
"version": "4.11.7",
"version": "4.12.0",
"description": "Makes it easy to upload images and files to your Strapi Application.",
"license": "SEE LICENSE IN LICENSE",
"author": {
@ -26,10 +26,10 @@
},
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/provider-upload-local": "4.11.7",
"@strapi/utils": "4.11.7",
"@strapi/provider-upload-local": "4.12.0",
"@strapi/utils": "4.12.0",
"axios": "1.4.0",
"byte-size": "7.0.1",
"cropperjs": "1.5.12",

View File

@ -2,8 +2,8 @@
const { defaultTo } = require('lodash/fp');
const { add } = require('date-fns');
const { FOLDER_MODEL_UID, FILE_MODEL_UID } = require('../../constants');
const { getWeeklyCronScheduleAt } = require('../../utils/cron');
const { FOLDER_MODEL_UID, FILE_MODEL_UID } = require('../../constants');
const ONE_WEEK = 7 * 24 * 60 * 60 * 1000;

View File

@ -6,7 +6,6 @@ describe('cron', () => {
describe('getWeeklyCronScheduleAt', () => {
test('2022-07-22T15:43:40.036 => 40 43 15 * * 5', () => {
const date = new Date('2022-07-22T15:43:40.036'); // it's a friday
const result = getWeeklyCronScheduleAt(date);
expect(result).toBe('40 43 15 * * 5');
});

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/utils",
"version": "4.11.7",
"version": "4.12.0",
"description": "Shared utilities for the Strapi packages",
"keywords": [
"strapi",
@ -55,10 +55,10 @@
},
"devDependencies": {
"@types/koa": "2.13.4",
"eslint-config-custom": "4.11.7",
"eslint-config-custom": "4.12.0",
"koa": "2.13.4",
"koa-body": "4.2.0",
"tsconfig": "4.11.7"
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/generate-new",
"version": "4.11.7",
"version": "4.12.0",
"description": "Generate a new Strapi application.",
"keywords": [
"generate",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/generators",
"version": "4.11.7",
"version": "4.12.0",
"description": "Interactive API generator.",
"keywords": [
"strapi",
@ -45,8 +45,8 @@
},
"dependencies": {
"@sindresorhus/slugify": "1.1.0",
"@strapi/typescript-utils": "4.11.7",
"@strapi/utils": "4.11.7",
"@strapi/typescript-utils": "4.12.0",
"@strapi/utils": "4.12.0",
"chalk": "4.1.2",
"copyfiles": "2.4.1",
"fs-extra": "10.0.0",
@ -55,8 +55,8 @@
"pluralize": "8.0.0"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-color-picker",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi maintained Custom Fields",
"strapi": {
"name": "color-picker",
@ -10,7 +10,7 @@
},
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"prop-types": "^15.8.1",
"react-colorful": "5.6.1",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-documentation",
"version": "4.11.7",
"version": "4.12.0",
"description": "Create an OpenAPI Document and visualize your API with SWAGGER UI.",
"repository": {
"type": "git",
@ -29,9 +29,9 @@
},
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"bcryptjs": "2.4.3",
"cheerio": "^1.0.0-rc.12",
"formik": "2.4.0",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-graphql",
"version": "4.11.7",
"version": "4.12.0",
"description": "Adds GraphQL endpoint with default API methods.",
"repository": {
"type": "git",
@ -27,9 +27,9 @@
"@graphql-tools/schema": "8.5.1",
"@graphql-tools/utils": "^8.13.1",
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"apollo-server-core": "3.12.0",
"apollo-server-koa": "3.10.0",
"glob": "7.2.3",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-i18n",
"version": "4.11.7",
"version": "4.12.0",
"description": "This plugin enables to create, to read and to update content in different languages, both from the Admin Panel and from the API",
"repository": {
"type": "git",
@ -31,9 +31,9 @@
},
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"formik": "2.4.0",
"immer": "9.0.19",
"lodash": "4.17.21",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-sentry",
"version": "4.11.7",
"version": "4.12.0",
"description": "Send Strapi error events to Sentry",
"repository": {
"type": "git",
@ -28,7 +28,7 @@
"dependencies": {
"@sentry/node": "6.19.7",
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2"
},
"devDependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/plugin-users-permissions",
"version": "4.11.7",
"version": "4.12.0",
"description": "Protect your API with a full-authentication process based on JWT",
"repository": {
"type": "git",
@ -30,9 +30,9 @@
},
"dependencies": {
"@strapi/design-system": "1.8.2",
"@strapi/helper-plugin": "4.11.7",
"@strapi/helper-plugin": "4.12.0",
"@strapi/icons": "1.8.2",
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"bcryptjs": "2.4.3",
"formik": "2.4.0",
"grant-koa": "5.4.8",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-audit-logs-local",
"version": "4.11.7",
"version": "4.12.0",
"description": "Local provider for strapi audit logs",
"keywords": [
"audit-logs",
@ -41,8 +41,8 @@
"lint": "run -T eslint ."
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"peerDependencies": {
"@strapi/strapi": "^4.9.0"

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-email-amazon-ses",
"version": "4.11.7",
"version": "4.12.0",
"description": "Amazon SES provider for strapi email",
"keywords": [
"email",
@ -42,12 +42,12 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"node-ses": "^3.0.3"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-email-mailgun",
"version": "4.11.7",
"version": "4.12.0",
"description": "Mailgun provider for strapi email plugin",
"keywords": [
"email",
@ -44,13 +44,13 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"form-data": "^4.0.0",
"mailgun.js": "8.2.1"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-email-nodemailer",
"version": "4.11.7",
"version": "4.12.0",
"description": "Nodemailer provider for Strapi 3",
"keywords": [
"strapi",
@ -60,8 +60,8 @@
},
"devDependencies": {
"@types/nodemailer": "6.4.7",
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-email-sendgrid",
"version": "4.11.7",
"version": "4.12.0",
"description": "Sendgrid provider for strapi email",
"keywords": [
"email",
@ -43,11 +43,11 @@
},
"dependencies": {
"@sendgrid/mail": "7.7.0",
"@strapi/utils": "4.11.7"
"@strapi/utils": "4.12.0"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-email-sendmail",
"version": "4.11.7",
"version": "4.12.0",
"description": "Sendmail provider for strapi email",
"keywords": [
"email",
@ -41,13 +41,13 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"sendmail": "^1.6.1"
},
"devDependencies": {
"@types/sendmail": "1.4.4",
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-upload-aws-s3",
"version": "4.11.7",
"version": "4.12.0",
"description": "AWS S3 provider for strapi upload",
"keywords": [
"upload",
@ -50,8 +50,8 @@
},
"devDependencies": {
"@types/jest": "29.5.2",
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-upload-cloudinary",
"version": "4.11.7",
"version": "4.12.0",
"description": "Cloudinary provider for strapi upload",
"keywords": [
"upload",
@ -42,13 +42,13 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"cloudinary": "^1.38.0",
"into-stream": "^5.1.0"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/provider-upload-local",
"version": "4.11.7",
"version": "4.12.0",
"description": "Local provider for strapi upload",
"keywords": [
"upload",
@ -43,13 +43,13 @@
"lint": "run -T eslint ."
},
"dependencies": {
"@strapi/utils": "4.11.7",
"@strapi/utils": "4.12.0",
"fs-extra": "10.0.0"
},
"devDependencies": {
"@types/jest": "29.5.2",
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,6 +1,6 @@
{
"name": "api-tests",
"version": "4.11.7",
"version": "4.12.0",
"private": true,
"dependencies": {
"dotenv": "14.2.0",

View File

@ -1,6 +1,6 @@
{
"name": "eslint-config-custom",
"main": "index.js",
"version": "4.11.7",
"version": "4.12.0",
"private": true
}

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/logger",
"version": "4.11.7",
"version": "4.12.0",
"description": "Strapi's logger",
"homepage": "https://strapi.io",
"bugs": {
@ -41,8 +41,8 @@
"winston": "3.9.0"
},
"devDependencies": {
"eslint-config-custom": "4.11.7",
"tsconfig": "4.11.7"
"eslint-config-custom": "4.12.0",
"tsconfig": "4.12.0"
},
"engines": {
"node": ">=16.0.0 <=20.x.x",

View File

@ -1,5 +1,5 @@
{
"name": "tsconfig",
"version": "4.11.7",
"version": "4.12.0",
"private": true
}

View File

@ -1,6 +1,6 @@
{
"name": "@strapi/typescript-utils",
"version": "4.11.7",
"version": "4.12.0",
"description": "Typescript support for Strapi",
"keywords": [
"strapi",

View File

@ -1,7 +1,7 @@
{
"name": "scripts-front",
"private": true,
"version": "4.11.7",
"version": "4.12.0",
"scripts": {
"test:front": "jest --config jest.config.front.js"
}

264
yarn.lock
View File

@ -7541,30 +7541,30 @@ __metadata:
dependencies:
"@juggle/resize-observer": 3.4.0
"@testing-library/jest-dom": 5.16.5
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
jest-styled-components: 7.1.1
redux: ^4.2.1
tsconfig: 4.11.7
tsconfig: 4.12.0
whatwg-fetch: 3.6.2
peerDependencies:
redux: ^4.2.1
languageName: unknown
linkType: soft
"@strapi/admin@4.11.7, @strapi/admin@workspace:packages/core/admin":
"@strapi/admin@4.12.0, @strapi/admin@workspace:packages/core/admin":
version: 0.0.0-use.local
resolution: "@strapi/admin@workspace:packages/core/admin"
dependencies:
"@casl/ability": ^5.4.3
"@pmmmwh/react-refresh-webpack-plugin": 0.5.10
"@strapi/data-transfer": 4.11.7
"@strapi/data-transfer": 4.12.0
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/permissions": 4.11.7
"@strapi/provider-audit-logs-local": 4.11.7
"@strapi/typescript-utils": 4.11.7
"@strapi/utils": 4.11.7
"@strapi/permissions": 4.12.0
"@strapi/provider-audit-logs-local": 4.12.0
"@strapi/typescript-utils": 4.12.0
"@strapi/utils": 4.12.0
"@testing-library/dom": 9.2.0
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@ -7655,12 +7655,12 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/data-transfer@4.11.7, @strapi/data-transfer@workspace:packages/core/data-transfer":
"@strapi/data-transfer@4.12.0, @strapi/data-transfer@workspace:packages/core/data-transfer":
version: 0.0.0-use.local
resolution: "@strapi/data-transfer@workspace:packages/core/data-transfer"
dependencies:
"@strapi/logger": 4.11.7
"@strapi/strapi": 4.11.7
"@strapi/logger": 4.12.0
"@strapi/strapi": 4.12.0
"@tsconfig/node16": 1.0.3
"@types/fs-extra": 9.0.13
"@types/jest": 29.5.2
@ -7690,11 +7690,11 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/database@4.11.7, @strapi/database@workspace:packages/core/database":
"@strapi/database@4.12.0, @strapi/database@workspace:packages/core/database":
version: 0.0.0-use.local
resolution: "@strapi/database@workspace:packages/core/database"
dependencies:
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
date-fns: 2.30.0
debug: 4.3.4
fs-extra: 10.0.0
@ -7758,7 +7758,7 @@ __metadata:
languageName: node
linkType: hard
"@strapi/generate-new@4.11.7, @strapi/generate-new@workspace:packages/generators/app":
"@strapi/generate-new@4.12.0, @strapi/generate-new@workspace:packages/generators/app":
version: 0.0.0-use.local
resolution: "@strapi/generate-new@workspace:packages/generators/app"
dependencies:
@ -7777,25 +7777,25 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/generators@4.11.7, @strapi/generators@workspace:packages/generators/generators":
"@strapi/generators@4.12.0, @strapi/generators@workspace:packages/generators/generators":
version: 0.0.0-use.local
resolution: "@strapi/generators@workspace:packages/generators/generators"
dependencies:
"@sindresorhus/slugify": 1.1.0
"@strapi/typescript-utils": 4.11.7
"@strapi/utils": 4.11.7
"@strapi/typescript-utils": 4.12.0
"@strapi/utils": 4.12.0
chalk: 4.1.2
copyfiles: 2.4.1
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
fs-extra: 10.0.0
node-plop: 0.26.3
plop: 2.7.6
pluralize: 8.0.0
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/helper-plugin@4.11.7, @strapi/helper-plugin@workspace:packages/core/helper-plugin":
"@strapi/helper-plugin@4.12.0, @strapi/helper-plugin@workspace:packages/core/helper-plugin":
version: 0.0.0-use.local
resolution: "@strapi/helper-plugin@workspace:packages/core/helper-plugin"
dependencies:
@ -7852,36 +7852,36 @@ __metadata:
languageName: node
linkType: hard
"@strapi/logger@4.11.7, @strapi/logger@workspace:packages/utils/logger":
"@strapi/logger@4.12.0, @strapi/logger@workspace:packages/utils/logger":
version: 0.0.0-use.local
resolution: "@strapi/logger@workspace:packages/utils/logger"
dependencies:
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
lodash: 4.17.21
tsconfig: 4.11.7
tsconfig: 4.12.0
winston: 3.9.0
languageName: unknown
linkType: soft
"@strapi/permissions@4.11.7, @strapi/permissions@workspace:packages/core/permissions":
"@strapi/permissions@4.12.0, @strapi/permissions@workspace:packages/core/permissions":
version: 0.0.0-use.local
resolution: "@strapi/permissions@workspace:packages/core/permissions"
dependencies:
"@casl/ability": 5.4.4
"@strapi/utils": 4.11.7
eslint-config-custom: 4.11.7
"@strapi/utils": 4.12.0
eslint-config-custom: 4.12.0
lodash: 4.17.21
sift: 16.0.1
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/plugin-color-picker@4.11.7, @strapi/plugin-color-picker@workspace:packages/plugins/color-picker":
"@strapi/plugin-color-picker@4.12.0, @strapi/plugin-color-picker@workspace:packages/plugins/color-picker":
version: 0.0.0-use.local
resolution: "@strapi/plugin-color-picker@workspace:packages/plugins/color-picker"
dependencies:
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@testing-library/react": 14.0.0
prop-types: ^15.8.1
@ -7900,27 +7900,27 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-content-manager@4.11.7, @strapi/plugin-content-manager@workspace:packages/core/content-manager":
"@strapi/plugin-content-manager@4.12.0, @strapi/plugin-content-manager@workspace:packages/core/content-manager":
version: 0.0.0-use.local
resolution: "@strapi/plugin-content-manager@workspace:packages/core/content-manager"
dependencies:
"@sindresorhus/slugify": 1.1.0
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
lodash: 4.17.21
languageName: unknown
linkType: soft
"@strapi/plugin-content-type-builder@4.11.7, @strapi/plugin-content-type-builder@workspace:packages/core/content-type-builder":
"@strapi/plugin-content-type-builder@4.12.0, @strapi/plugin-content-type-builder@workspace:packages/core/content-type-builder":
version: 0.0.0-use.local
resolution: "@strapi/plugin-content-type-builder@workspace:packages/core/content-type-builder"
dependencies:
"@sindresorhus/slugify": 1.1.0
"@strapi/admin": 4.11.7
"@strapi/admin": 4.12.0
"@strapi/design-system": 1.8.2
"@strapi/generators": 4.11.7
"@strapi/helper-plugin": 4.11.7
"@strapi/generators": 4.12.0
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@testing-library/react": 14.0.0
"@testing-library/react-hooks": 8.0.1
fs-extra: 10.0.0
@ -7948,15 +7948,15 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-documentation@4.11.7, @strapi/plugin-documentation@workspace:packages/plugins/documentation":
"@strapi/plugin-documentation@4.12.0, @strapi/plugin-documentation@workspace:packages/plugins/documentation":
version: 0.0.0-use.local
resolution: "@strapi/plugin-documentation@workspace:packages/plugins/documentation"
dependencies:
"@apidevtools/swagger-parser": ^10.1.0
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
bcryptjs: 2.4.3
@ -7987,15 +7987,15 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-email@4.11.7, @strapi/plugin-email@workspace:packages/core/email":
"@strapi/plugin-email@4.12.0, @strapi/plugin-email@workspace:packages/core/email":
version: 0.0.0-use.local
resolution: "@strapi/plugin-email@workspace:packages/core/email"
dependencies:
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/provider-email-sendmail": 4.11.7
"@strapi/utils": 4.11.7
"@strapi/provider-email-sendmail": 4.12.0
"@strapi/utils": 4.12.0
"@testing-library/react": 14.0.0
lodash: 4.17.21
msw: 1.2.1
@ -8014,16 +8014,16 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-graphql@4.11.7, @strapi/plugin-graphql@workspace:packages/plugins/graphql":
"@strapi/plugin-graphql@4.12.0, @strapi/plugin-graphql@workspace:packages/plugins/graphql":
version: 0.0.0-use.local
resolution: "@strapi/plugin-graphql@workspace:packages/plugins/graphql"
dependencies:
"@graphql-tools/schema": 8.5.1
"@graphql-tools/utils": ^8.13.1
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
apollo-server-core: 3.12.0
apollo-server-koa: 3.10.0
cross-env: ^7.0.3
@ -8051,14 +8051,14 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-i18n@4.11.7, @strapi/plugin-i18n@workspace:packages/plugins/i18n":
"@strapi/plugin-i18n@4.12.0, @strapi/plugin-i18n@workspace:packages/plugins/i18n":
version: 0.0.0-use.local
resolution: "@strapi/plugin-i18n@workspace:packages/plugins/i18n"
dependencies:
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@testing-library/react": 14.0.0
formik: 2.4.0
immer: 9.0.19
@ -8083,13 +8083,13 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-sentry@4.11.7, @strapi/plugin-sentry@workspace:packages/plugins/sentry":
"@strapi/plugin-sentry@4.12.0, @strapi/plugin-sentry@workspace:packages/plugins/sentry":
version: 0.0.0-use.local
resolution: "@strapi/plugin-sentry@workspace:packages/plugins/sentry"
dependencies:
"@sentry/node": 6.19.7
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
react: ^18.2.0
react-dom: ^18.2.0
@ -8104,15 +8104,15 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-upload@4.11.7, @strapi/plugin-upload@workspace:packages/core/upload":
"@strapi/plugin-upload@4.12.0, @strapi/plugin-upload@workspace:packages/core/upload":
version: 0.0.0-use.local
resolution: "@strapi/plugin-upload@workspace:packages/core/upload"
dependencies:
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/provider-upload-local": 4.11.7
"@strapi/utils": 4.11.7
"@strapi/provider-upload-local": 4.12.0
"@strapi/utils": 4.12.0
"@testing-library/dom": 9.2.0
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@ -8150,14 +8150,14 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/plugin-users-permissions@4.11.7, @strapi/plugin-users-permissions@workspace:packages/plugins/users-permissions":
"@strapi/plugin-users-permissions@4.12.0, @strapi/plugin-users-permissions@workspace:packages/plugins/users-permissions":
version: 0.0.0-use.local
resolution: "@strapi/plugin-users-permissions@workspace:packages/plugins/users-permissions"
dependencies:
"@strapi/design-system": 1.8.2
"@strapi/helper-plugin": 4.11.7
"@strapi/helper-plugin": 4.12.0
"@strapi/icons": 1.8.2
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@testing-library/dom": 9.2.0
"@testing-library/react": 14.0.0
"@testing-library/user-event": 14.4.3
@ -8190,12 +8190,12 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/provider-audit-logs-local@4.11.7, @strapi/provider-audit-logs-local@workspace:packages/providers/audit-logs-local":
"@strapi/provider-audit-logs-local@4.12.0, @strapi/provider-audit-logs-local@workspace:packages/providers/audit-logs-local":
version: 0.0.0-use.local
resolution: "@strapi/provider-audit-logs-local@workspace:packages/providers/audit-logs-local"
dependencies:
eslint-config-custom: 4.11.7
tsconfig: 4.11.7
eslint-config-custom: 4.12.0
tsconfig: 4.12.0
peerDependencies:
"@strapi/strapi": ^4.9.0
languageName: unknown
@ -8205,22 +8205,22 @@ __metadata:
version: 0.0.0-use.local
resolution: "@strapi/provider-email-amazon-ses@workspace:packages/providers/email-amazon-ses"
dependencies:
"@strapi/utils": 4.11.7
eslint-config-custom: 4.11.7
"@strapi/utils": 4.12.0
eslint-config-custom: 4.12.0
node-ses: ^3.0.3
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/provider-email-mailgun@4.11.7, @strapi/provider-email-mailgun@workspace:packages/providers/email-mailgun":
"@strapi/provider-email-mailgun@4.12.0, @strapi/provider-email-mailgun@workspace:packages/providers/email-mailgun":
version: 0.0.0-use.local
resolution: "@strapi/provider-email-mailgun@workspace:packages/providers/email-mailgun"
dependencies:
"@strapi/utils": 4.11.7
eslint-config-custom: 4.11.7
"@strapi/utils": 4.12.0
eslint-config-custom: 4.12.0
form-data: ^4.0.0
mailgun.js: 8.2.1
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
@ -8229,10 +8229,10 @@ __metadata:
resolution: "@strapi/provider-email-nodemailer@workspace:packages/providers/email-nodemailer"
dependencies:
"@types/nodemailer": 6.4.7
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
lodash: 4.17.21
nodemailer: 6.9.1
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
@ -8241,79 +8241,79 @@ __metadata:
resolution: "@strapi/provider-email-sendgrid@workspace:packages/providers/email-sendgrid"
dependencies:
"@sendgrid/mail": 7.7.0
"@strapi/utils": 4.11.7
eslint-config-custom: 4.11.7
tsconfig: 4.11.7
"@strapi/utils": 4.12.0
eslint-config-custom: 4.12.0
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/provider-email-sendmail@4.11.7, @strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail":
"@strapi/provider-email-sendmail@4.12.0, @strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail":
version: 0.0.0-use.local
resolution: "@strapi/provider-email-sendmail@workspace:packages/providers/email-sendmail"
dependencies:
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@types/sendmail": 1.4.4
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
sendmail: ^1.6.1
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/provider-upload-aws-s3@4.11.7, @strapi/provider-upload-aws-s3@workspace:packages/providers/upload-aws-s3":
"@strapi/provider-upload-aws-s3@4.12.0, @strapi/provider-upload-aws-s3@workspace:packages/providers/upload-aws-s3":
version: 0.0.0-use.local
resolution: "@strapi/provider-upload-aws-s3@workspace:packages/providers/upload-aws-s3"
dependencies:
"@types/jest": 29.5.2
aws-sdk: 2.1420.0
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
lodash: 4.17.21
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/provider-upload-cloudinary@4.11.7, @strapi/provider-upload-cloudinary@workspace:packages/providers/upload-cloudinary":
"@strapi/provider-upload-cloudinary@4.12.0, @strapi/provider-upload-cloudinary@workspace:packages/providers/upload-cloudinary":
version: 0.0.0-use.local
resolution: "@strapi/provider-upload-cloudinary@workspace:packages/providers/upload-cloudinary"
dependencies:
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
cloudinary: ^1.38.0
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
into-stream: ^5.1.0
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/provider-upload-local@4.11.7, @strapi/provider-upload-local@workspace:packages/providers/upload-local":
"@strapi/provider-upload-local@4.12.0, @strapi/provider-upload-local@workspace:packages/providers/upload-local":
version: 0.0.0-use.local
resolution: "@strapi/provider-upload-local@workspace:packages/providers/upload-local"
dependencies:
"@strapi/utils": 4.11.7
"@strapi/utils": 4.12.0
"@types/jest": 29.5.2
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
fs-extra: 10.0.0
tsconfig: 4.11.7
tsconfig: 4.12.0
languageName: unknown
linkType: soft
"@strapi/strapi@4.11.7, @strapi/strapi@workspace:packages/core/strapi":
"@strapi/strapi@4.12.0, @strapi/strapi@workspace:packages/core/strapi":
version: 0.0.0-use.local
resolution: "@strapi/strapi@workspace:packages/core/strapi"
dependencies:
"@koa/cors": 3.4.3
"@koa/router": 10.1.1
"@strapi/admin": 4.11.7
"@strapi/data-transfer": 4.11.7
"@strapi/database": 4.11.7
"@strapi/generate-new": 4.11.7
"@strapi/generators": 4.11.7
"@strapi/logger": 4.11.7
"@strapi/permissions": 4.11.7
"@strapi/plugin-content-manager": 4.11.7
"@strapi/plugin-content-type-builder": 4.11.7
"@strapi/plugin-email": 4.11.7
"@strapi/plugin-upload": 4.11.7
"@strapi/typescript-utils": 4.11.7
"@strapi/utils": 4.11.7
"@strapi/admin": 4.12.0
"@strapi/data-transfer": 4.12.0
"@strapi/database": 4.12.0
"@strapi/generate-new": 4.12.0
"@strapi/generators": 4.12.0
"@strapi/logger": 4.12.0
"@strapi/permissions": 4.12.0
"@strapi/plugin-content-manager": 4.12.0
"@strapi/plugin-content-type-builder": 4.12.0
"@strapi/plugin-email": 4.12.0
"@strapi/plugin-upload": 4.12.0
"@strapi/typescript-utils": 4.12.0
"@strapi/utils": 4.12.0
bcryptjs: 2.4.3
boxen: 5.1.2
chalk: 4.1.2
@ -8360,7 +8360,7 @@ __metadata:
languageName: unknown
linkType: soft
"@strapi/typescript-utils@4.11.7, @strapi/typescript-utils@workspace:packages/utils/typescript":
"@strapi/typescript-utils@4.12.0, @strapi/typescript-utils@workspace:packages/utils/typescript":
version: 0.0.0-use.local
resolution: "@strapi/typescript-utils@workspace:packages/utils/typescript"
dependencies:
@ -8405,20 +8405,20 @@ __metadata:
languageName: node
linkType: hard
"@strapi/utils@4.11.7, @strapi/utils@workspace:packages/core/utils":
"@strapi/utils@4.12.0, @strapi/utils@workspace:packages/core/utils":
version: 0.0.0-use.local
resolution: "@strapi/utils@workspace:packages/core/utils"
dependencies:
"@sindresorhus/slugify": 1.1.0
"@types/koa": 2.13.4
date-fns: 2.30.0
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
http-errors: 1.8.1
koa: 2.13.4
koa-body: 4.2.0
lodash: 4.17.21
p-map: 4.0.0
tsconfig: 4.11.7
tsconfig: 4.12.0
yup: 0.32.9
languageName: unknown
linkType: soft
@ -14421,11 +14421,11 @@ __metadata:
version: 0.0.0-use.local
resolution: "create-strapi-app@workspace:packages/cli/create-strapi-app"
dependencies:
"@strapi/generate-new": 4.11.7
"@strapi/generate-new": 4.12.0
commander: 8.3.0
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
inquirer: 8.2.5
tsconfig: 4.11.7
tsconfig: 4.12.0
bin:
create-strapi-app: ./bin/index.js
languageName: unknown
@ -14435,16 +14435,16 @@ __metadata:
version: 0.0.0-use.local
resolution: "create-strapi-starter@workspace:packages/cli/create-strapi-starter"
dependencies:
"@strapi/generate-new": 4.11.7
"@strapi/generate-new": 4.12.0
chalk: 4.1.2
ci-info: 3.8.0
commander: 8.3.0
eslint-config-custom: 4.11.7
eslint-config-custom: 4.12.0
execa: 5.1.1
fs-extra: 10.0.0
inquirer: 8.2.5
ora: 5.4.1
tsconfig: 4.11.7
tsconfig: 4.12.0
bin:
create-strapi-starter: ./bin/index.js
languageName: unknown
@ -16205,7 +16205,7 @@ __metadata:
languageName: node
linkType: hard
"eslint-config-custom@4.11.7, eslint-config-custom@workspace:packages/utils/eslint-config-custom":
"eslint-config-custom@4.12.0, eslint-config-custom@workspace:packages/utils/eslint-config-custom":
version: 0.0.0-use.local
resolution: "eslint-config-custom@workspace:packages/utils/eslint-config-custom"
languageName: unknown
@ -18189,16 +18189,16 @@ __metadata:
resolution: "getstarted@workspace:examples/getstarted"
dependencies:
"@strapi/icons": 1.8.2
"@strapi/plugin-color-picker": 4.11.7
"@strapi/plugin-documentation": 4.11.7
"@strapi/plugin-graphql": 4.11.7
"@strapi/plugin-i18n": 4.11.7
"@strapi/plugin-sentry": 4.11.7
"@strapi/plugin-users-permissions": 4.11.7
"@strapi/provider-email-mailgun": 4.11.7
"@strapi/provider-upload-aws-s3": 4.11.7
"@strapi/provider-upload-cloudinary": 4.11.7
"@strapi/strapi": 4.11.7
"@strapi/plugin-color-picker": 4.12.0
"@strapi/plugin-documentation": 4.12.0
"@strapi/plugin-graphql": 4.12.0
"@strapi/plugin-i18n": 4.12.0
"@strapi/plugin-sentry": 4.12.0
"@strapi/plugin-users-permissions": 4.12.0
"@strapi/provider-email-mailgun": 4.12.0
"@strapi/provider-upload-aws-s3": 4.12.0
"@strapi/provider-upload-cloudinary": 4.12.0
"@strapi/strapi": 4.12.0
better-sqlite3: 8.3.0
lodash: 4.17.21
mysql: 2.18.1
@ -22074,9 +22074,9 @@ __metadata:
version: 0.0.0-use.local
resolution: "kitchensink-ts@workspace:examples/kitchensink-ts"
dependencies:
"@strapi/plugin-i18n": 4.11.7
"@strapi/plugin-users-permissions": 4.11.7
"@strapi/strapi": 4.11.7
"@strapi/plugin-i18n": 4.12.0
"@strapi/plugin-users-permissions": 4.12.0
"@strapi/strapi": 4.12.0
better-sqlite3: 8.3.0
react: ^18.2.0
react-dom: ^18.2.0
@ -22089,10 +22089,10 @@ __metadata:
version: 0.0.0-use.local
resolution: "kitchensink@workspace:examples/kitchensink"
dependencies:
"@strapi/provider-email-mailgun": 4.11.7
"@strapi/provider-upload-aws-s3": 4.11.7
"@strapi/provider-upload-cloudinary": 4.11.7
"@strapi/strapi": 4.11.7
"@strapi/provider-email-mailgun": 4.12.0
"@strapi/provider-upload-aws-s3": 4.12.0
"@strapi/provider-upload-cloudinary": 4.12.0
"@strapi/strapi": 4.12.0
lodash: 4.17.21
mysql: 2.18.1
passport-google-oauth2: 0.2.0
@ -31511,7 +31511,7 @@ __metadata:
languageName: node
linkType: hard
"tsconfig@4.11.7, tsconfig@workspace:packages/utils/tsconfig":
"tsconfig@4.12.0, tsconfig@workspace:packages/utils/tsconfig":
version: 0.0.0-use.local
resolution: "tsconfig@workspace:packages/utils/tsconfig"
languageName: unknown