mirror of
https://github.com/strapi/strapi.git
synced 2025-10-05 05:10:59 +00:00
Use hook prefix and rename
This commit is contained in:
parent
2482d5488f
commit
cf8184e223
@ -1,6 +1,6 @@
|
|||||||
# Hooks
|
# Hooks
|
||||||
|
|
||||||
The hooks are modules that add functionality to the core. They are loaded during the server boot. For example, if your project needs to work with a SQL database, your will have to add the hook `strapi-bookshelf` to be able to connect your app with your database.
|
The hooks are modules that add functionality to the core. They are loaded during the server boot. For example, if your project needs to work with a SQL database, your will have to add the hook `strapi-hook-bookshelf` to be able to connect your app with your database.
|
||||||
|
|
||||||
**Path —** `./hooks/documentation/lib/index.js`.
|
**Path —** `./hooks/documentation/lib/index.js`.
|
||||||
```js
|
```js
|
||||||
@ -76,13 +76,13 @@ The `index.js` is the entry point to your hook. It should look like the example
|
|||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
It happens that a hook has a dependency to another one. For example, the `strapi-bookshelf` has a dependency to `strapi-knex`. Without it, the `strapi-bookshelf` can't work correctly. It also means that the `strapi-knex` hook has to be loaded before.
|
It happens that a hook has a dependency to another one. For example, the `strapi-hook-bookshelf` has a dependency to `strapi-hook-knex`. Without it, the `strapi-hook-bookshelf` can't work correctly. It also means that the `strapi-hook-knex` hook has to be loaded before.
|
||||||
|
|
||||||
To handle this case, you need to update the `package.json` at the root of your hook.
|
To handle this case, you need to update the `package.json` at the root of your hook.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"name": "strapi-bookshelf",
|
"name": "strapi-hook-bookshelf",
|
||||||
"version": "x.x.x",
|
"version": "x.x.x",
|
||||||
"description": "Bookshelf hook for the Strapi framework",
|
"description": "Bookshelf hook for the Strapi framework",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -90,7 +90,7 @@ To handle this case, you need to update the `package.json` at the root of your h
|
|||||||
},
|
},
|
||||||
"strapi": {
|
"strapi": {
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"strapi-knex"
|
"strapi-hook-knex"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ Here is the list of the collected data and why we need them.
|
|||||||
*Understand how the developers are using the different configurations? How many projects are started in production mode?*
|
*Understand how the developers are using the different configurations? How many projects are started in production mode?*
|
||||||
- **Node modules names**
|
- **Node modules names**
|
||||||
*Are developers integrating Strapi with Stripe? It means that we should develop a plugin to simplify the development process with Stripe.
|
*Are developers integrating Strapi with Stripe? It means that we should develop a plugin to simplify the development process with Stripe.
|
||||||
Are developers using Strapi with strapi-bookshelf or strapi-mongoose? It helps us prioritize the issues.*
|
Are developers using Strapi with strapi-hook-bookshelf or strapi-hook-mongoose? It helps us prioritize the issues.*
|
||||||
- **OS**
|
- **OS**
|
||||||
*Is the community using Windows, Linux or Mac? It helps us prioritize the issues.*
|
*Is the community using Windows, Linux or Mac? It helps us prioritize the issues.*
|
||||||
- **Build configurations**
|
- **Build configurations**
|
||||||
|
@ -164,7 +164,7 @@ Most of the application's configurations are defined by environment. It means th
|
|||||||
- `defaultConnection` (string): Connection by default for models which are not related to a specific `connection`. Default value: `default`.
|
- `defaultConnection` (string): Connection by default for models which are not related to a specific `connection`. Default value: `default`.
|
||||||
- `connections` List of all available connections.
|
- `connections` List of all available connections.
|
||||||
- `default`
|
- `default`
|
||||||
- `connector` (string): Connector used by the current connection. Default value: `strapi-mongoose`.
|
- `connector` (string): Connector used by the current connection. Default value: `strapi-hook-mongoose`.
|
||||||
- `client` (string): Client used to store session. Default value: `cookie`.
|
- `client` (string): Client used to store session. Default value: `cookie`.
|
||||||
- `key` (string): Cookie key name. Default value: `strapi.sid`
|
- `key` (string): Cookie key name. Default value: `strapi.sid`
|
||||||
- `maxAge` (integer): Time in milliseconds before the session expire. Default value: `86400000`.
|
- `maxAge` (integer): Time in milliseconds before the session expire. Default value: `86400000`.
|
||||||
@ -192,7 +192,7 @@ Most of the application's configurations are defined by environment. It means th
|
|||||||
"defaultConnection": "default",
|
"defaultConnection": "default",
|
||||||
"connections": {
|
"connections": {
|
||||||
"default": {
|
"default": {
|
||||||
"connector": "strapi-mongoose",
|
"connector": "strapi-hook-mongoose",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "mongo",
|
"client": "mongo",
|
||||||
"host": "localhost",
|
"host": "localhost",
|
||||||
@ -208,7 +208,7 @@ Most of the application's configurations are defined by environment. It means th
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postgres": {
|
"postgres": {
|
||||||
"connector": "strapi-bookshelf",
|
"connector": "strapi-hook-bookshelf",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "postgres",
|
"client": "postgres",
|
||||||
"host": "localhost",
|
"host": "localhost",
|
||||||
@ -223,7 +223,7 @@ Most of the application's configurations are defined by environment. It means th
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"mysql": {
|
"mysql": {
|
||||||
"connector": "strapi-bookshelf",
|
"connector": "strapi-hook-bookshelf",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "mysql",
|
"client": "mysql",
|
||||||
"host": "localhost",
|
"host": "localhost",
|
||||||
@ -367,7 +367,7 @@ In any JSON configurations files in your project, you can inject dynamic values
|
|||||||
"defaultConnection": "default",
|
"defaultConnection": "default",
|
||||||
"connections": {
|
"connections": {
|
||||||
"default": {
|
"default": {
|
||||||
"connector": "strapi-mongoose",
|
"connector": "strapi-hook-mongoose",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "mongo",
|
"client": "mongo",
|
||||||
"uri": "${process.env.DATABASE_URI || ''}",
|
"uri": "${process.env.DATABASE_URI || ''}",
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
|
|
||||||
// Strapi utilities.
|
// Strapi utilities.
|
||||||
const utils = require('strapi-bookshelf/lib/utils/');
|
const utils = require('strapi-hook-bookshelf/lib/utils/');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"defaultConnection": "default",
|
"defaultConnection": "default",
|
||||||
"connections": {
|
"connections": {
|
||||||
"default": {
|
"default": {
|
||||||
"connector": "strapi-mongoose",
|
"connector": "strapi-hook-mongoose",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "mongo",
|
"client": "mongo",
|
||||||
"uri": "${process.env.DATABASE_URI || ''}",
|
"uri": "${process.env.DATABASE_URI || ''}",
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"defaultConnection": "default",
|
"defaultConnection": "default",
|
||||||
"connections": {
|
"connections": {
|
||||||
"default": {
|
"default": {
|
||||||
"connector": "strapi-mongoose",
|
"connector": "strapi-hook-mongoose",
|
||||||
"settings": {
|
"settings": {
|
||||||
"client": "mongo",
|
"client": "mongo",
|
||||||
"uri": "${process.env.DATABASE_URI || ''}",
|
"uri": "${process.env.DATABASE_URI || ''}",
|
||||||
|
@ -69,14 +69,14 @@ module.exports = (scope, cb) => {
|
|||||||
name: 'MongoDB (recommended)',
|
name: 'MongoDB (recommended)',
|
||||||
value: {
|
value: {
|
||||||
database: 'mongo',
|
database: 'mongo',
|
||||||
connector: 'strapi-mongoose'
|
connector: 'strapi-hook-mongoose'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'Postgres',
|
name: 'Postgres',
|
||||||
value: {
|
value: {
|
||||||
database: 'postgres',
|
database: 'postgres',
|
||||||
connector: 'strapi-bookshelf',
|
connector: 'strapi-hook-bookshelf',
|
||||||
module: 'pg'
|
module: 'pg'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -84,7 +84,7 @@ module.exports = (scope, cb) => {
|
|||||||
name: 'MySQL',
|
name: 'MySQL',
|
||||||
value: {
|
value: {
|
||||||
database: 'mysql',
|
database: 'mysql',
|
||||||
connector: 'strapi-bookshelf',
|
connector: 'strapi-hook-bookshelf',
|
||||||
module: 'mysql'
|
module: 'mysql'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -223,10 +223,10 @@ module.exports = (scope, cb) => {
|
|||||||
cmd += ` ${scope.client.module}`;
|
cmd += ` ${scope.client.module}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scope.client.connector === 'strapi-bookshelf') {
|
if (scope.client.connector === 'strapi-hook-bookshelf') {
|
||||||
cmd += ` strapi-knex@alpha`;
|
cmd += ` strapi-hook-knex@alpha`;
|
||||||
|
|
||||||
scope.additionalsDependencies = ['strapi-knex', 'knex'];
|
scope.additionalsDependencies = ['strapi-hook-knex', 'knex'];
|
||||||
}
|
}
|
||||||
|
|
||||||
exec(cmd, () => {
|
exec(cmd, () => {
|
||||||
@ -234,7 +234,7 @@ module.exports = (scope, cb) => {
|
|||||||
const lock = require(path.join(`${scope.tmpPath}`,`/node_modules/`,`${scope.client.module}/package.json`));
|
const lock = require(path.join(`${scope.tmpPath}`,`/node_modules/`,`${scope.client.module}/package.json`));
|
||||||
scope.client.version = lock.version;
|
scope.client.version = lock.version;
|
||||||
|
|
||||||
if (scope.developerMode === true && scope.client.connector === 'strapi-bookshelf') {
|
if (scope.developerMode === true && scope.client.connector === 'strapi-hook-bookshelf') {
|
||||||
const knexVersion = require(path.join(`${scope.tmpPath}`,`/node_modules/`,`knex/package.json`));
|
const knexVersion = require(path.join(`${scope.tmpPath}`,`/node_modules/`,`knex/package.json`));
|
||||||
scope.additionalsDependencies[1] = `knex@${knexVersion.version || 'latest'}`;
|
scope.additionalsDependencies[1] = `knex@${knexVersion.version || 'latest'}`;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
# strapi-bookshelf
|
# strapi-boohook-kshelf
|
||||||
|
|
||||||
[](https://www.npmjs.org/package/strapi-bookshelf)
|
[](https://www.npmjs.org/package/strapi-hook-bookshelf)
|
||||||
[](https://www.npmjs.org/package/strapi-bookshelf)
|
[](https://www.npmjs.org/package/strapi-hook-bookshelf)
|
||||||
[](https://david-dm.org/strapi/strapi-bookshelf)
|
[](https://david-dm.org/strapi/strapi-hook-bookshelf)
|
||||||
[](https://travis-ci.org/strapi/strapi-bookshelf)
|
[](https://travis-ci.org/strapi/strapi-hook-bookshelf)
|
||||||
[](http://slack.strapi.io)
|
[](http://slack.strapi.io)
|
||||||
|
|
||||||
This built-in hook allows you to use the [Bookshelf ORM](http://bookshelfjs.org/) using the `strapi-knex` hook.
|
This built-in hook allows you to use the [Bookshelf ORM](http://bookshelfjs.org/) using the `strapi-hook-knex` hook.
|
||||||
|
|
||||||
[Bookshelf ORM](http://bookshelfjs.org/) is a JavaScript ORM for Node.js, built on the [Knex node module](http://knexjs.org/) SQL query builder. Featuring both promise based and traditional callback interfaces, providing transaction support, eager/nested-eager relation loading, polymorphic associations, and support for one-to-one, one-to-many, and many-to-many relations.
|
[Bookshelf ORM](http://bookshelfjs.org/) is a JavaScript ORM for Node.js, built on the [Knex node module](http://knexjs.org/) SQL query builder. Featuring both promise based and traditional callback interfaces, providing transaction support, eager/nested-eager relation loading, polymorphic associations, and support for one-to-one, one-to-many, and many-to-many relations.
|
||||||
|
|
@ -45,7 +45,7 @@ module.exports = function(strapi) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
initialize: async cb => {
|
initialize: async cb => {
|
||||||
const connections = _.pickBy(strapi.config.connections, { connector: 'strapi-bookshelf' });
|
const connections = _.pickBy(strapi.config.connections, { connector: 'strapi-hook-bookshelf' });
|
||||||
|
|
||||||
const databaseUpdate = [];
|
const databaseUpdate = [];
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-bookshelf",
|
"name": "strapi-hook-bookshelf",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "Bookshelf hook for the Strapi framework",
|
"description": "Bookshelf hook for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
@ -20,13 +20,12 @@
|
|||||||
"inquirer": "^5.2.0",
|
"inquirer": "^5.2.0",
|
||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
"pluralize": "^6.0.0",
|
"pluralize": "^6.0.0",
|
||||||
"strapi-knex": "3.0.0-alpha.12.7.1",
|
"strapi-hook-knex": "3.0.0-alpha.12.7.1",
|
||||||
"strapi-utils": "3.0.0-alpha.12.7.1"
|
"strapi-utils": "3.0.0-alpha.12.7.1"
|
||||||
},
|
},
|
||||||
"strapi": {
|
"strapi": {
|
||||||
"isHook": true,
|
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"strapi-knex"
|
"strapi-hook-knex"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-ejs",
|
"name": "strapi-hook-ejs",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "EJS hook for the Strapi framework",
|
"description": "EJS hook for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
@ -16,9 +16,6 @@
|
|||||||
"co": "^4.6.0",
|
"co": "^4.6.0",
|
||||||
"koa-ejs": "^4.1.0"
|
"koa-ejs": "^4.1.0"
|
||||||
},
|
},
|
||||||
"strapi": {
|
|
||||||
"isHook": true
|
|
||||||
},
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prepublishOnly": "npm prune"
|
"prepublishOnly": "npm prune"
|
||||||
},
|
},
|
@ -1,9 +1,9 @@
|
|||||||
# strapi-knex
|
# strapi-hook-knex
|
||||||
|
|
||||||
[](https://www.npmjs.org/package/strapi-knex)
|
[](https://www.npmjs.org/package/strapi-hook-knex)
|
||||||
[](https://www.npmjs.org/package/strapi-knex)
|
[](https://www.npmjs.org/package/strapi-hook-knex)
|
||||||
[](https://david-dm.org/strapi/strapi-knex)
|
[](https://david-dm.org/strapi/strapi-hook-knex)
|
||||||
[](https://travis-ci.org/strapi/strapi-knex)
|
[](https://travis-ci.org/strapi/strapi-hook-knex)
|
||||||
[](http://slack.strapi.io)
|
[](http://slack.strapi.io)
|
||||||
|
|
||||||
This built-in hook allows you to directly make SQL queries from your Strapi connections to your databases thanks to the [Knex node module](http://knexjs.org/).
|
This built-in hook allows you to directly make SQL queries from your Strapi connections to your databases thanks to the [Knex node module](http://knexjs.org/).
|
@ -46,7 +46,7 @@ module.exports = strapi => {
|
|||||||
|
|
||||||
initialize: cb => {
|
initialize: cb => {
|
||||||
// For each connection in the config register a new Knex connection.
|
// For each connection in the config register a new Knex connection.
|
||||||
_.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-bookshelf'}), (connection, name) => {
|
_.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-hook-bookshelf'}), (connection, name) => {
|
||||||
|
|
||||||
// Make sure we use the client even if the typo is not the exact one.
|
// Make sure we use the client even if the typo is not the exact one.
|
||||||
switch (connection.settings.client) {
|
switch (connection.settings.client) {
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-knex",
|
"name": "strapi-hook-knex",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "Knex hook for the Strapi framework",
|
"description": "Knex hook for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
@ -19,9 +19,6 @@
|
|||||||
"knex": "^0.13.0",
|
"knex": "^0.13.0",
|
||||||
"lodash": "^4.17.4"
|
"lodash": "^4.17.4"
|
||||||
},
|
},
|
||||||
"strapi": {
|
|
||||||
"isHook": true
|
|
||||||
},
|
|
||||||
"author": {
|
"author": {
|
||||||
"email": "hi@strapi.io",
|
"email": "hi@strapi.io",
|
||||||
"name": "Strapi team",
|
"name": "Strapi team",
|
@ -1,9 +1,9 @@
|
|||||||
# strapi-mongoose
|
# strapi-hook-mongoose
|
||||||
|
|
||||||
[](https://www.npmjs.org/package/strapi-mongoose)
|
[](https://www.npmjs.org/package/strapi-hook-mongoose)
|
||||||
[](https://www.npmjs.org/package/strapi-mongoose)
|
[](https://www.npmjs.org/package/strapi-hook-mongoose)
|
||||||
[](https://david-dm.org/strapi/strapi-mongoose)
|
[](https://david-dm.org/strapi/strapi-hook-mongoose)
|
||||||
[](https://travis-ci.org/strapi/strapi-bookshelf)
|
[](https://travis-ci.org/strapi/strapi-hook-mongoose)
|
||||||
[](http://slack.strapi.io)
|
[](http://slack.strapi.io)
|
||||||
|
|
||||||
This built-in hook allows you to use the [Mongoose ORM](http://mongoosejs.com/).
|
This built-in hook allows you to use the [Mongoose ORM](http://mongoosejs.com/).
|
@ -49,7 +49,7 @@ module.exports = function (strapi) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
initialize: cb => {
|
initialize: cb => {
|
||||||
_.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-mongoose'}), (connection, connectionName) => {
|
_.forEach(_.pickBy(strapi.config.connections, {connector: 'strapi-hook-mongoose'}), (connection, connectionName) => {
|
||||||
const instance = new Mongoose();
|
const instance = new Mongoose();
|
||||||
const { uri, host, port, username, password, database } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose);
|
const { uri, host, port, username, password, database } = _.defaults(connection.settings, strapi.config.hook.settings.mongoose);
|
||||||
const uriOptions = uri ? url.parse(uri, true).query : {};
|
const uriOptions = uri ? url.parse(uri, true).query : {};
|
@ -174,7 +174,7 @@ module.exports = {
|
|||||||
strapi.models[_.toLower(obj.ref)].globalId;
|
strapi.models[_.toLower(obj.ref)].globalId;
|
||||||
|
|
||||||
// Define the object stored in database.
|
// Define the object stored in database.
|
||||||
// The shape is this object is defined by the strapi-mongoose connector.
|
// The shape is this object is defined by the strapi-hook-mongoose connector.
|
||||||
return {
|
return {
|
||||||
ref: obj.refId,
|
ref: obj.refId,
|
||||||
kind: globalId,
|
kind: globalId,
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-mongoose",
|
"name": "strapi-hook-mongoose",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "Mongoose hook for the Strapi framework",
|
"description": "Mongoose hook for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
@ -21,9 +21,6 @@
|
|||||||
"pluralize": "^6.0.0",
|
"pluralize": "^6.0.0",
|
||||||
"strapi-utils": "3.0.0-alpha.12.7.1"
|
"strapi-utils": "3.0.0-alpha.12.7.1"
|
||||||
},
|
},
|
||||||
"strapi": {
|
|
||||||
"isHook": true
|
|
||||||
},
|
|
||||||
"author": {
|
"author": {
|
||||||
"email": "hi@strapi.io",
|
"email": "hi@strapi.io",
|
||||||
"name": "Strapi team",
|
"name": "Strapi team",
|
@ -38,13 +38,13 @@ module.exports = function(strapi) {
|
|||||||
|
|
||||||
initialize: cb => {
|
initialize: cb => {
|
||||||
if (_.isEmpty(strapi.models) || !_.pickBy(strapi.config.connections, {
|
if (_.isEmpty(strapi.models) || !_.pickBy(strapi.config.connections, {
|
||||||
connector: 'strapi-redis'
|
connector: 'strapi-hook-redis'
|
||||||
})) {
|
})) {
|
||||||
return cb();
|
return cb();
|
||||||
}
|
}
|
||||||
|
|
||||||
const connections = _.pickBy(strapi.config.connections, {
|
const connections = _.pickBy(strapi.config.connections, {
|
||||||
connector: 'strapi-redis'
|
connector: 'strapi-hook-redis'
|
||||||
});
|
});
|
||||||
|
|
||||||
if(_.size(connections) === 0) {
|
if(_.size(connections) === 0) {
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-redis",
|
"name": "strapi-hook-redis",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "Redis hook for the Strapi framework",
|
"description": "Redis hook for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
@ -20,9 +20,6 @@
|
|||||||
"stack-trace": "0.0.10",
|
"stack-trace": "0.0.10",
|
||||||
"strapi-utils": "3.0.0-alpha.12.7.1"
|
"strapi-utils": "3.0.0-alpha.12.7.1"
|
||||||
},
|
},
|
||||||
"strapi": {
|
|
||||||
"isHook": true
|
|
||||||
},
|
|
||||||
"author": {
|
"author": {
|
||||||
"email": "hi@strapi.io",
|
"email": "hi@strapi.io",
|
||||||
"name": "Strapi team",
|
"name": "Strapi team",
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "strapi-middleware-views",
|
"name": "strapi-middleware-views",
|
||||||
"version": "3.0.0-alpha.12.7.1",
|
"version": "3.0.0-alpha.12.7.1",
|
||||||
"description": "Views hook to enable server-side rendering for the Strapi framework",
|
"description": "Views middleware to enable server-side rendering for the Strapi framework",
|
||||||
"homepage": "http://strapi.io",
|
"homepage": "http://strapi.io",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"redis",
|
"redis",
|
||||||
@ -19,9 +19,6 @@
|
|||||||
"koa-views": "^6.1.1",
|
"koa-views": "^6.1.1",
|
||||||
"lodash": "^4.17.4"
|
"lodash": "^4.17.4"
|
||||||
},
|
},
|
||||||
"strapi": {
|
|
||||||
"isHook": true
|
|
||||||
},
|
|
||||||
"author": {
|
"author": {
|
||||||
"email": "hi@strapi.io",
|
"email": "hi@strapi.io",
|
||||||
"name": "Strapi team",
|
"name": "Strapi team",
|
||||||
|
@ -207,7 +207,7 @@ module.exports = {
|
|||||||
return ctx.badRequest(null, [{ messages: [{ id: 'Connection doesn\'t exist' }] }]);
|
return ctx.badRequest(null, [{ messages: [{ id: 'Connection doesn\'t exist' }] }]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (connector === 'strapi-bookshelf') {
|
if (connector === 'strapi-hook-bookshelf') {
|
||||||
try {
|
try {
|
||||||
const tableExists = await strapi.connections[connection].schema.hasTable(model);
|
const tableExists = await strapi.connections[connection].schema.hasTable(model);
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
generateAPI: (name, description, connection, collectionName, attributes) => {
|
generateAPI: (name, description, connection, collectionName, attributes) => {
|
||||||
const template = _.get(strapi.config.currentEnvironment, `database.connections.${connection}.connector`, 'strapi-mongoose').split('-')[1];
|
const template = _.get(strapi.config.currentEnvironment, `database.connections.${connection}.connector`, 'strapi-hook-mongoose').split('-')[1];
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const scope = {
|
const scope = {
|
||||||
|
@ -650,9 +650,9 @@ module.exports = {
|
|||||||
const redisClients = ['redis'];
|
const redisClients = ['redis'];
|
||||||
|
|
||||||
let connector;
|
let connector;
|
||||||
if (_.indexOf(bookshelfClients, client) !== -1) connector = 'strapi-bookshelf';
|
if (_.indexOf(bookshelfClients, client) !== -1) connector = 'strapi-hook-bookshelf';
|
||||||
if (_.indexOf(mongooseClients, client) !== -1) connector = 'strapi-mongoose';
|
if (_.indexOf(mongooseClients, client) !== -1) connector = 'strapi-hook-mongoose';
|
||||||
if (_.indexOf(redisClients, client) !== -1) connector = 'strapi-redis';
|
if (_.indexOf(redisClients, client) !== -1) connector = 'strapi-hook-redis';
|
||||||
|
|
||||||
return connector;
|
return connector;
|
||||||
},
|
},
|
||||||
@ -911,7 +911,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
cleanDependency: (env, config) => {
|
cleanDependency: (env, config) => {
|
||||||
const availableConnectors = ['strapi-mongoose', 'strapi-bookshelf', 'strapi-redis'];
|
const availableConnectors = ['strapi-hook-mongoose', 'strapi-hook-bookshelf', 'strapi-hook-redis'];
|
||||||
let usedConnectors = [];
|
let usedConnectors = [];
|
||||||
const errors = [];
|
const errors = [];
|
||||||
|
|
||||||
|
@ -21,10 +21,10 @@ module.exports = scope => {
|
|||||||
// First, make sure the application we have access to
|
// First, make sure the application we have access to
|
||||||
// the migration generator.
|
// the migration generator.
|
||||||
try {
|
try {
|
||||||
require.resolve(path.resolve(scope.rootPath, 'node_modules', 'strapi-knex'));
|
require.resolve(path.resolve(scope.rootPath, 'node_modules', 'strapi-hook-knex'));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Impossible to call the Knex migration tool.');
|
console.error('Impossible to call the Knex migration tool.');
|
||||||
console.error('You can install it with `$ npm install strapi-knex --save`.');
|
console.error('You can install it with `$ npm install strapi-hook-knex --save`.');
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,7 +281,7 @@ module.exports.app = async function() {
|
|||||||
// Enable hooks and dependencies related to the connections.
|
// Enable hooks and dependencies related to the connections.
|
||||||
for (let name in this.config.connections) {
|
for (let name in this.config.connections) {
|
||||||
const connection = this.config.connections[name];
|
const connection = this.config.connections[name];
|
||||||
const connector = connection.connector.replace('strapi-', '');
|
const connector = connection.connector.replace('strapi-hook-', '');
|
||||||
|
|
||||||
enableHookNestedDependencies.call(this, connector, flattenHooksConfig);
|
enableHookNestedDependencies.call(this, connector, flattenHooksConfig);
|
||||||
}
|
}
|
||||||
@ -333,7 +333,7 @@ module.exports.app = async function() {
|
|||||||
|
|
||||||
const enableHookNestedDependencies = function (name, flattenHooksConfig, force = false) {
|
const enableHookNestedDependencies = function (name, flattenHooksConfig, force = false) {
|
||||||
if (!this.hook[name]) {
|
if (!this.hook[name]) {
|
||||||
this.log.warn(`(hook:${name}) \`strapi-${name}\` is missing in your dependencies. Please run \`npm install strapi-${name}\``);
|
this.log.warn(`(hook:${name}) \`strapi-hook-${name}\` is missing in your dependencies. Please run \`npm install strapi-hook-${name}\``);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Couldn't find configurations for this hook.
|
// Couldn't find configurations for this hook.
|
||||||
@ -347,7 +347,7 @@ const enableHookNestedDependencies = function (name, flattenHooksConfig, force =
|
|||||||
const connector = get(this.config.connections, models[model].connection, {}).connector;
|
const connector = get(this.config.connections, models[model].connection, {}).connector;
|
||||||
|
|
||||||
if (connector) {
|
if (connector) {
|
||||||
return connector.replace('strapi-', '') === name;
|
return connector.replace('strapi-hook-', '') === name;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -363,7 +363,7 @@ const enableHookNestedDependencies = function (name, flattenHooksConfig, force =
|
|||||||
// Enabled dependencies.
|
// Enabled dependencies.
|
||||||
if (get(this.hook, `${name}.dependencies`, []).length > 0) {
|
if (get(this.hook, `${name}.dependencies`, []).length > 0) {
|
||||||
this.hook[name].dependencies.forEach(dependency => {
|
this.hook[name].dependencies.forEach(dependency => {
|
||||||
enableHookNestedDependencies.call(this, dependency.replace('strapi-', ''), flattenHooksConfig, true);
|
enableHookNestedDependencies.call(this, dependency.replace('strapi-hook-', ''), flattenHooksConfig, true);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,18 +15,7 @@ module.exports = function() {
|
|||||||
const cwd = '';
|
const cwd = '';
|
||||||
|
|
||||||
// Load configurations.
|
// Load configurations.
|
||||||
glob('./node_modules/strapi-*', {
|
glob('./node_modules/strapi-hook-*', {
|
||||||
ignore: [
|
|
||||||
'./node_modules/strapi-admin',
|
|
||||||
'./node_modules/strapi-utils',
|
|
||||||
'./node_modules/strapi-generate*',
|
|
||||||
'./node_modules/strapi-plugin-*',
|
|
||||||
'./node_modules/strapi-helper-*',
|
|
||||||
'./node_modules/strapi-middleware-*',
|
|
||||||
'./node_modules/strapi-upload-*',
|
|
||||||
'./node_modules/strapi-email-*',
|
|
||||||
'./node_modules/strapi-lint'
|
|
||||||
],
|
|
||||||
cwd: this.config.appPath
|
cwd: this.config.appPath
|
||||||
}, (err, files) => {
|
}, (err, files) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
@ -71,17 +60,9 @@ const mountHooks = function (files, cwd, isPlugin) {
|
|||||||
return (resolve, reject) =>
|
return (resolve, reject) =>
|
||||||
parallel(
|
parallel(
|
||||||
files.map(p => cb => {
|
files.map(p => cb => {
|
||||||
const extractStr = p
|
const folders = p.replace(/^.\/node_modules\/strapi-hook-/, './')
|
||||||
.split('/')
|
.split('/');
|
||||||
.pop()
|
const name = isPlugin ? folders[folders.length - 2] : folders[1];
|
||||||
.replace(/^strapi(-|\.)/, '')
|
|
||||||
.split('-');
|
|
||||||
|
|
||||||
const name = lowerFirst(
|
|
||||||
extractStr.length === 1
|
|
||||||
? extractStr[0]
|
|
||||||
: extractStr.map(p => upperFirst(p)).join('')
|
|
||||||
);
|
|
||||||
|
|
||||||
fs.readFile(path.resolve(this.config.appPath, cwd, p, 'package.json'), (err, content) => {
|
fs.readFile(path.resolve(this.config.appPath, cwd, p, 'package.json'), (err, content) => {
|
||||||
try {
|
try {
|
||||||
|
@ -83,7 +83,7 @@ module.exports = async function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Initialize array.
|
// Initialize array.
|
||||||
let previousDependencies = this.hook[hook].dependencies.map(x => x.replace('strapi-', '')) || [];
|
let previousDependencies = this.hook[hook].dependencies.map(x => x.replace('strapi-hook', '')) || [];
|
||||||
|
|
||||||
// Add BEFORE middlewares to load and remove the current one
|
// Add BEFORE middlewares to load and remove the current one
|
||||||
// to avoid that it waits itself.
|
// to avoid that it waits itself.
|
||||||
|
@ -99,17 +99,17 @@ shell.cd('../strapi-generate-new');
|
|||||||
watcher('', 'npm install ../strapi-utils');
|
watcher('', 'npm install ../strapi-utils');
|
||||||
watcher('📦 Linking strapi-generate-new', 'npm link');
|
watcher('📦 Linking strapi-generate-new', 'npm link');
|
||||||
|
|
||||||
shell.cd('../strapi-mongoose');
|
shell.cd('../strapi-hook-mongoose');
|
||||||
watcher('', 'npm install ../strapi-utils');
|
watcher('', 'npm install ../strapi-utils');
|
||||||
watcher('📦 Linking strapi-mongoose...', 'npm link');
|
watcher('📦 Linking strapi-hook-mongoose...', 'npm link');
|
||||||
|
|
||||||
shell.cd('../strapi-knex');
|
shell.cd('../strapi-hook-knex');
|
||||||
watcher('📦 Linking strapi-knex...', 'npm link');
|
watcher('📦 Linking strapi-hook-knex...', 'npm link');
|
||||||
|
|
||||||
shell.cd('../strapi-bookshelf');
|
shell.cd('../strapi-hook-bookshelf');
|
||||||
watcher('', 'npm install ../strapi-utils');
|
watcher('', 'npm install ../strapi-utils');
|
||||||
watcher('', 'npm install ../strapi-knex');
|
watcher('', 'npm install ../strapi-hook-knex');
|
||||||
watcher('📦 Linking strapi-bookshelf...', 'npm link');
|
watcher('📦 Linking strapi-hook-bookshelf...', 'npm link');
|
||||||
|
|
||||||
shell.cd('../strapi');
|
shell.cd('../strapi');
|
||||||
watcher('', 'npm install ../strapi-generate ../strapi-generate-admin ../strapi-generate-api ../strapi-generate-new ../strapi-generate-plugin ../strapi-generate-policy ../strapi-generate-service ../strapi-utils');
|
watcher('', 'npm install ../strapi-generate ../strapi-generate-admin ../strapi-generate-api ../strapi-generate-new ../strapi-generate-plugin ../strapi-generate-policy ../strapi-generate-service ../strapi-utils');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user