Merge branch 'master' into fix/ctm-edit-view-main-field

This commit is contained in:
Jim LAURIE 2019-02-11 15:28:13 +01:00 committed by GitHub
commit 83f0bb012a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
68 changed files with 384 additions and 163 deletions

View File

@ -40,7 +40,7 @@
## Getting Started
<a href="https://strapi.io/getting-started" target="_blank">Read the Getting Started tutorial</a> or follow the steps below:
<a href="https://strapi.io/documentation/3.x.x/getting-started/installation.html" target="_blank">Read the Getting Started tutorial</a> or follow the steps below:
#### 🖐 Requirements

View File

@ -1,27 +1,27 @@
# API Reference
- strapi
- [.admin](#strapiadmin)
- [.api](#strapiapi)
- [.admin](#strapi-admin)
- [.api](#strapi-api)
- [.app](#strapiapp)
- [.bootstrap()](#strapibootstrap)
- [.config](#strapiconfig)
- [.controllers](#strapicontrollers)
- [.hook](#strapihook)
- [.koaMiddlewares](#strapikoaMiddlewares)
- [.load()](#strapiload)
- [.log](#strapilog)
- [.middleware](#strapimiddleware)
- [.models](#strapimodels)
- [.plugins](#strapiplugins)
- [.query()](#strapiquery)
- [.reload()](#strapireload)
- [.router](#strapirouter)
- [.server](#strapiserver)
- [.services](#strapiservices)
- [.start()](#strapistart)
- [.stop()](#strapistop)
- [.utils](#strapiutils)
- [.bootstrap()](#strapi-bootstrap)
- [.config](#strapi-config)
- [.controllers](#strapi-controllers)
- [.hook](#strapi-hook)
- [.koaMiddlewares](#strapi-koaMiddlewares)
- [.load()](#strapi-load)
- [.log](#strapi-log)
- [.middleware](#strapi-middleware)
- [.models](#strapi-models)
- [.plugins](#strapi-plugins)
- [.query()](#strapi-query)
- [.reload()](#strapi-reload)
- [.router](#strapi-router)
- [.server](#strapi-server)
- [.services](#strapi-services)
- [.start()](#strapi-start)
- [.stop()](#strapi-stop)
- [.utils](#strapi-utils)
## strapi.admin

View File

@ -3,7 +3,7 @@
### Docker
::: tip
You can also deploy using [Docker](https://hub.docker.com/r/strapi/strapi])
You can also deploy using [Docker](https://hub.docker.com/r/strapi/strapi)
:::
The method below describes regular deployment using the built-in mechanisms.

View File

@ -27,6 +27,8 @@ Easily filter results according to fields values.
- `_in`: Include in array
- `_contains`: Contains
- `_containss`: Contains case sensitive
- `_in`: Matches any value in the array of values
- `_nin`: Doesn't match any value in the array of values
#### Examples

View File

@ -197,6 +197,8 @@ You can also apply different parameters to the query to make more complex querie
- `<field>_gte`: Greater than or equal to.
- `<field>_contains`: Contains.
- `<field>_containss`: Contains sensitive.
- `<field>_in`: Matches any value in the array of values.
- `<field>_nin`: Doesn't match any value in the array of values.
Return the second decade of users which have an email that contains `@strapi.io` ordered by username.
@ -207,6 +209,10 @@ query {
}) {
username
email
},
books(limit: 10, where: { _id_nin: ["5c4dad1a8f3845222ca88a56", "5c4dad1a8f3845222ca88a57"] }) {
_id,
title
}
}
```
@ -275,9 +281,9 @@ type Query {
// Mutations to create, update or delete a post.
type Mutation {
createProduct(input: createProductInput): createProductPayload!
updateProduct(input: updateProductInput): updateProductPayload!
deleteProduct(input: deleteProductInput): deleteProductPayload!
createPost(input: createPostInput): createPostPayload!
updatePost(input: updatePostInput): updatePostPayload!
deletePost(input: deletePostInput): deletePostPayload!
}
```

View File

@ -26,6 +26,8 @@ Easily filter results according to fields values.
- `_gte`: Greater than or equal to
- `_contains`: Contains
- `_containss`: Contains case sensitive
- `_in`: Matches any value in the array of values
- `_nin`: Doesn't match any value in the array of values
#### Examples

View File

@ -27,3 +27,5 @@
- [Migration guide from alpha.18 to alpha.19](migration-guide-alpha.18-to-alpha.19.md)
- [Migration guide from alpha.19 to alpha.20](migration-guide-alpha.19-to-alpha.20.md)
- [Migration guide from alpha.20 to alpha.21](migration-guide-alpha.20-to-alpha.21.md)
- [Migration guide from alpha.21 to alpha.22](migration-guide-alpha.21-to-alpha.22.md)
- [Migration guide from alpha.22 to alpha.23](migration-guide-alpha.22-to-alpha.23.md)

View File

@ -0,0 +1,67 @@
# Migration guide from alpha.21 to alpha.22
**Here are the major changes:**
- Quickstart install `strapi new myApp --quickstart`
- Support SQLite database
- Some fixes on GraphQL
- Update the Content Manager customer view
**Useful links:**
- Changelog: [https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.22](https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.22)
- GitHub diff: [https://github.com/strapi/strapi/compare/v3.0.0-alpha.21...v3.0.0-alpha.22](https://github.com/strapi/strapi/compare/v3.0.0-alpha.21...v3.0.0-alpha.22)
<br>
::: note
Feel free to [join us on Slack](http://slack.strapi.io) and ask questions about the migration process.
:::
<br>
## Getting started
Install Strapi `alpha.22` globally on your computer. To do so run `npm install strapi@3.0.0-alpha.22 -g`.
When it's done, generate a new empty project `strapi new myNewProject` (don't pay attention to the database configuration).
<br>
## Update node modules
Update the Strapi's dependencies version (move Strapi's dependencies to `3.0.0-alpha.22` version) of your project.
Run `npm install strapi@3.0.0-alpha.22 --save` to update your strapi version.
<br>
## Update the Admin
::: note
If you performed updates in the Admin, you will have to manually migrate your changes.
:::
Delete your old admin folder and replace it with the new one.
<br>
## Update the Plugins
::: note
If you did a custom update on one of the plugins, you will have to manually migrate your update.
:::
Copy the fields and relations you had in your `/plugins/users-permissions/models/User.settings.json` and `/plugins/users-permissions/config/jwt.json` file in the new one.
Then, delete your old `plugins` folder and replace it with the new one.
<br>
## Update AWS S3 provider
If you are using the AWS S3 upload provider you will have to install the new version `npm i strapi-provider-upload-aws-s3 --save`.
It will not break your application. In the new version the region `eu-north-1 (Stockholm)` is available.
<br>
That's all, you have now upgraded to Strapi `alpha.22`.

View File

@ -0,0 +1,58 @@
# Migration guide from alpha.22 to alpha.23
**Here are the major changes:**
- Fix send email user register
- Documentation
**Useful links:**
- Changelog: [https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.23](https://github.com/strapi/strapi/releases/tag/v3.0.0-alpha.23)
- GitHub diff: [https://github.com/strapi/strapi/compare/v3.0.0-alpha.22...v3.0.0-alpha.23](https://github.com/strapi/strapi/compare/v3.0.0-alpha.22...v3.0.0-alpha.23)
<br>
::: note
Feel free to [join us on Slack](http://slack.strapi.io) and ask questions about the migration process.
:::
<br>
## Getting started
Install Strapi `alpha.23` globally on your computer. To do so run `npm install strapi@3.0.0-alpha.23 -g`.
When it's done, generate a new empty project `strapi new myNewProject` (don't pay attention to the database configuration).
<br>
## Update node modules
Update the Strapi's dependencies version (move Strapi's dependencies to `3.0.0-alpha.23` version) of your project.
Run `npm install strapi@3.0.0-alpha.23 --save` to update your strapi version.
<br>
## Update the Admin
::: note
If you performed updates in the Admin, you will have to manually migrate your changes.
:::
Delete your old admin folder and replace it with the new one.
<br>
## Update the Plugins
::: note
If you did a custom update on one of the plugins, you will have to manually migrate your update.
:::
Copy the fields and relations you had in your `/plugins/users-permissions/models/User.settings.json` and `/plugins/users-permissions/config/jwt.json` file in the new one.
Then, delete your old `plugins` folder and replace it with the new one.
<br>
That's all, you have now upgraded to Strapi `alpha.23`.

View File

@ -1,6 +1,6 @@
{
"private": true,
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"dependencies": {},
"devDependencies": {
"assert": "~1.3.0",

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{
"name": "strapi-admin",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Strapi Admin",
"repository": {
"type": "git",
@ -31,8 +31,8 @@
},
"devDependencies": {
"sanitize.css": "^4.1.0",
"strapi-helper-plugin": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1",
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi",
@ -51,4 +51,4 @@
"npm": ">= 6.0.0"
},
"license": "MIT"
}
}

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-admin",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate the default admin panel for a Strapi application.",
"homepage": "http://strapi.io",
"keywords": [
@ -15,8 +15,8 @@
"dependencies": {
"fs-extra": "^4.0.1",
"lodash": "^4.17.5",
"strapi-admin": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.21"
"strapi-admin": "3.0.0-alpha.23.1",
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"email": "hi@strapi.io",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-api",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate an API for a Strapi application.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -31,7 +31,7 @@ module.exports = {
return <%= globalID %>.query(function(qb) {
_.forEach(filters.where, (where, key) => {
if (_.isArray(where.value) && where.symbol !== 'IN') {
if (_.isArray(where.value) && where.symbol !== 'IN' && where.symbol !== 'NOT IN') {
for (const value in where.value) {
qb[value ? 'where' : 'orWhere'](key, where.symbol, where.value[value])
}

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-controller",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate a controller for a Strapi API.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-model",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate a model for a Strapi API.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -6,13 +6,13 @@ module.exports = scope => {
// All available settings (bookshelf and mongoose)
const settingsBase = {
client: scope.client.database,
host: '${process.env.DATABASE_HOST || \'127.0.0.1\' }',
port: '${process.env.DATABASE_PORT || 27017 }',
srv: '${process.env.DATABASE_SRV || false }',
database: '${process.env.DATABASE_NAME || \'strapi\' }',
username: '${process.env.DATABASE_USERNAME || \'\' }',
password: '${process.env.DATABASE_PASSWORD || \'\' }',
ssl: '${process.env.DATABASE_SSL || false }'
host: '${process.env.DATABASE_HOST || \'127.0.0.1\'}',
port: '${process.env.DATABASE_PORT || 27017}',
srv: '${process.env.DATABASE_SRV || false}',
database: '${process.env.DATABASE_NAME || \'strapi\'}',
username: '${process.env.DATABASE_USERNAME || \'\'}',
password: '${process.env.DATABASE_PASSWORD || \'\'}',
ssl: '${process.env.DATABASE_SSL || false}'
};
// Apply only settings set during the configuration
@ -22,8 +22,8 @@ module.exports = scope => {
// All available options (bookshelf and mongoose)
const optionsBase = {
ssl: '${process.env.DATABASE_SSL || false }',
authenticationDatabase: '${process.env.DATABASE_AUTHENTICATION_DATABASE || \'\' }'
ssl: '${process.env.DATABASE_SSL || false}',
authenticationDatabase: '${process.env.DATABASE_AUTHENTICATION_DATABASE || \'\'}'
};
// Apply only options set during the configuration

View File

@ -83,6 +83,7 @@ module.exports = (scope, cb) => {
'cache-min': 999999999
}, err => {
if (err) {
trackSuccess('didNotInstallProjectDependencies', scope);
console.log();
console.log('⚠️ You should run `npm install` into your application before starting it.');
console.log();
@ -106,8 +107,10 @@ module.exports = (scope, cb) => {
const data = shell.exec(`yarn --cwd ${scope.rootPath} add ${alphaDependencies} --production`, { silent: true });
if (data.stderr && data.code !== 0) {
trackSuccess('didNotInstallProjectDependencies', scope);
cb();
}
pluginsInstallation();
}
} else {
@ -150,6 +153,7 @@ module.exports = (scope, cb) => {
loader = ora(`Install plugin ${cyan(defaultPlugin.name)}.`).start();
exec(`node ${strapiBin} install ${defaultPlugin.name} ${scope.developerMode && defaultPlugin.core ? '--dev' : ''}`, (err) => {
if (err) {
trackSuccess('didNotInstallProjectPlugins', scope);
loader.warn(`An error occurred during ${defaultPlugin.name} plugin installation.`);
console.log(err);
return resolve();

View File

@ -104,7 +104,7 @@ module.exports = (scope, cb) => {
const answers = await inquirer
.prompt([
{
when: !scope.quick,
when: !scope.quick && !hasDatabaseConfig,
type: 'list',
name: 'type',
message: 'Choose your installation type',
@ -136,7 +136,10 @@ module.exports = (scope, cb) => {
const isQuick = scope.quick;
if (isQuick) {
trackSuccess('didChooseQuickstart', scope);
answers.client = databaseChoices[0].value;
} else {
trackSuccess('didChooseCustomDatabase', scope);
}
if (hasDatabaseConfig) {
@ -334,6 +337,7 @@ module.exports = (scope, cb) => {
try {
require(path.join(`${scope.tmpPath}`, '/node_modules/', `${scope.client.connector}/lib/utils/connectivity.js`))(scope, cb.success, connectionValidation);
} catch(err) {
trackSuccess('didNotConnectDatabase', scope, err);
console.log(err);
shell.rm('-r', scope.tmpPath);
cb.error();

View File

@ -5,14 +5,21 @@
*/
// Node.js core.
const os = require('os');
const request = require('request');
const { machineIdSync } = require('node-machine-id');
module.exports = function trackSuccess(event, scope) {
module.exports = function trackSuccess(event, scope, error) {
request
.post('https://analytics.strapi.io/track')
.form({
event,
uuid: scope.uuid
uuid: scope.uuid,
deviceId: machineIdSync(),
properties: {
error,
os: os.type()
}
})
.on('error', () => {});
};

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-new",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate a new Strapi application.",
"homepage": "http://strapi.io",
"keywords": [
@ -18,9 +18,10 @@
"inquirer": "^6.2.1",
"listr": "^0.14.1",
"lodash": "^4.17.5",
"node-machine-id": "^1.1.10",
"ora": "^2.1.0",
"request": "^2.88.0",
"strapi-utils": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.23.1",
"uuid": "^3.1.0"
},
"scripts": {

View File

@ -34,7 +34,7 @@ module.exports = scope => {
'build': 'node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress',
'build:clean': 'node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build',
'start': 'node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server',
'generate': 'node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js',
'generate': 'node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js',
'lint': 'node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern \'/admin/build/\' --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin',
'prettier': 'node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write "{admin,__{tests,mocks}__}/**/*.js"',
'test': 'npm run lint',

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-plugin",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate an plugin for a Strapi application.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-policy",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate a policy for a Strapi API.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate-service",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Generate a service for a Strapi API.",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-generate",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Master of ceremonies for the Strapi generators.",
"homepage": "http://strapi.io",
"keywords": [
@ -17,7 +17,7 @@
"fs-extra": "^4.0.0",
"lodash": "^4.17.5",
"reportback": "^2.0.1",
"strapi-utils": "3.0.0-alpha.21"
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi team",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-helper-plugin",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Helper for Strapi plugins development",
"engines": {
"node": ">= 10.0.0",
@ -26,6 +26,9 @@
"pre-commit": [
"lint:admin"
],
"devDependencies": {
"plop": "^2.2.0"
},
"dependencies": {
"add-asset-html-webpack-plugin": "^2.1.2",
"babel-cli": "6.26.0",
@ -68,7 +71,6 @@
"moment": "^2.16.0",
"node-sass": "^4.5.3",
"null-loader": "^0.1.1",
"plop": "^1.8.0",
"postcss-cssnext": "^2.11.0",
"postcss-focus": "^2.0.0",
"postcss-loader": "^2.0.6",

View File

@ -1107,7 +1107,14 @@ module.exports = function(strapi) {
result.key = `where.${key}`;
result.value = {
symbol: 'IN',
value,
value: _.castArray(value),
};
break;
case '_nin':
result.key = `where.${key}`;
result.value = {
symbol: 'NOT IN',
value: _.castArray(value),
};
break;
default:

View File

@ -33,8 +33,8 @@ module.exports = (scope, success, error) => {
knex.raw('select 1+1 as result').then(() => {
const selectQueries = {
mysql: 'SELECT tablename FROM pg_tables WHERE schemaname=\'public\'',
postgres: 'SELECT * FROM information_schema.tables',
postgres: 'SELECT tablename FROM pg_tables WHERE schemaname=\'public\'',
mysql: 'SELECT * FROM information_schema.tables',
sqlite: 'select * from sqlite_master'
};

View File

@ -1,6 +1,6 @@
{
"name": "strapi-hook-bookshelf",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Bookshelf hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@ -21,8 +21,8 @@
"lodash": "^4.17.5",
"pluralize": "^6.0.0",
"rimraf": "^2.6.2",
"strapi-hook-knex": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.21"
"strapi-hook-knex": "3.0.0-alpha.23.1",
"strapi-utils": "3.0.0-alpha.23.1"
},
"strapi": {
"dependencies": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-hook-ejs",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "EJS hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-hook-knex",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Knex hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -565,7 +565,11 @@ module.exports = function (strapi) {
break;
case '_in':
result.key = `where.${key}.$in`;
result.value = value;
result.value = _.castArray(value);
break;
case '_nin':
result.key = `where.${key}.$nin`;
result.value = _.castArray(value);
break;
default:
result = undefined;

View File

@ -1,6 +1,6 @@
{
"name": "strapi-hook-mongoose",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Mongoose hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@ -20,7 +20,7 @@
"mongoose-float": "^1.0.3",
"pluralize": "^6.0.0",
"rimraf": "^2.6.2",
"strapi-utils": "3.0.0-alpha.21"
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"email": "hi@strapi.io",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-hook-redis",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Redis hook for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [
@ -19,7 +19,7 @@
"lodash": "^4.17.5",
"rimraf": "^2.6.2",
"stack-trace": "0.0.10",
"strapi-utils": "3.0.0-alpha.21"
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"email": "hi@strapi.io",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-lint",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Strapi eslint and prettier configurations",
"directories": {
"lib": "lib"

View File

@ -1,6 +1,6 @@
{
"name": "strapi-middleware-views",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Views middleware to enable server-side rendering for the Strapi framework",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -37,6 +37,14 @@ const getFilters = (type) => {
id: 'content-manager.components.FilterOptions.FILTER_TYPES._containss',
value: '_containss',
},
{
id: 'content-manager.components.FilterOptions.FILTER_TYPES._in',
value: '_in',
},
{
id: 'content-manager.components.FilterOptions.FILTER_TYPES._nin',
value: '_nin',
},
];
case 'integer':
case 'float':
@ -67,6 +75,14 @@ const getFilters = (type) => {
id: 'content-manager.components.FilterOptions.FILTER_TYPES._gte',
value: '_gte',
},
{
id: 'content-manager.components.FilterOptions.FILTER_TYPES._in',
value: '_in',
},
{
id: 'content-manager.components.FilterOptions.FILTER_TYPES._nin',
value: '_nin',
},
];
default:
return [

View File

@ -13,6 +13,8 @@
"components.FilterOptions.FILTER_TYPES._lt": "is lower than",
"components.FilterOptions.FILTER_TYPES._lte": "is lower than or equal to",
"components.FilterOptions.FILTER_TYPES._ne": "is not",
"components.FilterOptions.FILTER_TYPES._in": "matches any value in the array of values",
"components.FilterOptions.FILTER_TYPES._nin": "doesn't match any value in the array of values",
"components.FilterOptions.button.apply": "Apply",
"components.FiltersPickWrapper.PluginHeader.actions.apply": "Apply",
"components.FiltersPickWrapper.PluginHeader.actions.clearAll": "Clear all",

View File

@ -4,9 +4,9 @@ module.exports = {
find: async function (params, populate, raw = false) {
return this.query(function(qb) {
_.forEach(params.where, (where, key) => {
if (_.isArray(where.value) && where.symbol !== 'IN') {
if (_.isArray(where.value) && where.symbol !== 'IN' && where.symbol !== 'NOT IN') {
for (const value in where.value) {
qb[value ? 'where' : 'orWhere'](key, where.symbol, where.value[value]);
qb[parseInt(value) ? 'orWhere' : 'where'](key, where.symbol, where.value[value]);
}
} else {
qb.where(key, where.symbol, where.value);

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-content-manager",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "A powerful UI to easily manage your data.",
"strapi": {
"name": "Content Manager",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node ./node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development PLUGIN=true node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"",
"prepublishOnly": "IS_MONOREPO=true npm run build"
@ -26,7 +26,7 @@
"draft-js": "^0.10.5",
"react-select": "^1.2.1",
"showdown": "^1.8.6",
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"dependencies": {
"pluralize": "^7.0.0"

View File

@ -86,6 +86,7 @@ module.exports = {
strapi.reload();
} catch (e) {
strapi.emit('didNotCreateContentType', e);
return ctx.badRequest(null, [{ messages: [{ id: 'request.error.model.write' }] }]);
}
} catch (e) {

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-content-type-builder",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Strapi plugin to create content type (API).",
"strapi": {
"name": "Content Type Builder",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"",
"prepublishOnly": "IS_MONOREPO=true npm run build"
@ -24,11 +24,11 @@
"dependencies": {
"immutable": "^3.8.2",
"pluralize": "^7.0.0",
"strapi-generate": "3.0.0-alpha.21",
"strapi-generate-api": "3.0.0-alpha.21"
"strapi-generate": "3.0.0-alpha.23.1",
"strapi-generate-api": "3.0.0-alpha.23.1"
},
"devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi team",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-documentation",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Documentation",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern '/admin/build/' --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "npm run lint",
@ -29,7 +29,7 @@
"swagger-ui-dist": "^3.18.3-republish2"
},
"devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "soupette",

View File

@ -108,5 +108,25 @@
"type": "string"
},
"deprecated": false
},
{
"name": "_in",
"in": "query",
"required": false,
"description": "Get records that matches any value in the array of values",
"schema": {
"type": "array"
},
"deprecated": false
},
{
"name": "_nin",
"in": "query",
"required": false,
"description": "Get records that doesn't match any value in the array of values",
"schema": {
"type": "array"
},
"deprecated": false
}
]

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-email",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Email",
@ -16,17 +16,17 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"",
"prepublishOnly": "IS_MONOREPO=true npm run build"
},
"dependencies": {
"strapi-provider-email-sendmail": "3.0.0-alpha.21"
"strapi-provider-email-sendmail": "3.0.0-alpha.23.1"
},
"devDependencies": {
"react-copy-to-clipboard": "5.0.1",
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi team",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-graphql",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "This is the description of the plugin.",
"strapi": {
"name": "graphql",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\""
},
@ -31,7 +31,7 @@
"graphql-type-datetime": "^0.2.2",
"graphql-type-json": "^0.2.1",
"pluralize": "^7.0.0",
"strapi-utils": "3.0.0-alpha.21"
"strapi-utils": "3.0.0-alpha.23.1"
},
"author": {
"name": "A Strapi developer",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-settings-manager",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Strapi plugin to manage settings.",
"strapi": {
"name": "Settings Manager",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"lint": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/eslint --ignore-path .gitignore --ignore-pattern '/admin/build/' --config ./node_modules/strapi-helper-plugin/lib/internals/eslint/.eslintrc.json admin",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "npm run lint",
@ -25,7 +25,7 @@
"devDependencies": {
"flag-icon-css": "^2.8.0",
"react-select": "^1.0.0-rc.5",
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi team",

View File

@ -6,7 +6,7 @@ module.exports = {
Object.keys(params.where).forEach((key) => {
const where = params.where[key];
if (Array.isArray(where.value)) {
if (Array.isArray(where.value) && where.symbol !== 'IN' && where.symbol !== 'NOT IN') {
for (const value in where.value) {
qb[value ? 'where' : 'orWhere'](key, where.symbol, where.value[value]);
}

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-upload",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "This is the description of the plugin.",
"strapi": {
"name": "Files Upload",
@ -16,18 +16,18 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"",
"prepublishOnly": "IS_MONOREPO=true npm run build"
},
"dependencies": {
"strapi-provider-upload-local": "3.0.0-alpha.21",
"strapi-provider-upload-local": "3.0.0-alpha.23.1",
"stream-to-array": "^2.3.0",
"uuid": "^3.2.1"
},
"devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "A Strapi developer",

View File

@ -42,6 +42,7 @@ module.exports = {
const buffer = Buffer.concat(buffers);
return {
tmpPath: stream.path,
name: stream.name,
sha256: niceHash(buffer),
hash: uuid().replace(/-/g, ''),
@ -83,7 +84,11 @@ module.exports = {
file.provider = provider.provider;
return await strapi.plugins['upload'].services.upload.add(file);
const res = await strapi.plugins['upload'].services.upload.add(file);
// Remove temp file
fs.unlinkSync(file.tmpPath);
return res;
}),
);
},
@ -209,4 +214,4 @@ module.exports = {
}),
);
},
};
};

View File

@ -5,7 +5,7 @@ module.exports = {
find: async function (params = {}, populate) {
const records = await this.query(function(qb) {
_.forEach(params.where, (where, key) => {
if (_.isArray(where.value)) {
if (_.isArray(where.value) && where.symbol !== 'IN' && where.symbol !== 'NOT IN') {
for (const value in where.value) {
qb[value ? 'where' : 'orWhere'](key, where.symbol, where.value[value]);
}

View File

@ -315,7 +315,7 @@ module.exports = {
try {
// Send an email to the user.
await strapi.plugins['email'].services.email.send({
to: user.email,
to: (user.toJSON ? user.toJSON() : user).email,
from: (settings.from.email && settings.from.name) ? `"${settings.from.name}" <${settings.from.email}>` : undefined,
replyTo: settings.response_email,
subject: settings.object,

View File

@ -1,6 +1,6 @@
{
"name": "strapi-plugin-users-permissions",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Protect your API with a full-authentication process based on JWT",
"strapi": {
"name": "Roles & Permissions",
@ -16,7 +16,7 @@
"build": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=production node node_modules/strapi-helper-plugin/node_modules/.bin/webpack --config node_modules/strapi-helper-plugin/lib/internals/webpack/webpack.prod.babel.js --color -p --progress",
"build:clean": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/rimraf admin/build",
"start": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/cross-env NODE_ENV=development node ./node_modules/strapi-helper-plugin/lib/server",
"generate": "node ./node_modules/plop/plop.js --plopfile node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"generate": "node ./node_modules/strapi-helper-plugin/node_modules/plop --plopfile ./node_modules/strapi-helper-plugin/lib/internals/generators/index.js",
"prettier": "node ./node_modules/strapi-helper-plugin/node_modules/.bin/prettier --single-quote --trailing-comma es5 --write \"{admin,__{tests,mocks}__}/**/*.js\"",
"test": "echo \"Error: no test specified\"",
"prepublishOnly": "IS_MONOREPO=true npm run build"
@ -29,11 +29,11 @@
"koa2-ratelimit": "^0.6.1",
"purest": "^2.0.1",
"request": "^2.83.0",
"strapi-utils": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.23.1",
"uuid": "^3.1.0"
},
"devDependencies": {
"strapi-helper-plugin": "3.0.0-alpha.21"
"strapi-helper-plugin": "3.0.0-alpha.23.1"
},
"author": {
"name": "Strapi team",

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-amazon-ses",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Amazon SES provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-mailgun",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Mailgun provider for strapi email plugin",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-sendgrid",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Sendgrid provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-email-sendmail",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Sendmail provider for strapi email",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-aws-s3",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "AWS S3 provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-cloudinary",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Cloudinary provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-local",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Local provider for strapi upload",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,6 +1,6 @@
{
"name": "strapi-provider-upload-rackspace",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Rackspace provider for strapi upload",
"main": "./lib",
"scripts": {

View File

@ -491,7 +491,7 @@ module.exports = {
let type;
if (_.includes(['ne', 'lt', 'gt', 'lte', 'gte', 'contains', 'containss', 'in'], _.last(suffix))) {
if (_.includes(['ne', 'lt', 'gt', 'lte', 'gte', 'contains', 'containss', 'in', 'nin'], _.last(suffix))) {
type = `_${_.last(suffix)}`;
key = _.dropRight(suffix).join('_');
} else {

View File

@ -1,6 +1,6 @@
{
"name": "strapi-utils",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "Shared utilities for the Strapi packages",
"homepage": "http://strapi.io",
"keywords": [

View File

@ -1,21 +1,27 @@
#!/usr/bin/env node
'use strict';
/**
* Module dependencies
*/
// Node.js core.
const fetch = require('node-fetch');
const { machineIdSync } = require('node-machine-id');
if (process.env.npm_config_global === 'true') {
fetch('https://analytics.strapi.io/track', {
method: 'POST',
body: JSON.stringify({ event: 'didInstallStrapi' }),
headers: { 'Content-Type': 'application/json' }
})
.catch(() => {});
}
/*
* No need to worry about this file, we only retrieve anonymous data here.
* It allows us to know on how many times the package has been installed globally.
*/
try {
if (process.env.npm_config_global === 'true' || JSON.parse(process.env.npm_config_argv).original.includes('global')) {
fetch('https://analytics.strapi.io/track', {
method: 'POST',
body: JSON.stringify({ event: 'didInstallStrapi', deviceId: machineIdSync() }),
headers: { 'Content-Type': 'application/json' }
})
.catch(() => {});
}
} catch (e) {
//...
}

View File

@ -1,6 +1,6 @@
{
"name": "strapi",
"version": "3.0.0-alpha.21",
"version": "3.0.0-alpha.23.1",
"description": "An open source solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier.",
"homepage": "http://strapi.io",
"keywords": [
@ -54,6 +54,7 @@
"koa-static": "^4.0.1",
"lodash": "^4.17.5",
"node-fetch": "^1.7.3",
"node-machine-id": "^1.1.10",
"node-schedule": "^1.2.0",
"opn": "^5.3.0",
"ora": "^3.0.0",
@ -61,16 +62,16 @@
"semver": "^5.4.1",
"shelljs": "^0.8.3",
"stack-trace": "0.0.10",
"strapi-generate": "3.0.0-alpha.21",
"strapi-generate-admin": "3.0.0-alpha.21",
"strapi-generate-api": "3.0.0-alpha.21",
"strapi-generate-controller": "3.0.0-alpha.21",
"strapi-generate-model": "3.0.0-alpha.21",
"strapi-generate-new": "3.0.0-alpha.21",
"strapi-generate-plugin": "3.0.0-alpha.21",
"strapi-generate-policy": "3.0.0-alpha.21",
"strapi-generate-service": "3.0.0-alpha.21",
"strapi-utils": "3.0.0-alpha.21"
"strapi-generate": "3.0.0-alpha.23.1",
"strapi-generate-admin": "3.0.0-alpha.23.1",
"strapi-generate-api": "3.0.0-alpha.23.1",
"strapi-generate-controller": "3.0.0-alpha.23.1",
"strapi-generate-model": "3.0.0-alpha.23.1",
"strapi-generate-new": "3.0.0-alpha.23.1",
"strapi-generate-plugin": "3.0.0-alpha.23.1",
"strapi-generate-policy": "3.0.0-alpha.23.1",
"strapi-generate-service": "3.0.0-alpha.23.1",
"strapi-utils": "3.0.0-alpha.23.1"
},
"scripts": {
"postinstall": "node lib/utils/success.js"
@ -100,4 +101,4 @@
},
"preferGlobal": true,
"license": "MIT"
}
}

View File

@ -75,8 +75,8 @@ shell.cd('../strapi-helper-plugin');
watcher('📦 Linking strapi-helper-plugin...', 'npm link');
shell.cd('../strapi-admin');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm install ../strapi-utils --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-utils --no-optional');
shell.rm('-f', 'package-lock.json');
// Without these line Travis failed.
@ -90,23 +90,23 @@ if (shell.test('-e', 'admin/src/config/plugins.json') === false) {
watcher('📦 Linking strapi-admin', 'npm link --no-optional', false);
shell.cd('../strapi-generate-admin');
watcher('', 'npm install ../strapi-admin');
watcher('', 'npm link strapi-admin');
watcher('📦 Linking strapi-generate-admin...', 'npm link');
shell.cd('../strapi-generate-new');
watcher('', 'npm install ../strapi-utils');
watcher('', 'npm link strapi-utils');
watcher('📦 Linking strapi-generate-new', 'npm link');
shell.cd('../strapi-hook-mongoose');
watcher('', 'npm install ../strapi-utils');
watcher('', 'npm link strapi-utils');
watcher('📦 Linking strapi-hook-mongoose...', 'npm link');
shell.cd('../strapi-hook-knex');
watcher('📦 Linking strapi-hook-knex...', 'npm link');
shell.cd('../strapi-hook-bookshelf');
watcher('', 'npm install ../strapi-utils');
watcher('', 'npm install ../strapi-hook-knex');
watcher('', 'npm link strapi-utils');
watcher('', 'npm link strapi-hook-knex');
watcher('📦 Linking strapi-hook-bookshelf...', 'npm link');
shell.cd('../strapi');
@ -117,6 +117,7 @@ watcher(
watcher('📦 Linking strapi...', 'npm link');
shell.cd('../strapi-plugin-graphql');
watcher('', 'npm link strapi-utils');
watcher('📦 Linking strapi-plugin-graphql...', 'npm link --no-optional', false);
// Plugin services
@ -129,42 +130,45 @@ watcher('📦 Linking strapi-provider-email-sendmail...', 'npm link --no-option
// Plugins with admin
shell.cd('../strapi-plugin-documentation');
shell.rm('-f', 'package-lock.json');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('📦 Linking strapi-plugin-documentation...', 'npm link --no-optional', false);
shell.cd('../strapi-plugin-email');
shell.rm('-f', 'package-lock.json');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm install ../strapi-provider-email-sendmail --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-provider-email-sendmail --no-optional');
watcher('', 'npm link strapi-utils --no-optional');
watcher('📦 Linking strapi-plugin-email...', 'npm link --no-optional', false);
shell.cd('../strapi-plugin-users-permissions');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm install ../strapi-utils --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-utils --no-optional');
shell.rm('-f', 'package-lock.json');
watcher('📦 Linking strapi-plugin-users-permissions...', 'npm link --no-optional', false);
shell.cd('../strapi-plugin-content-manager');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-utils --no-optional');
shell.rm('-f', 'package-lock.json');
watcher('📦 Linking strapi-plugin-content-manager...', 'npm link --no-optional', false);
shell.cd('../strapi-plugin-settings-manager');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
shell.rm('-f', 'package-lock.json');
watcher('📦 Linking strapi-plugin-settings-manager...', 'npm link --no-optional', false);
// Plugins with admin and other plugin's dependencies
shell.cd('../strapi-plugin-upload');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm install ../strapi-provider-upload-local --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-provider-upload-local --no-optional');
watcher('', 'npm link strapi-utils --no-optional');
shell.rm('-f', 'package-lock.json');
watcher('📦 Linking strapi-plugin-upload...', 'npm link --no-optional', false);
shell.cd('../strapi-plugin-content-type-builder');
watcher('', 'npm install ../strapi-helper-plugin --no-optional');
watcher('', 'npm install ../strapi-generate --no-optional');
watcher('', 'npm install ../strapi-generate-api --no-optional');
watcher('', 'npm link strapi-helper-plugin --no-optional');
watcher('', 'npm link strapi-generate --no-optional');
watcher('', 'npm link strapi-generate-api --no-optional');
shell.rm('-f', 'package-lock.json');
watcher('📦 Linking strapi-plugin-content-type-builder...', 'npm link --no-optional', false);