All Projects → acquia → Lightning Project

acquia / Lightning Project

A Composer-based installer for the Lightning distribution of Drupal 8.

Projects that are alternatives of or similar to Lightning Project

Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-31.39%)
Mutual labels:  drupal, composer
drupal8-composer-template
Project template for Drupal 8 projects with composer | Quick installation via "composer create-project woprrr/drupal8-composer-template:8.3.0"
Stars: ✭ 27 (-80.29%)
Mutual labels:  composer, drupal
Lightning
Lightning is a base distribution for fast and feature-rich Drupal. Please submit issues to our Drupal.Org queue here: https://www.drupal.org/project/issues/lightning
Stars: ✭ 196 (+43.07%)
Mutual labels:  drupal, lightning
drevops
💧 + 🐳 + ✓✓✓ + 🤖 + ❤️ Build, Test, Deploy scripts for Drupal using Docker and CI/CD
Stars: ✭ 55 (-59.85%)
Mutual labels:  composer, drupal
terminus-pancakes-plugin
Terminus Plugin to open Pantheon Site Databases in your Favorite SQL Client
Stars: ✭ 22 (-83.94%)
Mutual labels:  composer, drupal
docker-drupal
Docker scaffolding for Drupal 8
Stars: ✭ 41 (-70.07%)
Mutual labels:  composer, drupal
drupal-dev-docker
An opinionated Drupal development environment based on Docker.
Stars: ✭ 22 (-83.94%)
Mutual labels:  composer, drupal
Hookphp
HookPHP基于C扩展搭建内置AI编程的架构系统-支持微服务部署|热插拔业务组件-集成业务模型|权限模型|UI组件库|多模板|多平台|多域名|多终端|多语言-含常驻内存|前后分离|API平台|LUA QQ群:679116380
Stars: ✭ 575 (+319.71%)
Mutual labels:  drupal, composer
Drupal Project
🚀 Composer template for Drupal projects. Quick installation via "composer create-project drupal-composer/drupal-project"
Stars: ✭ 1,502 (+996.35%)
Mutual labels:  drupal, composer
Similar Text Finder
🐝 PHP Similar Text Finder aka Fuzzy search. `Did you mean "banana"?`
Stars: ✭ 126 (-8.03%)
Mutual labels:  composer
Foundation7
Drupal 7 theme built using ZURB Foundation Sites
Stars: ✭ 132 (-3.65%)
Mutual labels:  drupal
Docker Octobercms
Dockerized October CMS: PHP, Composer, October core and dependencies
Stars: ✭ 125 (-8.76%)
Mutual labels:  composer
Open social
Open Social install profile Drupal 8
Stars: ✭ 128 (-6.57%)
Mutual labels:  drupal
Release Belt
Composer repository implementation for ZIPs.
Stars: ✭ 133 (-2.92%)
Mutual labels:  composer
Grunt Drupal Tasks
Grunt-based build and testing tasks for Drupal
Stars: ✭ 125 (-8.76%)
Mutual labels:  drupal
Azuriom
Azuriom is a modern, reliable, fast and secure game CMS.
Stars: ✭ 135 (-1.46%)
Mutual labels:  composer
Phpcompatibility
PHP Compatibility check for PHP_CodeSniffer
Stars: ✭ 1,705 (+1144.53%)
Mutual labels:  composer
Smproxy
Swoole MySQL Proxy 一个基于 MySQL 协议,Swoole 开发的MySQL数据库连接池。 A MySQL database connection pool based on MySQL protocol and Swoole.
Stars: ✭ 1,665 (+1115.33%)
Mutual labels:  composer
Pdt
PHP Development Tools project (PDT)
Stars: ✭ 135 (-1.46%)
Mutual labels:  composer
Base Camp
Awesome WordPress starter theme for developers based on modern web technologies.
Stars: ✭ 135 (-1.46%)
Mutual labels:  composer

This is a Composer-based installer for the Lightning Drupal distribution. Welcome to the future!

Get Started

$ composer create-project acquia/lightning-project MY_PROJECT
$ cd MY_PROJECT && composer quick-start

