mirror of
https://github.com/strapi/strapi.git
synced 2025-11-03 11:25:17 +00:00
Merge branch 'master' into patch-1
This commit is contained in:
commit
78cb7fe496
6
.gitignore
vendored
6
.gitignore
vendored
@ -125,3 +125,9 @@ packages/strapi-generate-new/files/public/
|
||||
############################
|
||||
|
||||
# *.cache
|
||||
|
||||
############################
|
||||
# Visual Studio Code
|
||||
############################
|
||||
|
||||
front-workspace.code-workspace
|
||||
|
||||
10
.gitlab-ci.yml
Normal file
10
.gitlab-ci.yml
Normal file
@ -0,0 +1,10 @@
|
||||
trigger_deploy:
|
||||
stage: deploy
|
||||
script:
|
||||
- curl -X POST
|
||||
--form "token=$TRIGGER_TOKEN"
|
||||
--form "ref=master"
|
||||
--form "variables[UPSTREAM_COMMIT_SHA]=$CI_COMMIT_SHA"
|
||||
https://gitlab.com/api/v4/projects/12825884/trigger/pipeline
|
||||
only:
|
||||
- develop
|
||||
@ -8,7 +8,7 @@
|
||||
<br />
|
||||
<p align="center">
|
||||
<a href="https://www.npmjs.org/package/strapi">
|
||||
<img src="https://img.shields.io/npm/v/strapi/alpha.svg" alt="NPM Version" />
|
||||
<img src="https://img.shields.io/npm/v/strapi/beta.svg" alt="NPM Version" />
|
||||
</a>
|
||||
<a href="https://www.npmjs.org/package/strapi">
|
||||
<img src="https://img.shields.io/npm/dm/strapi.svg" alt="Monthly download on NPM" />
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
const sqlite = {
|
||||
connector: 'strapi-hook-bookshelf',
|
||||
settings: {
|
||||
client: 'sqlite',
|
||||
filename: '.tmp/data.db',
|
||||
},
|
||||
options: {
|
||||
useNullAsDefault: true,
|
||||
},
|
||||
};
|
||||
|
||||
const postgres = {
|
||||
connector: 'strapi-hook-bookshelf',
|
||||
settings: {
|
||||
client: 'postgres',
|
||||
database: 'strapi',
|
||||
username: 'strapi',
|
||||
password: 'strapi',
|
||||
port: 5432,
|
||||
host: 'localhost',
|
||||
},
|
||||
options: {},
|
||||
};
|
||||
|
||||
const mongo = {
|
||||
connector: 'strapi-hook-mongoose',
|
||||
settings: {
|
||||
database: 'strapi',
|
||||
username: 'root',
|
||||
password: 'strapi',
|
||||
port: 27017,
|
||||
host: 'localhost',
|
||||
},
|
||||
options: {},
|
||||
};
|
||||
|
||||
const db = {
|
||||
sqlite,
|
||||
postgres,
|
||||
mongo,
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
defaultConnection: 'default',
|
||||
connections: {
|
||||
default: process.env.DB ? db[process.env.DB] || db.sqlite : db.sqlite,
|
||||
},
|
||||
};
|
||||
@ -1,15 +0,0 @@
|
||||
{
|
||||
"defaultConnection": "default",
|
||||
"connections": {
|
||||
"default": {
|
||||
"connector": "strapi-hook-bookshelf",
|
||||
"settings": {
|
||||
"client": "sqlite",
|
||||
"filename": ".tmp/data.db"
|
||||
},
|
||||
"options": {
|
||||
"useNullAsDefault": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -14,7 +14,7 @@
|
||||
"name": "Apache 2.0",
|
||||
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
},
|
||||
"x-generation-date": "05/22/2019 6:18:29 PM"
|
||||
"x-generation-date": "06/18/2019 5:15:23 PM"
|
||||
},
|
||||
"x-strapi-config": {
|
||||
"path": "/documentation",
|
||||
@ -2917,7 +2917,7 @@
|
||||
"parameters": []
|
||||
}
|
||||
},
|
||||
"/users/{_id}": {
|
||||
"/users/{id}": {
|
||||
"get": {
|
||||
"deprecated": false,
|
||||
"description": "Retrieve a single user depending on his id",
|
||||
@ -2969,7 +2969,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
@ -3031,7 +3031,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
@ -3108,7 +3108,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
|
||||
@ -895,7 +895,7 @@
|
||||
"parameters": []
|
||||
}
|
||||
},
|
||||
"/users/{_id}": {
|
||||
"/users/{id}": {
|
||||
"get": {
|
||||
"deprecated": false,
|
||||
"description": "Retrieve a single user depending on his id",
|
||||
@ -947,7 +947,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
@ -1009,7 +1009,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
@ -1086,7 +1086,7 @@
|
||||
],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "_id",
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "",
|
||||
"deprecated": false,
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "getstarted",
|
||||
"private": true,
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "A Strapi application.",
|
||||
"scripts": {
|
||||
"develop": "strapi develop",
|
||||
@ -14,22 +14,23 @@
|
||||
"lodash": "^4.17.5",
|
||||
"pg": "^7.10.0",
|
||||
"sqlite3": "^4.0.6",
|
||||
"strapi": "3.0.0-beta.5",
|
||||
"strapi-admin": "3.0.0-beta.5",
|
||||
"strapi-hook-bookshelf": "3.0.0-beta.5",
|
||||
"strapi-hook-knex": "3.0.0-beta.5",
|
||||
"strapi-middleware-views": "3.0.0-beta.5",
|
||||
"strapi-plugin-content-manager": "3.0.0-beta.5",
|
||||
"strapi-plugin-content-type-builder": "3.0.0-beta.5",
|
||||
"strapi-plugin-documentation": "3.0.0-beta.5",
|
||||
"strapi-plugin-email": "3.0.0-beta.5",
|
||||
"strapi-plugin-graphql": "3.0.0-beta.5",
|
||||
"strapi-plugin-settings-manager": "3.0.0-beta.5",
|
||||
"strapi-plugin-upload": "3.0.0-beta.5",
|
||||
"strapi-plugin-users-permissions": "3.0.0-beta.5",
|
||||
"strapi-provider-email-mailgun": "3.0.0-beta.5",
|
||||
"strapi-provider-upload-aws-s3": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi": "3.0.0-beta.6",
|
||||
"strapi-admin": "3.0.0-beta.6",
|
||||
"strapi-hook-bookshelf": "3.0.0-beta.6",
|
||||
"strapi-hook-knex": "3.0.0-beta.6",
|
||||
"strapi-hook-mongoose": "3.0.0-beta.6",
|
||||
"strapi-middleware-views": "3.0.0-beta.6",
|
||||
"strapi-plugin-content-manager": "3.0.0-beta.6",
|
||||
"strapi-plugin-content-type-builder": "3.0.0-beta.6",
|
||||
"strapi-plugin-documentation": "3.0.0-beta.6",
|
||||
"strapi-plugin-email": "3.0.0-beta.6",
|
||||
"strapi-plugin-graphql": "3.0.0-beta.6",
|
||||
"strapi-plugin-settings-manager": "3.0.0-beta.6",
|
||||
"strapi-plugin-upload": "3.0.0-beta.6",
|
||||
"strapi-plugin-users-permissions": "3.0.0-beta.6",
|
||||
"strapi-provider-email-mailgun": "3.0.0-beta.6",
|
||||
"strapi-provider-upload-aws-s3": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"strapi": {
|
||||
"uuid": "getstarted"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"packages": [
|
||||
"packages/*",
|
||||
"examples/*"
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
"app.components.HomePage.support.link": "GET YOUR T-SHIRT NOW",
|
||||
"app.components.HomePage.welcome": "Welcome on board!",
|
||||
"app.components.HomePage.welcome.again": "Welcome ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as one of community member. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as part of the community. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content.again": "We hope you are making progress on your project... Feel free to read the latest new about Strapi. We are giving our best to improve the product based on your feedback.",
|
||||
"app.components.HomePage.welcomeBlock.content.issues": "issues.",
|
||||
"app.components.HomePage.welcomeBlock.content.raise": " or raise ",
|
||||
|
||||
@ -75,8 +75,9 @@
|
||||
"app.components.ListPluginsPage.description": "Lijst van alle plugins voor dit project",
|
||||
"app.components.ListPluginsPage.helmet.title": "Alle extensies",
|
||||
"app.components.ListPluginsPage.title": "Extensies",
|
||||
"app.components.Logout.profile": "Profil",
|
||||
"app.components.Logout.logout": "Log ud",
|
||||
"app.components.Logout.admin": "Manage beheerders",
|
||||
"app.components.Logout.profile": "Profiel",
|
||||
"app.components.Logout.logout": "Uitloggen",
|
||||
"app.components.NotFoundPage.back": "Terug naar home pagina",
|
||||
"app.components.NotFoundPage.description": "Niets gevonden",
|
||||
"app.components.Official": "Officieel",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-admin",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Strapi Admin",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -73,8 +73,8 @@
|
||||
"sanitize.css": "^4.1.0",
|
||||
"sass-loader": "^7.1.0",
|
||||
"shelljs": "^0.7.8",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6",
|
||||
"style-loader": "^0.23.1",
|
||||
"styled-components": "^4.2.0",
|
||||
"terser-webpack-plugin": "^1.2.3",
|
||||
@ -102,6 +102,7 @@
|
||||
"license": "MIT",
|
||||
"gitHead": "c85658a19b8fef0f3164c19693a45db305dc07a9",
|
||||
"devDependencies": {
|
||||
"webpack": "^4.29.6",
|
||||
"webpack-cli": "^3.3.2",
|
||||
"webpack-dev-server": "^3.4.1"
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-api",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate an API for a Strapi application.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-controller",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate a controller for a Strapi API.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-model",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate a model for a Strapi API.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-new",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate a new Strapi application.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-plugin",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate an plugin for a Strapi application.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-policy",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate a policy for a Strapi API.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate-service",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Generate a service for a Strapi API.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-generate",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Master of ceremonies for the Strapi generators.",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
@ -20,7 +20,7 @@
|
||||
"fs-extra": "^8.0.1",
|
||||
"lodash": "^4.17.11",
|
||||
"reportback": "^2.0.2",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"name": "Strapi team",
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
"app.components.HomePage.support.link": "GET YOUR T-SHIRT NOW",
|
||||
"app.components.HomePage.welcome": "Welcome on board!",
|
||||
"app.components.HomePage.welcome.again": "Welcome ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as one of community member. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as part of the community. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content.again": "We hope you are making progress on your project... Feel free to read the latest new about Strapi. We are giving our best to improve the product based on your feedback.",
|
||||
"app.components.HomePage.welcomeBlock.content.issues": "issues.",
|
||||
"app.components.HomePage.welcomeBlock.content.raise": " or raise ",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-helper-plugin",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Helper for Strapi plugins development",
|
||||
"files": [
|
||||
"dist"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-hook-bookshelf",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Bookshelf hook for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
@ -21,8 +21,8 @@
|
||||
"lodash": "^4.17.11",
|
||||
"pluralize": "^7.0.0",
|
||||
"rimraf": "^2.6.3",
|
||||
"strapi-hook-knex": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-hook-knex": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"strapi": {
|
||||
"dependencies": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-hook-ejs",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "EJS hook for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-hook-knex",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Knex hook for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-hook-mongoose",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Mongoose hook for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
@ -20,7 +20,7 @@
|
||||
"mongoose-float": "^1.0.4",
|
||||
"pluralize": "^7.0.0",
|
||||
"rimraf": "^2.6.3",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"email": "hi@strapi.io",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-hook-redis",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Redis hook for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
@ -19,7 +19,7 @@
|
||||
"lodash": "^4.17.11",
|
||||
"rimraf": "^2.6.3",
|
||||
"stack-trace": "0.0.10",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"email": "hi@strapi.io",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-middleware-views",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Views middleware to enable server-side rendering for the Strapi framework",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-content-manager",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "A powerful UI to easily manage your data.",
|
||||
"strapi": {
|
||||
"name": "Content Manager",
|
||||
@ -32,8 +32,8 @@
|
||||
"redux-immutable": "^4.0.0",
|
||||
"reselect": "^3.0.1",
|
||||
"showdown": "^1.9.0",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6",
|
||||
"styled-components": "^4.2.0"
|
||||
},
|
||||
"author": {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-content-type-builder",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Strapi plugin to create content type (API).",
|
||||
"strapi": {
|
||||
"name": "Content Type Builder",
|
||||
@ -28,9 +28,9 @@
|
||||
"redux": "^4.0.1",
|
||||
"redux-immutable": "^4.0.0",
|
||||
"reselect": "^3.0.1",
|
||||
"strapi-generate": "3.0.0-beta.5",
|
||||
"strapi-generate-api": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5"
|
||||
"strapi-generate": "3.0.0-beta.6",
|
||||
"strapi-generate-api": "3.0.0-beta.6",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"name": "Strapi team",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-documentation",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "This is the description of the plugin.",
|
||||
"strapi": {
|
||||
"name": "Documentation",
|
||||
@ -33,7 +33,7 @@
|
||||
"redux": "^4.0.1",
|
||||
"redux-immutable": "^4.0.0",
|
||||
"reselect": "^4.0.0",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6",
|
||||
"swagger-ui-dist": "3.22.1"
|
||||
},
|
||||
"author": {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-email",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "This is the description of the plugin.",
|
||||
"strapi": {
|
||||
"name": "Email",
|
||||
@ -12,13 +12,13 @@
|
||||
"test": "echo \"no tests yet\""
|
||||
},
|
||||
"dependencies": {
|
||||
"strapi-provider-email-sendmail": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-provider-email-sendmail": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"react-copy-to-clipboard": "5.0.1",
|
||||
"rimraf": "^2.6.3",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5"
|
||||
"strapi-helper-plugin": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"name": "Strapi team",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-graphql",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "This is the description of the plugin.",
|
||||
"strapi": {
|
||||
"name": "graphql",
|
||||
@ -23,9 +23,10 @@
|
||||
"graphql-type-long": "^0.1.1",
|
||||
"koa-compose": "^4.0.0",
|
||||
"pluralize": "^7.0.0",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"koa": "^2.1.0",
|
||||
"cross-env": "^5.2.0",
|
||||
"rimraf": "^2.6.3"
|
||||
},
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-settings-manager",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Strapi plugin to manage settings.",
|
||||
"strapi": {
|
||||
"name": "Settings Manager",
|
||||
@ -27,7 +27,7 @@
|
||||
"redux": "^4.0.1",
|
||||
"reselect": "^3.0.1",
|
||||
"shelljs": "^0.7.8",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5"
|
||||
"strapi-helper-plugin": "3.0.0-beta.6"
|
||||
},
|
||||
"author": {
|
||||
"name": "Strapi team",
|
||||
|
||||
@ -201,9 +201,7 @@ module.exports = {
|
||||
`environments.${env}.request.router.prefix`,
|
||||
null
|
||||
),
|
||||
validations: {
|
||||
required: true,
|
||||
},
|
||||
validations: {},
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-upload",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "This is the description of the plugin.",
|
||||
"strapi": {
|
||||
"name": "Files Upload",
|
||||
@ -23,9 +23,9 @@
|
||||
"react-router-dom": "^5.0.0",
|
||||
"react-transition-group": "^2.5.0",
|
||||
"reactstrap": "^5.0.0",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5",
|
||||
"strapi-provider-upload-local": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6",
|
||||
"strapi-provider-upload-local": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6",
|
||||
"stream-to-array": "^2.3.0",
|
||||
"uuid": "^3.2.1"
|
||||
},
|
||||
|
||||
@ -1,64 +1,95 @@
|
||||
/**
|
||||
*
|
||||
* Controller
|
||||
*
|
||||
*/
|
||||
*
|
||||
* Controller
|
||||
*
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { get, map, some } from 'lodash';
|
||||
import cn from 'classnames';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
import pluginId from '../../pluginId';
|
||||
|
||||
import InputCheckbox from '../InputCheckboxPlugin';
|
||||
import styles from './styles.scss';
|
||||
|
||||
class Controller extends React.Component {
|
||||
state = { inputSelected: '', checked: false };
|
||||
state = { inputSelected: '' };
|
||||
|
||||
setNewInputSelected = (name) => {
|
||||
this.setState({ inputSelected: name, checked: false });
|
||||
}
|
||||
setNewInputSelected = name => {
|
||||
this.setState({ inputSelected: name });
|
||||
};
|
||||
|
||||
handleChange = () => {
|
||||
this.setState({ checked: !this.state.checked });
|
||||
this.context.selectAllActions(`${this.props.inputNamePath}.controllers.${this.props.name}`, !this.isAllActionsSelected());
|
||||
}
|
||||
this.context.selectAllActions(
|
||||
`${this.props.inputNamePath}.controllers.${this.props.name}`,
|
||||
!this.areAllActionsSelected()
|
||||
);
|
||||
};
|
||||
|
||||
isAllActionsSelected = () => !some(this.props.actions, ['enabled', false]);
|
||||
hasSomeActionsSelected = () => {
|
||||
const { actions } = this.props;
|
||||
|
||||
return Object.keys(actions).some(
|
||||
action => actions[action].enabled === true
|
||||
);
|
||||
};
|
||||
|
||||
areAllActionsSelected = () => {
|
||||
const { actions } = this.props;
|
||||
|
||||
return Object.keys(actions).every(
|
||||
action => actions[action].enabled === true
|
||||
);
|
||||
};
|
||||
|
||||
render() {
|
||||
const labelId = this.areAllActionsSelected() ? 'unselectAll' : 'selectAll';
|
||||
|
||||
return (
|
||||
<div className={styles.controller}>
|
||||
<div className={styles.controllerHeader}>
|
||||
<div>{this.props.name}</div>
|
||||
<div className={styles.separator}></div>
|
||||
<div className={styles.separator} />
|
||||
<div>
|
||||
<div className={cn(styles.inputCheckbox)}>
|
||||
<div className="form-check">
|
||||
<label className={cn('form-check-label', styles.label, this.state.checked ? styles.checked : '')} htmlFor={this.props.name}>
|
||||
<label
|
||||
className={cn(
|
||||
'form-check-label',
|
||||
styles.label,
|
||||
this.areAllActionsSelected() && styles.checked,
|
||||
!this.areAllActionsSelected() &&
|
||||
this.hasSomeActionsSelected() &&
|
||||
styles.someChecked
|
||||
)}
|
||||
htmlFor={this.props.name}
|
||||
>
|
||||
<input
|
||||
className="form-check-input"
|
||||
checked={this.state.checked}
|
||||
checked={this.areAllActionsSelected()}
|
||||
id={this.props.name}
|
||||
name={this.props.name}
|
||||
onChange={this.handleChange}
|
||||
type="checkbox"
|
||||
/>
|
||||
<FormattedMessage id="users-permissions.Controller.selectAll" />
|
||||
<FormattedMessage id={`${pluginId}.Controller.${labelId}`} />
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="row">
|
||||
{map(Object.keys(this.props.actions).sort(), (actionKey) => (
|
||||
{map(Object.keys(this.props.actions).sort(), actionKey => (
|
||||
<InputCheckbox
|
||||
inputSelected={this.state.inputSelected}
|
||||
isOpen={this.props.isOpen}
|
||||
key={actionKey}
|
||||
label={actionKey}
|
||||
name={`${this.props.inputNamePath}.controllers.${this.props.name}.${actionKey}.enabled`}
|
||||
name={`${this.props.inputNamePath}.controllers.${
|
||||
this.props.name
|
||||
}.${actionKey}.enabled`}
|
||||
setNewInputSelected={this.setNewInputSelected}
|
||||
value={get(this.props.actions[actionKey], 'enabled')}
|
||||
/>
|
||||
|
||||
@ -11,6 +11,17 @@
|
||||
|
||||
}
|
||||
}
|
||||
.someChecked {
|
||||
&:after {
|
||||
content: '\f068';
|
||||
position: absolute;
|
||||
top: 0px; left: 3px;
|
||||
font-size: 10px;
|
||||
font-family: 'FontAwesome';
|
||||
font-weight: 100;
|
||||
color: #1C5DE7;
|
||||
}
|
||||
}
|
||||
|
||||
.controller {
|
||||
padding: 1px 43px 0 28px;
|
||||
@ -67,3 +78,4 @@
|
||||
margin-left: 15px;
|
||||
background-color: #F6F6F6;
|
||||
}
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
/**
|
||||
*
|
||||
* Plugins
|
||||
*
|
||||
*/
|
||||
*
|
||||
* Plugins
|
||||
*
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
@ -17,7 +17,7 @@ import styles from './styles.scss';
|
||||
class Plugins extends React.Component {
|
||||
state = { pluginSelected: '' };
|
||||
|
||||
changePluginSelected = (name) => this.setState({ pluginSelected: name });
|
||||
changePluginSelected = name => this.setState({ pluginSelected: name });
|
||||
|
||||
render() {
|
||||
return (
|
||||
@ -31,8 +31,13 @@ class Plugins extends React.Component {
|
||||
<FormattedMessage id="users-permissions.Plugins.header.description" />
|
||||
</div>
|
||||
</div>
|
||||
<div className={cn(styles.pluginsContainer, !has(this.props.plugins, 'application') && styles.pluginsGradient)}>
|
||||
{map(Object.keys(this.props.plugins).sort(), (plugin) => (
|
||||
<div
|
||||
className={cn(
|
||||
styles.pluginsContainer,
|
||||
!has(this.props.plugins, 'application') && styles.pluginsGradient
|
||||
)}
|
||||
>
|
||||
{map(Object.keys(this.props.plugins).sort(), plugin => (
|
||||
<Plugin
|
||||
changePluginSelected={this.changePluginSelected}
|
||||
key={plugin}
|
||||
|
||||
@ -48,6 +48,7 @@
|
||||
"BoundRoute.title": "Bound route to",
|
||||
"Controller.input.label": "{label} ",
|
||||
"Controller.selectAll": "Select all",
|
||||
"Controller.unselectAll": "Unselect all",
|
||||
"EditForm.inputSelect.description.role": "It will attach the new authenticated user to the selected role.",
|
||||
"EditForm.inputSelect.durations.description": "Number of hours during which the user can't subscribe.",
|
||||
"EditForm.inputSelect.durations.label": "Duration",
|
||||
@ -151,4 +152,4 @@
|
||||
"notification.success.submit": "Settings have been updated",
|
||||
"plugin.description.long": "Protect your API with a full authentication process based on JWT. This plugin comes also with an ACL strategy that allows you to manage the permissions between the groups of users.",
|
||||
"plugin.description.short": "Protect your API with a full authentication process based on JWT"
|
||||
}
|
||||
}
|
||||
|
||||
@ -48,6 +48,7 @@
|
||||
"BoundRoute.title": "Route associée à",
|
||||
"Controller.input.label": "{label} ",
|
||||
"Controller.selectAll": "Tout cocher",
|
||||
"Controller.unselectAll": "Tout décocher",
|
||||
"EditForm.inputSelect.description.role": "Choisissez le rôle qui sera lié aux utilisateurs lors de leur enregistrement.",
|
||||
"EditForm.inputSelect.durations.description": "Nombre d'heure pendant lesquelles un utilisateur ne peut pas s'inscrire.",
|
||||
"EditForm.inputSelect.durations.label": "Durée",
|
||||
|
||||
@ -317,7 +317,7 @@
|
||||
},
|
||||
{
|
||||
"method": "GET",
|
||||
"path": "/users/:_id",
|
||||
"path": "/users/:id",
|
||||
"handler": "User.findOne",
|
||||
"config": {
|
||||
"policies": [],
|
||||
@ -341,7 +341,7 @@
|
||||
},
|
||||
{
|
||||
"method": "PUT",
|
||||
"path": "/users/:_id",
|
||||
"path": "/users/:id",
|
||||
"handler": "User.update",
|
||||
"config": {
|
||||
"policies": [],
|
||||
@ -356,7 +356,7 @@
|
||||
},
|
||||
{
|
||||
"method": "DELETE",
|
||||
"path": "/users/:_id",
|
||||
"path": "/users/:id",
|
||||
"handler": "User.destroy",
|
||||
"config": {
|
||||
"policies": [],
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-plugin-users-permissions",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Protect your API with a full-authentication process based on JWT",
|
||||
"strapi": {
|
||||
"name": "Roles & Permissions",
|
||||
@ -32,10 +32,13 @@
|
||||
"reactstrap": "^5.0.0",
|
||||
"redux-saga": "^0.16.0",
|
||||
"request": "^2.83.0",
|
||||
"strapi-helper-plugin": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5",
|
||||
"strapi-helper-plugin": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6",
|
||||
"uuid": "^3.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"koa": "^2.1.0"
|
||||
},
|
||||
"author": {
|
||||
"name": "Strapi team",
|
||||
"email": "hi@strapi.io",
|
||||
|
||||
@ -130,7 +130,7 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
(err, response, body) => {
|
||||
if (response.statusCode !== 200 || err) {
|
||||
if (err || response.statusCode !== 200) {
|
||||
return resolve([]);
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-email-amazon-ses",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Amazon SES provider for strapi email",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-email-mailgun",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Mailgun provider for strapi email plugin",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-email-sendgrid",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Sendgrid provider for strapi email",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-email-sendmail",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Sendmail provider for strapi email",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-upload-aws-s3",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "AWS S3 provider for strapi upload",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-upload-cloudinary",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Cloudinary provider for strapi upload",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-upload-local",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Local provider for strapi upload",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-provider-upload-rackspace",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Rackspace provider for strapi upload",
|
||||
"main": "./lib",
|
||||
"keywords": [],
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi-utils",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"description": "Shared utilities for the Strapi packages",
|
||||
"homepage": "http://strapi.io",
|
||||
"keywords": [
|
||||
|
||||
@ -101,6 +101,7 @@ class Strapi extends EventEmitter {
|
||||
};
|
||||
|
||||
this.fs = createStrapiFs(this);
|
||||
this.requireProjectBootstrap();
|
||||
}
|
||||
|
||||
requireProjectBootstrap() {
|
||||
@ -266,8 +267,9 @@ class Strapi extends EventEmitter {
|
||||
* Handle plugin extensions
|
||||
*/
|
||||
// merge extensions config folders
|
||||
_.mergeWith(this.plugins, extensions.merges, (objValue, srcValue) => {
|
||||
if (_.isArray(srcValue) && _.isArray(objValue)) {
|
||||
_.mergeWith(this.plugins, extensions.merges, (objValue, srcValue, key) => {
|
||||
// concat routes
|
||||
if (_.isArray(srcValue) && _.isArray(objValue) && key === 'routes') {
|
||||
return srcValue.concat(objValue);
|
||||
}
|
||||
});
|
||||
|
||||
2
packages/strapi/lib/core/bootstrap.js
vendored
2
packages/strapi/lib/core/bootstrap.js
vendored
@ -4,7 +4,7 @@ const _ = require('lodash');
|
||||
|
||||
const { createController, createService } = require('../core-api');
|
||||
const getURLFromSegments = require('../utils/url-from-segments');
|
||||
const routerJoi = require('koa-router-joi');
|
||||
const routerJoi = require('koa-joi-router');
|
||||
|
||||
module.exports = function(strapi) {
|
||||
// Retrieve Strapi version.
|
||||
|
||||
@ -0,0 +1,27 @@
|
||||
const checkReservedFilename = require('../check-reserved-filename');
|
||||
|
||||
describe('check-reserved-filename', () => {
|
||||
const table = [
|
||||
// matches
|
||||
['config/functions.json', true],
|
||||
['config/functions/bootstrapi.js', true],
|
||||
['config/layout.json', true],
|
||||
['config/hook.json', true],
|
||||
['config/middleware.json', true],
|
||||
['config/environments/test/database.json', true],
|
||||
['config/environments/development/request.json', true],
|
||||
['config/environments/production/server.json', true],
|
||||
['config/environments/staging/response.json', true],
|
||||
['config/environments/qa/security.json', true],
|
||||
|
||||
// dont match
|
||||
['config/application.json', false],
|
||||
['config/custom.json', false],
|
||||
['config/environments/qa/custom.json', false],
|
||||
['config/environments/qa/other.json', false],
|
||||
];
|
||||
|
||||
test.each(table)('Path %s should return %s', (path, expected) => {
|
||||
expect(checkReservedFilename(path)).toBe(expected);
|
||||
});
|
||||
});
|
||||
27
packages/strapi/lib/load/check-reserved-filename.js
Normal file
27
packages/strapi/lib/load/check-reserved-filename.js
Normal file
@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
const _ = require('lodash');
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
const envMatcher = new minimatch.Minimatch(
|
||||
'config/environments/*/+(request|database|server|security|response).+(json|js)'
|
||||
);
|
||||
|
||||
// files to load with filename key
|
||||
const prefixedPaths = [
|
||||
'functions',
|
||||
'policies',
|
||||
'locales',
|
||||
'hook',
|
||||
'middleware',
|
||||
'language',
|
||||
'queries',
|
||||
'layout',
|
||||
];
|
||||
|
||||
module.exports = function checkReservedFilenames(file) {
|
||||
if (envMatcher.match(file)) return true;
|
||||
return _.some(prefixedPaths, e => file.indexOf(`config/${e}`) >= 0)
|
||||
? true
|
||||
: false;
|
||||
};
|
||||
@ -1,6 +1,8 @@
|
||||
const _ = require('lodash');
|
||||
'use strict';
|
||||
|
||||
const loadFiles = require('./load-files');
|
||||
const requireFileAndParse = require('./require-file-parse');
|
||||
const checkReservedFilename = require('./check-reserved-filename');
|
||||
|
||||
/**
|
||||
* @param {string} dir - directory from which to load configs
|
||||
@ -9,38 +11,11 @@ const requireFileAndParse = require('./require-file-parse');
|
||||
const laodConfigFiles = (dir, pattern = 'config/**/*.+(js|json)') =>
|
||||
loadFiles(dir, pattern, {
|
||||
requireFn: requireFileAndParse,
|
||||
shouldUseFileNameAsKey,
|
||||
shouldUseFileNameAsKey: checkReservedFilename,
|
||||
globArgs: {
|
||||
// used to load .init.json at first startup
|
||||
dot: true
|
||||
dot: true,
|
||||
},
|
||||
});
|
||||
|
||||
const shouldUseFileNameAsKey = file => {
|
||||
return _.some(prefixedPaths, e => file.indexOf(`config/${e}`) >= 0)
|
||||
? true
|
||||
: false;
|
||||
};
|
||||
|
||||
// files to load with filename key
|
||||
const prefixedPaths = [
|
||||
...['staging', 'production', 'development'].reduce((acc, env) => {
|
||||
return acc.concat(
|
||||
`environments/${env}/database`,
|
||||
`environments/${env}/security`,
|
||||
`environments/${env}/request`,
|
||||
`environments/${env}/response`,
|
||||
`environments/${env}/server`
|
||||
);
|
||||
}, []),
|
||||
'functions',
|
||||
'policies',
|
||||
'locales',
|
||||
'hook',
|
||||
'middleware',
|
||||
'language',
|
||||
'queries',
|
||||
'layout',
|
||||
];
|
||||
|
||||
module.exports = laodConfigFiles;
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
const path = require('path');
|
||||
const glob = require('./glob');
|
||||
const _ = require('lodash');
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
// Public node modules.
|
||||
const _ = require('lodash');
|
||||
const routerJoi = require('koa-router-joi');
|
||||
const routerJoi = require('koa-joi-router');
|
||||
|
||||
/**
|
||||
* Router hook
|
||||
|
||||
@ -12,7 +12,7 @@ const finder = require('strapi-utils').finder;
|
||||
const regex = require('strapi-utils').regex;
|
||||
const joijson = require('strapi-utils').joijson;
|
||||
const policyUtils = require('strapi-utils').policy;
|
||||
const { Joi } = require('koa-router-joi');
|
||||
const { Joi } = require('koa-joi-router');
|
||||
|
||||
module.exports = strapi =>
|
||||
function routerChecker(value, endpoint, plugin) {
|
||||
@ -20,13 +20,20 @@ module.exports = strapi =>
|
||||
const route = regex.detectRoute(endpoint);
|
||||
|
||||
// Define controller and action names.
|
||||
const handler = _.trim(value.handler).split('.');
|
||||
const controller = plugin
|
||||
? strapi.plugins[plugin].controllers[handler[0].toLowerCase()]
|
||||
: strapi.controllers[handler[0].toLowerCase()] ||
|
||||
strapi.admin.controllers[handler[0].toLowerCase()];
|
||||
const [controllerName, actionName] = _.trim(value.handler).split('.');
|
||||
const controllerKey = _.toLower(controllerName);
|
||||
|
||||
const action = controller[handler[1]];
|
||||
let controller;
|
||||
|
||||
if (plugin) {
|
||||
controller = strapi.plugins[plugin].controllers[controllerKey];
|
||||
} else {
|
||||
controller =
|
||||
strapi.controllers[controllerKey] ||
|
||||
strapi.admin.controllers[controllerKey];
|
||||
}
|
||||
|
||||
const action = controller[actionName];
|
||||
|
||||
// Retrieve the API's name where the controller is located
|
||||
// to access to the right validators
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "strapi",
|
||||
"version": "3.0.0-beta.5",
|
||||
"version": "3.0.0-beta.6",
|
||||
"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: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite",
|
||||
"homepage": "http://strapi.io",
|
||||
"directories": {
|
||||
@ -31,13 +31,14 @@
|
||||
"koa-favicon": "^2.0.0",
|
||||
"koa-i18n": "^2.1.0",
|
||||
"koa-ip": "^1.0.0",
|
||||
"koa-joi-router": "^6.0.0",
|
||||
"koa-locale": "~1.3.0",
|
||||
"koa-lusca": "~2.2.0",
|
||||
"koa-qs": "^2.0.0",
|
||||
"koa-router-joi": "^1.0.1",
|
||||
"koa-session": "^5.5.1",
|
||||
"koa-static": "^4.0.1",
|
||||
"lodash": "^4.17.5",
|
||||
"minimatch": "^3.0.4",
|
||||
"node-fetch": "^1.7.3",
|
||||
"node-machine-id": "^1.1.10",
|
||||
"node-schedule": "^1.2.0",
|
||||
@ -46,15 +47,15 @@
|
||||
"resolve-cwd": "^3.0.0",
|
||||
"rimraf": "^2.6.2",
|
||||
"shelljs": "^0.8.3",
|
||||
"strapi-generate": "3.0.0-beta.5",
|
||||
"strapi-generate-api": "3.0.0-beta.5",
|
||||
"strapi-generate-controller": "3.0.0-beta.5",
|
||||
"strapi-generate-model": "3.0.0-beta.5",
|
||||
"strapi-generate-new": "3.0.0-beta.5",
|
||||
"strapi-generate-plugin": "3.0.0-beta.5",
|
||||
"strapi-generate-policy": "3.0.0-beta.5",
|
||||
"strapi-generate-service": "3.0.0-beta.5",
|
||||
"strapi-utils": "3.0.0-beta.5"
|
||||
"strapi-generate": "3.0.0-beta.6",
|
||||
"strapi-generate-api": "3.0.0-beta.6",
|
||||
"strapi-generate-controller": "3.0.0-beta.6",
|
||||
"strapi-generate-model": "3.0.0-beta.6",
|
||||
"strapi-generate-new": "3.0.0-beta.6",
|
||||
"strapi-generate-plugin": "3.0.0-beta.6",
|
||||
"strapi-generate-policy": "3.0.0-beta.6",
|
||||
"strapi-generate-service": "3.0.0-beta.6",
|
||||
"strapi-utils": "3.0.0-beta.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jest --verbose",
|
||||
|
||||
@ -41,7 +41,7 @@
|
||||
"app.components.HomePage.support.link": "GET YOUR T-SHIRT NOW",
|
||||
"app.components.HomePage.welcome": "Welcome on board!",
|
||||
"app.components.HomePage.welcome.again": "Welcome ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as one of community member. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content": "We are happy to have you as part of the community. We are constantly looking for feedback so feel free to send us DM on ",
|
||||
"app.components.HomePage.welcomeBlock.content.again": "We hope you are making progress on your project... Feel free to read the latest new about Strapi. We are giving our best to improve the product based on your feedback.",
|
||||
"app.components.HomePage.welcomeBlock.content.issues": "issues.",
|
||||
"app.components.HomePage.welcomeBlock.content.raise": " or raise ",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user