function pluginsInstallation() {
    // Define the list of default plugins.
    const defaultPlugins = [{
      name: 'settings-manager',
      core: true
    }, {
      name: 'content-type-builder',
      core: true
    }, {
      name: 'content-manager',
      core: true
    }, {
      name: 'users-permissions',
      core: true
    }, {
      name: 'email',
      core: true
    },{
      name: 'upload',
      core: true
    }];

    // Install each plugin.
    defaultPlugins.forEach(defaultPlugin => {
      try {
        execSync(`node ${strapiBin} install ${defaultPlugin.name} ${scope.developerMode && defaultPlugin.core ? '--dev' : ''}`);
        logger.info(`The plugin ${defaultPlugin.name} has been successfully installed.`);
      } catch (error) {
        logger.error(`An error occurred during ${defaultPlugin.name} plugin installation.`);
        logger.error(error);
      }
    });

    // Link dependencies.
    availableDependencies.forEach(dependency => {
      logger.info(`Linking \`${dependency.key}\` dependency to the project...`);

      if (dependency.global) {
        try {
          fs.accessSync(dependency.path, fs.constants.R_OK | fs.constants.F_OK);
          fs.symlinkSync(dependency.path, path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir');
        } catch (e) {
          // Silent.
        }
      } else {
        try {
          fs.accessSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), fs.constants.R_OK | fs.constants.F_OK);
          fs.symlinkSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir');
        } catch (e) {
          // Silent.
        }
      }
    });

    logger.info('Your new application `' + scope.name + '` is ready at `' + scope.rootPath + '`.');

    logger.info('We are almost there !!!');
    logger.info('cd ' + scope.name);
    logger.info('strapi start');
    logger.info('Open your browser to http://localhost:1337');
    logger.info('Enjoy your strapi project :)');

    cb();
  }
// Install default plugins and link dependencies.
Install default plugins and link dependencies.
Install default plugins and link dependencies .
function pluginsInstallation() {
    const defaultPlugins = [{
      name: 'settings-manager',
      core: true
    }, {
      name: 'content-type-builder',
      core: true
    }, {
      name: 'content-manager',
      core: true
    }, {
      name: 'users-permissions',
      core: true
    }, {
      name: 'email',
      core: true
    },{
      name: 'upload',
      core: true
    }];
    defaultPlugins.forEach(defaultPlugin => {
      try {
        execSync(`node ${strapiBin} install ${defaultPlugin.name} ${scope.developerMode && defaultPlugin.core ? '--dev' : ''}`);
        logger.info(`The plugin ${defaultPlugin.name} has been successfully installed.`);
      } catch (error) {
        logger.error(`An error occurred during ${defaultPlugin.name} plugin installation.`);
        logger.error(error);
      }
    });
    availableDependencies.forEach(dependency => {
      logger.info(`Linking \`${dependency.key}\` dependency to the project...`);
      if (dependency.global) {
        try {
          fs.accessSync(dependency.path, fs.constants.R_OK | fs.constants.F_OK);
          fs.symlinkSync(dependency.path, path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir');
        } catch (e) {
        }
      } else {
        try {
          fs.accessSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), fs.constants.R_OK | fs.constants.F_OK);
          fs.symlinkSync(path.resolve(scope.strapiRoot, 'node_modules', dependency.key), path.resolve(scope.rootPath, 'node_modules', dependency.key), 'dir');
        } catch (e) {
        }
      }
    });
    logger.info('Your new application `' + scope.name + '` is ready at `' + scope.rootPath + '`.');
    logger.info('We are almost there !!!');
    logger.info('cd ' + scope.name);
    logger.info('strapi start');
    logger.info('Open your browser to http://localhost:1337');
    logger.info('Enjoy your strapi project :)');
    cb();
  }
function pluginsInstallation ( ) { const defaultPlugins = [ { name : 'settings-manager' , core : true } , { name : 'content-type-builder' , core : true } , { name : 'content-manager' , core : true } , { name : 'users-permissions' , core : true } , { name : 'email' , core : true } , { name : 'upload' , core : true } ] ; defaultPlugins . forEach ( defaultPlugin => { try { execSync ( ` ${ strapiBin } ${ defaultPlugin . name } ${ scope . developerMode && defaultPlugin . core ? '--dev' : '' } ` ) ; logger . info ( ` ${ defaultPlugin . name } ` ) ; } catch ( error ) { logger . error ( ` ${ defaultPlugin . name } ` ) ; logger . error ( error ) ; } } ) ; availableDependencies . forEach ( dependency => { logger . info ( ` \` ${ dependency . key } \` ` ) ; if ( dependency . global ) { try { fs . accessSync ( dependency . path , fs . constants . R_OK | fs . constants . F_OK ) ; fs . symlinkSync ( dependency . path , path . resolve ( scope . rootPath , 'node_modules' , dependency . key ) , 'dir' ) ; } catch ( e ) { } } else { try { fs . accessSync ( path . resolve ( scope . strapiRoot , 'node_modules' , dependency . key ) , fs . constants . R_OK | fs . constants . F_OK ) ; fs . symlinkSync ( path . resolve ( scope . strapiRoot , 'node_modules' , dependency . key ) , path . resolve ( scope . rootPath , 'node_modules' , dependency . key ) , 'dir' ) ; } catch ( e ) { } } } ) ; logger . info ( 'Your new application `' + scope . name + '` is ready at `' + scope . rootPath + '`.' ) ; logger . info ( 'We are almost there !!!' ) ; logger . info ( 'cd ' + scope . name ) ; logger . info ( 'strapi start' ) ; logger . info ( 'Open your browser to http://localhost:1337' ) ; logger . info ( 'Enjoy your strapi project :)' ) ; cb ( ) ; }
Install default plugins and link dependencies.
Install default plugins and link dependencies .
// Define the list of default plugins. // Install each plugin. // Link dependencies. // Silent. // Silent.