This will create a functioning Lightning site, open a web browser, and log you into the site using Drupal's built-in Quick Start command. If you'd rather use your own database and web server, you can skip the second step above and install Lightning like you would any other Drupal site.

Normally, Composer will install all dependencies into a vendor directory that is next to docroot, not inside it. This may create problems in certain hosting environments, so if you need to, you can tell Composer to install dependencies into docroot/vendor instead:

$ composer create-project acquia/lightning-project MY_PROJECT --no-install
$ composer config vendor-dir docroot/vendor
$ cd MY_PROJECT
$ composer install

Either way, remember to keep the composer.json and composer.lock files that exist above docroot -- they are controlling your dependencies.

Maintenance

drush make, drush pm-download, drush pm-update and their ilk are the old-school way of maintaining your code base. Forget them. You're in Composer land now!

Let this handy table be your guide:

Task Drush Composer
Installing a contrib project (latest version) drush pm-download PROJECT composer require drupal/PROJECT
Installing a contrib project (specific version) drush pm-download PROJECT-8.x-1.0-beta3 composer require drupal/PROJECT:1.0.0-beta3
Installing a javascript library (e.g. dropzone) drush pm-download dropzone composer require bower-asset/dropzone
Updating all contrib projects and Drupal core drush pm-update composer update
Updating a single contrib project drush pm-update PROJECT composer update drupal/PROJECT
Updating Drupal core drush pm-update drupal composer update drupal/core

The magic is that Composer, unlike Drush, is a dependency manager. If module foo version: 1.0.0 depends on baz version: 3.2.0, Composer will not let you update baz to 3.3.0 (or downgrade it to 3.1.0, for that matter). Drush has no concept of dependency management. If you've ever accidentally hosed a site because of dependency issues like this, you've probably already realized how valuable Composer can be.

But to be clear: it is still very helpful to use a site management tool like Drush or Drupal Console. Tasks such as database updates (drush updatedb) are still firmly in the province of such utilities. This installer will install a copy of Drush (local to the project) in the bin directory.

Specifying a version

you can specify a version from the command line with:

$ composer require drupal/<modulename>:<version> 

For example:

$ composer require drupal/ctools:3.0.0-alpha26
$ composer require drupal/token:1.x-dev 

In these examples, the composer version 3.0.0-alpha26 maps to the drupal.org version 8.x-3.0-alpha26 and 1.x-dev maps to 8.x-1.x branch on drupal.org.

If you specify a branch, such as 1.x you must add -dev to the end of the version.

Composer is only responsible for maintaining the code base.

Source Control

If you peek at the .gitignore we provide, you'll see that certain directories, including all directories containing contributed projects, are excluded from source control. This might be a bit disconcerting if you're newly arrived from Planet Drush, but in a Composer-based project like this one, you SHOULD NOT commit your installed dependencies to source control.

When you set up the project, Composer will create a file called composer.lock, which is a list of which dependencies were installed, and in which versions. Commit composer.lock to source control! Then, when your colleagues want to spin up their own copies of the project, all they'll have to do is run composer install, which will install the correct versions of everything in composer.lock.

How do I update Drupal core?

It's counterintuitive, but don't add drupal/core to your project's composer.json! Lightning manages Drupal core for you, so adding a direct dependency on Drupal core is likely to cause problems for you in the future.

Lightning's minor versions correspond to Drupal core's. So, for example, acquia/lightning:~3.3.0 will require Drupal core 8.7.x. acquia/lightning:~3.2.0 requires Drupal core 8.6.x, and ~3.1.0 requires Drupal core 8.5.x. If you wanted to update Drupal core from (for instance) 8.6.x to 8.7.x, you would do this by changing your requirement for acquia/lightning, like so:

composer require --no-update acquia/lightning:~3.3.0
composer update

Compatibility table

acquia/lightning version Drupal core version Drush version
~5.0.0 9.0.x >=9.7
~4.1.0 8.8.x+ >=9.7
~4.0.0 8.7.x >=9.4
~3.4.0 8.8.x+ >=9.7
~3.3.0 8.7.x >=9.4
~3.2.0 8.6.x >=9.4
~3.1.0 8.5.x >=9.4
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].