@lando/drupal 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.lando.yml +1 -2
- package/CHANGELOG.md +18 -0
- package/LICENSE +21 -0
- package/README.md +20 -27
- package/builders/_drupaly.js +27 -20
- package/builders/drupal-mariadb.js +1 -1
- package/builders/drupal-mssql.js +1 -1
- package/builders/drupal-mysql.js +7 -1
- package/builders/drupal-nginx.js +1 -1
- package/builders/drupal-php.js +18 -19
- package/builders/drupal-postgres.js +1 -1
- package/builders/drupal10.js +1 -1
- package/builders/drupal6.js +3 -2
- package/builders/drupal9.js +1 -1
- package/config/drupal11/mysql8.cnf +44 -92
- package/inits/drupal10.js +5 -0
- package/inits/drupal11.js +7 -0
- package/inits/drupal6.js +4 -0
- package/inits/drupal7.js +3 -0
- package/inits/drupal8.js +3 -0
- package/inits/drupal9.js +5 -0
- package/netlify.toml +17 -1
- package/node_modules/@lando/mariadb/.lando.yml +1 -1
- package/node_modules/@lando/mariadb/.node-version +1 -1
- package/node_modules/@lando/mariadb/CHANGELOG.md +8 -1
- package/node_modules/@lando/mariadb/LICENSE +21 -0
- package/node_modules/@lando/mariadb/README.md +5 -2
- package/node_modules/@lando/mariadb/builders/mariadb.js +25 -22
- package/node_modules/@lando/mariadb/netlify.toml +9 -2
- package/node_modules/@lando/mariadb/package.json +8 -8
- package/node_modules/@lando/mysql/.lando.yml +1 -1
- package/node_modules/@lando/mysql/CHANGELOG.md +10 -0
- package/node_modules/@lando/mysql/LICENSE +21 -0
- package/node_modules/@lando/mysql/README.md +5 -2
- package/node_modules/@lando/mysql/builders/mysql.js +9 -5
- package/node_modules/@lando/mysql/netlify.toml +9 -0
- package/node_modules/@lando/mysql/package.json +8 -8
- package/node_modules/@lando/php/.lando.yml +1 -1
- package/node_modules/@lando/php/CHANGELOG.md +35 -1
- package/node_modules/@lando/php/LICENSE +21 -0
- package/node_modules/@lando/php/README.md +5 -2
- package/node_modules/@lando/php/builders/php.js +68 -15
- package/node_modules/@lando/php/images/5.6-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/5.6-fpm/Dockerfile +0 -5
- package/node_modules/@lando/php/images/7.0-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.0-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.1-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.1-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.2-apache/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.2-fpm/Dockerfile +0 -4
- package/node_modules/@lando/php/images/7.3-apache/Dockerfile +0 -3
- package/node_modules/@lando/php/images/7.3-fpm/Dockerfile +0 -3
- package/node_modules/@lando/php/images/7.4-apache/Dockerfile +45 -55
- package/node_modules/@lando/php/images/7.4-fpm/Dockerfile +59 -69
- package/node_modules/@lando/php/images/8.0-apache/Dockerfile +45 -56
- package/node_modules/@lando/php/images/8.0-fpm/Dockerfile +45 -56
- package/node_modules/@lando/php/images/8.1-apache/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.1-fpm/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.2-apache/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.2-fpm/Dockerfile +12 -2
- package/node_modules/@lando/php/images/8.3-apache/Dockerfile +24 -4
- package/node_modules/@lando/php/images/8.3-fpm/Dockerfile +25 -4
- package/node_modules/@lando/php/images/8.4-apache/Dockerfile +27 -4
- package/node_modules/@lando/php/images/8.4-fpm/Dockerfile +27 -4
- package/node_modules/@lando/php/netlify.toml +10 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/.lando.yml +1 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/.node-version +1 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/CHANGELOG.md +9 -1
- package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE +21 -0
- package/node_modules/@lando/php/node_modules/@lando/nginx/README.md +5 -2
- package/node_modules/@lando/php/node_modules/@lando/nginx/builders/nginx.js +34 -15
- package/node_modules/@lando/php/node_modules/@lando/nginx/netlify.toml +9 -4
- package/node_modules/@lando/php/node_modules/@lando/nginx/package.json +8 -8
- package/node_modules/@lando/php/package.json +10 -10
- package/node_modules/@lando/php/scripts/install-composer.sh +4 -0
- package/node_modules/@lando/php/utils/add-build-step.js +17 -3
- package/node_modules/@lando/php/utils/get-install-commands.js +19 -3
- package/node_modules/@lando/postgres/.lando.yml +1 -1
- package/node_modules/@lando/postgres/CHANGELOG.md +11 -0
- package/node_modules/@lando/postgres/LICENSE +21 -0
- package/node_modules/@lando/postgres/README.md +5 -2
- package/node_modules/@lando/postgres/builders/postgres.js +9 -9
- package/node_modules/@lando/postgres/netlify.toml +9 -4
- package/node_modules/@lando/postgres/package.json +8 -8
- package/node_modules/semver/README.md +14 -4
- package/node_modules/semver/bin/semver.js +4 -1
- package/node_modules/semver/classes/comparator.js +2 -0
- package/node_modules/semver/classes/index.js +2 -0
- package/node_modules/semver/classes/range.js +2 -0
- package/node_modules/semver/classes/semver.js +22 -5
- package/node_modules/semver/functions/clean.js +2 -0
- package/node_modules/semver/functions/cmp.js +2 -0
- package/node_modules/semver/functions/coerce.js +2 -0
- package/node_modules/semver/functions/compare-build.js +2 -0
- package/node_modules/semver/functions/compare-loose.js +2 -0
- package/node_modules/semver/functions/compare.js +2 -0
- package/node_modules/semver/functions/diff.js +7 -12
- package/node_modules/semver/functions/eq.js +2 -0
- package/node_modules/semver/functions/gt.js +2 -0
- package/node_modules/semver/functions/gte.js +2 -0
- package/node_modules/semver/functions/inc.js +2 -0
- package/node_modules/semver/functions/lt.js +2 -0
- package/node_modules/semver/functions/lte.js +2 -0
- package/node_modules/semver/functions/major.js +2 -0
- package/node_modules/semver/functions/minor.js +2 -0
- package/node_modules/semver/functions/neq.js +2 -0
- package/node_modules/semver/functions/parse.js +2 -0
- package/node_modules/semver/functions/patch.js +2 -0
- package/node_modules/semver/functions/prerelease.js +2 -0
- package/node_modules/semver/functions/rcompare.js +2 -0
- package/node_modules/semver/functions/rsort.js +2 -0
- package/node_modules/semver/functions/satisfies.js +2 -0
- package/node_modules/semver/functions/sort.js +2 -0
- package/node_modules/semver/functions/valid.js +2 -0
- package/node_modules/semver/index.js +2 -0
- package/node_modules/semver/internal/constants.js +2 -0
- package/node_modules/semver/internal/debug.js +2 -0
- package/node_modules/semver/internal/identifiers.js +2 -0
- package/node_modules/semver/internal/lrucache.js +2 -0
- package/node_modules/semver/internal/parse-options.js +2 -0
- package/node_modules/semver/internal/re.js +10 -4
- package/node_modules/semver/package.json +8 -7
- package/node_modules/semver/preload.js +2 -0
- package/node_modules/semver/ranges/gtr.js +2 -0
- package/node_modules/semver/ranges/intersects.js +2 -0
- package/node_modules/semver/ranges/ltr.js +2 -0
- package/node_modules/semver/ranges/max-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-satisfying.js +2 -0
- package/node_modules/semver/ranges/min-version.js +2 -0
- package/node_modules/semver/ranges/outside.js +2 -0
- package/node_modules/semver/ranges/simplify.js +2 -0
- package/node_modules/semver/ranges/subset.js +2 -0
- package/node_modules/semver/ranges/to-comparators.js +2 -0
- package/node_modules/semver/ranges/valid.js +2 -0
- package/package.json +13 -13
- package/LICENSE.md +0 -674
- package/PRIVACY.md +0 -169
- package/node_modules/@lando/mariadb/LICENSE.md +0 -674
- package/node_modules/@lando/mariadb/PRIVACY.md +0 -169
- package/node_modules/@lando/mariadb/tmpfile +0 -0
- package/node_modules/@lando/mysql/.tool-versions +0 -1
- package/node_modules/@lando/mysql/LICENSE.md +0 -674
- package/node_modules/@lando/mysql/PRIVACY.md +0 -169
- package/node_modules/@lando/php/LICENSE.md +0 -674
- package/node_modules/@lando/php/PRIVACY.md +0 -169
- package/node_modules/@lando/php/node_modules/@lando/nginx/LICENSE.md +0 -674
- package/node_modules/@lando/php/node_modules/@lando/nginx/PRIVACY.md +0 -169
- package/node_modules/@lando/postgres/LICENSE.md +0 -674
- package/node_modules/@lando/postgres/PRIVACY.md +0 -169
package/.lando.yml
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
|
|
2
2
|
|
|
3
|
+
## v1.13.0 - [September 17, 2025](https://github.com/lando/drupal/releases/tag/v1.13.0)
|
|
4
|
+
|
|
5
|
+
* Added default config values to the `.lando.yml` file after init.
|
|
6
|
+
* Switched images to [bitnamilegacy](https://github.com/bitnami/containers/issues/83267) namespace
|
|
7
|
+
* Updated to [@lando/mariadb@1.7.0](https://github.com/lando/mariadb/releases/tag/v1.7.0)
|
|
8
|
+
* Updated to [@lando/mysql@1.6.0](https://github.com/lando/mysql/releases/tag/v1.6.0)
|
|
9
|
+
* Updated to [@lando/php@1.8.0](https://github.com/lando/php/releases/tag/v1.8.0)
|
|
10
|
+
* Updated to [@lando/postgres@1.5.0](https://github.com/lando/postgres/releases/tag/v1.5.0)
|
|
11
|
+
* Updated default `nginx` version to `1.29`
|
|
12
|
+
* Updated MySQL config for better MySQL 8.4 support.
|
|
13
|
+
|
|
14
|
+
## v1.12.0 - [January 16, 2025](https://github.com/lando/drupal/releases/tag/v1.12.0)
|
|
15
|
+
|
|
16
|
+
* Updated globally installed Drush to `v8.5.0`.
|
|
17
|
+
* Added docs for setting up [Drupal CMS](https://drupal.org/docs/drupal-cms).
|
|
18
|
+
* Updated to [@lando/php@1.7.1](https://github.com/lando/php/releases/tag/v1.7.1).
|
|
19
|
+
* Updated to [@lando/mysql@1.5.0](https://github.com/lando/mysql/releases/tag/v1.5.0).
|
|
20
|
+
|
|
3
21
|
## v1.11.0 - [December 9, 2024](https://github.com/lando/drupal/releases/tag/v1.11.0)
|
|
4
22
|
|
|
5
23
|
* Optimized for `midcore`
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Lando Alliance
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This is the _official_ [Lando](https://lando.dev) plugin for [Drupal](https://www.drupal.org/). When installed it...
|
|
4
4
|
|
|
5
5
|
* Allows users to run `drupal` cms
|
|
6
|
-
* Allows users to configure `php` version from `5.3` all the way to `8.
|
|
6
|
+
* Allows users to configure `php` version from `5.3` all the way to `8.4+`
|
|
7
7
|
* Allows users to configure `webroot`
|
|
8
8
|
* Allows users to configure web server to (`apache` or `nginx`)
|
|
9
9
|
* Allows users to configure database backend to (`mariadb`, `mysql`, or `postgres`)
|
|
@@ -15,11 +15,15 @@ Of course, once a user is running their Drupal project with Lando they can take
|
|
|
15
15
|
|
|
16
16
|
## Basic Usage
|
|
17
17
|
|
|
18
|
-
Add a `
|
|
18
|
+
Add a `drupal11` recipe to your Landofile
|
|
19
19
|
|
|
20
20
|
```yaml
|
|
21
|
-
name: Drupal
|
|
22
|
-
recipe:
|
|
21
|
+
name: Drupal 11
|
|
22
|
+
recipe: drupal11
|
|
23
|
+
config:
|
|
24
|
+
php: 8.3
|
|
25
|
+
via: apache:2.4
|
|
26
|
+
database: mysql:8.0
|
|
23
27
|
```
|
|
24
28
|
|
|
25
29
|
For more info you should check out the [docs](https://docs.lando.dev/drupal):
|
|
@@ -35,14 +39,11 @@ For more info you should check out the [docs](https://docs.lando.dev/drupal):
|
|
|
35
39
|
```bash
|
|
36
40
|
# With npm
|
|
37
41
|
npm install @lando/drupal
|
|
38
|
-
|
|
39
|
-
# With yarn
|
|
40
|
-
yarn add @lando/drupal
|
|
41
42
|
```
|
|
42
43
|
|
|
43
44
|
## Issues, Questions and Support
|
|
44
45
|
|
|
45
|
-
If you have a question or would like some community support we recommend you [join us on Slack](https://launchpass.com/devwithlando).
|
|
46
|
+
If you have a question or would like some community support we recommend you [join us on Slack](https://launchpass.com/devwithlando).
|
|
46
47
|
|
|
47
48
|
If you'd like to report a bug or submit a feature request then please [use the issue queue](https://github.com/lando/drupal/issues/new/choose) in this repo.
|
|
48
49
|
|
|
@@ -53,40 +54,27 @@ We try to log all changes big and small in both [THE CHANGELOG](https://github.c
|
|
|
53
54
|
|
|
54
55
|
## Development
|
|
55
56
|
|
|
56
|
-
* Requires [Node
|
|
57
|
-
* Prefers [Yarn](https://classic.yarnpkg.com/lang/en/docs/install)
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
git clone https://github.com/lando/drupal.git && cd drupal
|
|
61
|
-
yarn install
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
If you don't want to install Node 18 or Yarn for whatever reason you can install [Lando](https://docs.lando.dev/basics/installation.html) and use that:
|
|
57
|
+
* Requires [Node 20+](https://nodejs.org/dist/latest-v20.x/)
|
|
65
58
|
|
|
66
59
|
```bash
|
|
67
60
|
git clone https://github.com/lando/drupal.git && cd drupal
|
|
68
|
-
|
|
69
|
-
lando start
|
|
70
|
-
|
|
71
|
-
# Run commands
|
|
72
|
-
lando node
|
|
73
|
-
lando yarn
|
|
61
|
+
npm install
|
|
74
62
|
```
|
|
75
63
|
|
|
76
64
|
## Testing
|
|
77
65
|
|
|
78
66
|
```bash
|
|
79
67
|
# Lint the code
|
|
80
|
-
|
|
68
|
+
npm run lint
|
|
81
69
|
|
|
82
70
|
# Run unit tests
|
|
83
|
-
|
|
71
|
+
npm test
|
|
84
72
|
```
|
|
85
73
|
|
|
86
74
|
## Releasing
|
|
87
75
|
|
|
88
76
|
```bash
|
|
89
|
-
|
|
77
|
+
npm release
|
|
90
78
|
```
|
|
91
79
|
|
|
92
80
|
|
|
@@ -94,6 +82,7 @@ yarn release
|
|
|
94
82
|
|
|
95
83
|
* [@pirog](https://github.com/pirog)
|
|
96
84
|
* [@reynoldsalec](https://github.com/reynoldsalec)
|
|
85
|
+
* [@AaronFeledy](https://github.com/AaronFeledy)
|
|
97
86
|
|
|
98
87
|
## Contributors
|
|
99
88
|
|
|
@@ -105,4 +94,8 @@ Made with [contributors-img](https://contrib.rocks).
|
|
|
105
94
|
|
|
106
95
|
## Other Resources
|
|
107
96
|
|
|
108
|
-
* [
|
|
97
|
+
* [LICENSE](/LICENSE)
|
|
98
|
+
* [TERMS OF USE](https://docs.lando.dev/terms)
|
|
99
|
+
* [PRIVACY POLICY](https://docs.lando.dev/privacy)
|
|
100
|
+
* [CODE OF CONDUCT](https://docs.lando.dev/coc)
|
|
101
|
+
|
package/builders/_drupaly.js
CHANGED
|
@@ -9,7 +9,7 @@ const utils = require('../lib/utils.js');
|
|
|
9
9
|
const warnings = require('../lib/warnings.js');
|
|
10
10
|
|
|
11
11
|
// "Constants"
|
|
12
|
-
const DRUSH8 = '8.
|
|
12
|
+
const DRUSH8 = '8.5.0';
|
|
13
13
|
const DRUSH7 = '7.4.0';
|
|
14
14
|
|
|
15
15
|
// Tooling defaults
|
|
@@ -147,7 +147,7 @@ const getServices = options => ({
|
|
|
147
147
|
},
|
|
148
148
|
database: {
|
|
149
149
|
config: getServiceConfig(options, ['database']),
|
|
150
|
-
authentication: '
|
|
150
|
+
authentication: '',
|
|
151
151
|
type: `drupal-${options.database}`,
|
|
152
152
|
portforward: true,
|
|
153
153
|
creds: {
|
|
@@ -162,13 +162,11 @@ const getServices = options => ({
|
|
|
162
162
|
* Helper to get the phar build command
|
|
163
163
|
*/
|
|
164
164
|
const getDbTooling = database => {
|
|
165
|
-
|
|
166
|
-
const db = database.split(':')[0];
|
|
167
|
-
const ver = database.split(':')[1];
|
|
165
|
+
const [db, ver] = database.split(':');
|
|
168
166
|
// Choose wisely
|
|
169
167
|
if (db === 'mysql') {
|
|
170
168
|
return {mysql: mysqlCli};
|
|
171
|
-
} else if (db === 'mariadb' && ver
|
|
169
|
+
} else if (db === 'mariadb' && semver.lt(semver.coerce(ver), '10.4.0')) {
|
|
172
170
|
// Use mysql command for MariaDB 10.3.x and below
|
|
173
171
|
return {mysql: mysqlCli};
|
|
174
172
|
} else if (db === 'mariadb') {
|
|
@@ -176,10 +174,12 @@ const getDbTooling = database => {
|
|
|
176
174
|
} else if (db === 'postgres') {
|
|
177
175
|
return {psql: postgresCli};
|
|
178
176
|
} else if (db === 'mongo') {
|
|
179
|
-
return {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
return {
|
|
178
|
+
mongo: {
|
|
179
|
+
service: 'database',
|
|
180
|
+
description: 'Drop into the mongo shell',
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
185
|
|
|
@@ -228,15 +228,17 @@ module.exports = {
|
|
|
228
228
|
composer: {},
|
|
229
229
|
confSrc: __dirname,
|
|
230
230
|
config: {},
|
|
231
|
-
database: 'mysql',
|
|
231
|
+
database: 'mysql:5.7',
|
|
232
232
|
defaultFiles: {
|
|
233
233
|
php: 'php.ini',
|
|
234
234
|
},
|
|
235
235
|
php: '7.2',
|
|
236
|
-
tooling: {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
236
|
+
tooling: {
|
|
237
|
+
drush: {
|
|
238
|
+
service: 'appserver',
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
via: 'apache:2.4',
|
|
240
242
|
webroot: '.',
|
|
241
243
|
xdebug: false,
|
|
242
244
|
proxy: {},
|
|
@@ -244,6 +246,7 @@ module.exports = {
|
|
|
244
246
|
builder: (parent, config) => class LandoDrupal extends parent {
|
|
245
247
|
constructor(id, options = {}) {
|
|
246
248
|
options = _.merge({}, config, options);
|
|
249
|
+
|
|
247
250
|
// Set the default drush version if we don't have it
|
|
248
251
|
if (!_.has(options, 'drush')) options.drush = (options.php === '5.3') ? DRUSH7 : DRUSH8;
|
|
249
252
|
|
|
@@ -264,12 +267,16 @@ module.exports = {
|
|
|
264
267
|
}
|
|
265
268
|
|
|
266
269
|
// Set legacy envars
|
|
267
|
-
options.services = _.merge({}, options.services, {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
270
|
+
options.services = _.merge({}, options.services, {
|
|
271
|
+
appserver: {
|
|
272
|
+
overrides: {
|
|
273
|
+
environment: {
|
|
274
|
+
SIMPLETEST_BASE_URL: (options.via === 'nginx') ? 'https://appserver_nginx' : 'https://appserver',
|
|
275
|
+
SIMPLETEST_DB: `mysql://${options.recipe}:${options.recipe}@database/${options.recipe}`,
|
|
276
|
+
},
|
|
277
|
+
},
|
|
271
278
|
},
|
|
272
|
-
}
|
|
279
|
+
});
|
|
273
280
|
|
|
274
281
|
// Switch the proxy service if needed
|
|
275
282
|
if (!_.has(options, 'proxyService')) {
|
package/builders/drupal-mssql.js
CHANGED
package/builders/drupal-mysql.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const _ = require('lodash');
|
|
4
|
-
const
|
|
4
|
+
const semver = require('semver');
|
|
5
|
+
const LandoMysql = require('@lando/mysql/builders/mysql.js');
|
|
5
6
|
|
|
6
7
|
// Builder
|
|
7
8
|
module.exports = {
|
|
@@ -9,6 +10,11 @@ module.exports = {
|
|
|
9
10
|
parent: '_service',
|
|
10
11
|
builder: parent => class DrupalMysql extends LandoMysql.builder(parent, LandoMysql.config) {
|
|
11
12
|
constructor(id, options = {}) {
|
|
13
|
+
// Versions of MySQL prior to 8.4 use mysql_native_password authentication
|
|
14
|
+
if (!options.authentication && semver.lt(semver.coerce(options.version), '8.4.0')) {
|
|
15
|
+
options.authentication = 'mysql_native_password';
|
|
16
|
+
}
|
|
17
|
+
|
|
12
18
|
super(id, options, {services: _.set({}, options.name)});
|
|
13
19
|
}
|
|
14
20
|
},
|
package/builders/drupal-nginx.js
CHANGED
package/builders/drupal-php.js
CHANGED
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const
|
|
4
|
-
const fs = require('fs');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
const landoPhpPath = path.join(__dirname, '../node_modules/@lando/php');
|
|
7
|
-
const LandoPhp = require(`${landoPhpPath}/builders/php.js`);
|
|
3
|
+
const LandoPhp = require('@lando/php/builders/php.js');
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
lando.utils.makeExecutable(fs.readdirSync(dest), dest);
|
|
16
|
-
lando.log.debug('automoved scripts from %s to %s and set to mode 755',
|
|
17
|
-
path.join(landoPhpPath, 'scripts'), confDir);
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
// Builder
|
|
5
|
+
/**
|
|
6
|
+
* Drupal PHP builder class that extends Lando PHP builder.
|
|
7
|
+
* Uses the bundled version of @lando/php plugin instead of user's version.
|
|
8
|
+
*
|
|
9
|
+
* @module drupal-php
|
|
10
|
+
*/
|
|
22
11
|
module.exports = {
|
|
23
12
|
name: 'drupal-php',
|
|
24
13
|
parent: '_appserver',
|
|
14
|
+
/**
|
|
15
|
+
* Builder function that returns the DrupalPhp class
|
|
16
|
+
* @param {Object} parent - Parent builder class
|
|
17
|
+
* @return {Class} DrupalPhp class extending LandoPhp builder
|
|
18
|
+
*/
|
|
25
19
|
builder: parent => class DrupalPhp extends LandoPhp.builder(parent, LandoPhp.config) {
|
|
20
|
+
/**
|
|
21
|
+
* Create a new DrupalPhp instance
|
|
22
|
+
* @param {string} id - Service id
|
|
23
|
+
* @param {Object} options - Service options
|
|
24
|
+
* @param {Object} factory - App factory instance
|
|
25
|
+
*/
|
|
26
26
|
constructor(id, options = {}, factory) {
|
|
27
|
-
loadScripts(options);
|
|
28
27
|
options.nginxServiceType = 'drupal-nginx';
|
|
29
28
|
super(id, options, factory);
|
|
30
29
|
}
|
package/builders/drupal10.js
CHANGED
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
// Set drush to false
|
|
28
28
|
options.drush = false;
|
|
29
29
|
|
|
30
|
-
// Let's make sure we set
|
|
30
|
+
// Let's make sure we set appropriate default versions for things
|
|
31
31
|
// See: https://www.drupal.org/docs/system-requirements/database-server-requirements
|
|
32
32
|
if (_.get(options, 'database') === 'mysql') {
|
|
33
33
|
options.database = 'mysql:5.7';
|
package/builders/drupal6.js
CHANGED
|
@@ -14,8 +14,9 @@ module.exports = {
|
|
|
14
14
|
confSrc: path.resolve(__dirname, '..', 'config', 'drupal6'),
|
|
15
15
|
defaultFiles: {},
|
|
16
16
|
php: '5.6',
|
|
17
|
-
// @NOTE: below seems to be the last known
|
|
18
|
-
// drush si -y
|
|
17
|
+
// @NOTE: below seems to be the last known Drupal 6 compatible
|
|
18
|
+
// drush version that let you do drush si -y successfully.
|
|
19
|
+
// @see https://github.com/drush-ops/drush/issues/218#issuecomment-2580619527
|
|
19
20
|
drush: '8.4.5',
|
|
20
21
|
},
|
|
21
22
|
builder: (parent, config) => class LandoDrupal6 extends parent {
|
package/builders/drupal9.js
CHANGED
|
@@ -27,7 +27,7 @@ module.exports = {
|
|
|
27
27
|
// Set drush to false
|
|
28
28
|
options.drush = false;
|
|
29
29
|
|
|
30
|
-
// Let's make sure we set
|
|
30
|
+
// Let's make sure we set appropriate default versions for things
|
|
31
31
|
// See: https://www.drupal.org/docs/9/how-drupal-9-is-made-and-what-is-included/environment-requirements-of-drupal-9
|
|
32
32
|
if (_.get(options, 'database') === 'mysql') {
|
|
33
33
|
options.database = 'mysql:5.7';
|
|
@@ -3,104 +3,56 @@
|
|
|
3
3
|
#
|
|
4
4
|
# LANDODRUPALMYSQL8CNF
|
|
5
5
|
|
|
6
|
-
[
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
default-storage-engine = innodb
|
|
6
|
+
[server]
|
|
7
|
+
# Character sets and SQL mode
|
|
8
|
+
character_set_server = utf8mb4
|
|
9
|
+
collation_server = utf8mb4_general_ci
|
|
10
|
+
sql_mode = ONLY_FULL_GROUP_BY,TRADITIONAL
|
|
12
11
|
|
|
13
|
-
#
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
max_allowed_packet
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
table_open_cache =
|
|
28
|
-
|
|
12
|
+
# Basic Tuning.
|
|
13
|
+
max_connections = 500
|
|
14
|
+
connect_timeout = 5
|
|
15
|
+
wait_timeout = 28800
|
|
16
|
+
max_allowed_packet = 32M
|
|
17
|
+
thread_cache_size = 128
|
|
18
|
+
sort_buffer_size = 4M
|
|
19
|
+
bulk_insert_buffer_size = 16M
|
|
20
|
+
tmp_table_size = 32M
|
|
21
|
+
max_heap_table_size = 32M
|
|
22
|
+
|
|
23
|
+
# MyISAM.
|
|
24
|
+
myisam_recover_options = BACKUP
|
|
25
|
+
key_buffer_size = 128M
|
|
26
|
+
table_open_cache = 400
|
|
27
|
+
myisam_sort_buffer_size = 512M
|
|
28
|
+
concurrent_insert = 2
|
|
29
29
|
read_buffer_size = 2M
|
|
30
|
+
read_rnd_buffer_size = 1M
|
|
30
31
|
|
|
31
|
-
#
|
|
32
|
-
|
|
33
|
-
#
|
|
34
|
-
# Both location gets rotated by the cronjob.
|
|
35
|
-
# Be aware that this log type is a performance killer.
|
|
36
|
-
# As of 5.1 you can enable the log at runtime!
|
|
37
|
-
#general_log_file = /src/.lando/log/mysql.log
|
|
38
|
-
#general_log = 1
|
|
39
|
-
#
|
|
40
|
-
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
|
|
41
|
-
#
|
|
42
|
-
# Here you can see queries with especially long duration
|
|
43
|
-
#log_slow_queries = /var/log/mysql/mysql-slow.log
|
|
44
|
-
#long_query_time = 2
|
|
45
|
-
#log-queries-not-using-indexes
|
|
46
|
-
#
|
|
47
|
-
# The following can be used as easy to replay backup logs or for replication.
|
|
48
|
-
# note: if you are setting up a replication slave, see README.Debian about
|
|
49
|
-
# other settings you may need to change.
|
|
50
|
-
#server-id = 1
|
|
51
|
-
#log_bin = /src/.lando/log/mysql-bin.log
|
|
52
|
-
expire_logs_days = 10
|
|
53
|
-
max_binlog_size = 101M
|
|
54
|
-
#binlog_do_db = include_database_name
|
|
55
|
-
#binlog_ignore_db = include_database_name
|
|
56
|
-
#
|
|
57
|
-
# * InnoDB
|
|
58
|
-
#
|
|
59
|
-
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
|
60
|
-
# Read the manual for more InnoDB related options. There are many!
|
|
61
|
-
#
|
|
62
|
-
# Uncomment the following if you are using InnoDB tables
|
|
63
|
-
#innodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextend
|
|
64
|
-
#innodb_log_group_home_dir = C:\mysql\data/
|
|
65
|
-
# You can set .._buffer_pool_size up to 50 - 80 %
|
|
66
|
-
# of RAM but beware of setting memory usage too high
|
|
67
|
-
#innodb_buffer_pool_size = 384M
|
|
68
|
-
#innodb_additional_mem_pool_size = 20M
|
|
69
|
-
# Set .._log_file_size to 25 % of buffer pool size
|
|
70
|
-
innodb_log_file_size = 100M
|
|
71
|
-
#innodb_log_buffer_size = 8M
|
|
72
|
-
innodb_flush_log_at_trx_commit = 0
|
|
73
|
-
#innodb_lock_wait_timeout = 50
|
|
32
|
+
# InnoDB.
|
|
33
|
+
default_storage_engine = InnoDB
|
|
74
34
|
innodb_buffer_pool_size = 384M
|
|
75
|
-
innodb_log_buffer_size
|
|
76
|
-
innodb_file_per_table
|
|
77
|
-
innodb_open_files
|
|
78
|
-
innodb_io_capacity
|
|
79
|
-
|
|
80
|
-
|
|
35
|
+
innodb_log_buffer_size = 8M
|
|
36
|
+
innodb_file_per_table = 1
|
|
37
|
+
innodb_open_files = 400
|
|
38
|
+
innodb_io_capacity = 512
|
|
39
|
+
innodb_thread_concurrency = 0
|
|
40
|
+
innodb_read_io_threads = 16
|
|
41
|
+
innodb_write_io_threads = 16
|
|
42
|
+
innodb_flush_log_at_trx_commit = 0
|
|
43
|
+
innodb_max_dirty_pages_pct = 70
|
|
44
|
+
innodb_adaptive_hash_index = 0
|
|
45
|
+
innodb_use_native_aio = 0
|
|
81
46
|
innodb_lock_wait_timeout = 127
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
#
|
|
90
|
-
# ssl-ca=/etc/mysql/cacert.pem
|
|
91
|
-
# ssl-cert=/etc/mysql/server-cert.pem
|
|
92
|
-
# ssl-key=/etc/mysql/server-key.pem
|
|
47
|
+
|
|
48
|
+
[mysqld-8.4]
|
|
49
|
+
mysql_native_password=ON
|
|
50
|
+
|
|
51
|
+
[client]
|
|
52
|
+
default_character_set=utf8mb4
|
|
53
|
+
max_allowed_packet = 64M
|
|
93
54
|
|
|
94
55
|
[mysqldump]
|
|
95
56
|
quick
|
|
96
57
|
quote-names
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
[mysql]
|
|
100
|
-
#no-auto-rehash # faster start of mysql but no tab completion
|
|
101
|
-
|
|
102
|
-
[isamchk]
|
|
103
|
-
key_buffer_size = 384M
|
|
104
|
-
sort_buffer_size = 256M
|
|
105
|
-
read_buffer = 2M
|
|
106
|
-
write_buffer = 2M
|
|
58
|
+
no-tablespaces
|
package/inits/drupal10.js
CHANGED
package/inits/drupal11.js
CHANGED
package/inits/drupal6.js
CHANGED
package/inits/drupal7.js
CHANGED
package/inits/drupal8.js
CHANGED
package/inits/drupal9.js
CHANGED
package/netlify.toml
CHANGED
|
@@ -10,7 +10,14 @@
|
|
|
10
10
|
[[context.deploy-preview.plugins]]
|
|
11
11
|
package = "netlify-plugin-checklinks"
|
|
12
12
|
[context.deploy-preview.plugins.inputs]
|
|
13
|
-
todoPatterns = [
|
|
13
|
+
todoPatterns = [
|
|
14
|
+
"load",
|
|
15
|
+
"CHANGELOG.html",
|
|
16
|
+
"x.com",
|
|
17
|
+
"twitter.com",
|
|
18
|
+
"https://www.drupal.org",
|
|
19
|
+
"/v/"
|
|
20
|
+
]
|
|
14
21
|
skipPatterns = [ ".rss", ".gif", ".jpg" ]
|
|
15
22
|
checkExternal = true
|
|
16
23
|
|
|
@@ -40,6 +47,15 @@
|
|
|
40
47
|
output_path = "reports/lighthouse.html"
|
|
41
48
|
|
|
42
49
|
# We need this so preview environments and the base site look ok on their own
|
|
50
|
+
[[redirects]]
|
|
51
|
+
from = "https://lando-drupal.netlify.app"
|
|
52
|
+
to = "https://lando-drupal.netlify.app/plugins/drupal/index.html"
|
|
53
|
+
status = 301
|
|
54
|
+
force = true
|
|
55
|
+
[[redirects]]
|
|
56
|
+
from = "https://lando-drupal.netlify.app/*"
|
|
57
|
+
to = "https://docs.lando.dev/:splat"
|
|
58
|
+
status = 301
|
|
43
59
|
[[redirects]]
|
|
44
60
|
from = "/"
|
|
45
61
|
to = "/plugins/drupal"
|