Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@
"typecheck": "tsc"
},
"dependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-common": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.7.0",
"@docusaurus/core": "^3.8.1",
"@docusaurus/preset-classic": "^3.8.1",
"@docusaurus/theme-common": "^3.8.1",
"@docusaurus/theme-mermaid": "^3.8.1",
"@mdx-js/react": "^3.1.0",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.4.0",
Expand All @@ -31,7 +31,7 @@
"reactflow": "^11.11.4"
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.7.0",
"@docusaurus/module-type-aliases": "^3.8.1",
"@tsconfig/docusaurus": "^2.0.3",
"typescript": "^5.8.3"
},
Expand Down
3 changes: 3 additions & 0 deletions examples/stacks/drupal/.gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,9 @@
*.xml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2
*.yml text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tab-in-indent,tabwidth=2

# PHPStan's baseline uses tabs instead of spaces.
core/.phpstan-baseline.php text eol=lf whitespace=blank-at-eol,-blank-at-eof,-space-before-tab,tabwidth=2 diff=php linguist-language=php

# Define binary file attributes.
# - Do not treat them as text.
# - Include binary diff in patches instead of "binary files differ."
Expand Down
6 changes: 3 additions & 3 deletions examples/stacks/drupal/composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
],
"require": {
"composer/installers": "^1.9",
"drupal/core-composer-scaffold": "^10.2",
"drupal/core-project-message": "^10.2",
"drupal/core-recommended": "^10.2",
"drupal/core-composer-scaffold": "^10.3.14",
"drupal/core-project-message": "^10.3.14",
"drupal/core-recommended": "^10.3.14",
"drush/drush": "^12.4"
},
"conflict": {
Expand Down
1,113 changes: 471 additions & 642 deletions examples/stacks/drupal/composer.lock

Large diffs are not rendered by default.

188 changes: 188 additions & 0 deletions examples/stacks/drupal/devbox.lock
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,190 @@
}
}
},
"gawk@latest": {
"last_modified": "2025-06-20T02:24:11Z",
"resolved": "github:NixOS/nixpkgs/076e8c6678d8c54204abcb4b1b14c366835a58bb#gawk",
"source": "devbox-search",
"version": "5.3.2",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/kdfkv0klzis9jaaba1g0gf0cgllpjnbz-gawk-5.3.2",
"default": true
},
{
"name": "man",
"path": "/nix/store/1zcwxmb2aa3nqz0sa5flzj8q14ah7dcy-gawk-5.3.2-man",
"default": true
},
{
"name": "info",
"path": "/nix/store/jnlhmlrdxlvcali678mz01sgpjn95ncs-gawk-5.3.2-info"
}
],
"store_path": "/nix/store/kdfkv0klzis9jaaba1g0gf0cgllpjnbz-gawk-5.3.2"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/a8n59qawqhy5ih5n8sdg9ll7crv1fk6a-gawk-5.3.2",
"default": true
},
{
"name": "man",
"path": "/nix/store/6k9wzygpq8idh8ljzbf6p08ys8v64l4d-gawk-5.3.2-man",
"default": true
},
{
"name": "info",
"path": "/nix/store/mpdvvphbvwg1flnjm8pjjdn9z0fjna2q-gawk-5.3.2-info"
}
],
"store_path": "/nix/store/a8n59qawqhy5ih5n8sdg9ll7crv1fk6a-gawk-5.3.2"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/wdl0kwzniglqcny5hb4qg87hfld9psq5-gawk-5.3.2",
"default": true
},
{
"name": "man",
"path": "/nix/store/pzk91by11wdr1xqg6ka9n5vbwfvvw995-gawk-5.3.2-man",
"default": true
},
{
"name": "info",
"path": "/nix/store/laj3yx5nfmi8wcs69wnsbmjgqpjpg45l-gawk-5.3.2-info"
}
],
"store_path": "/nix/store/wdl0kwzniglqcny5hb4qg87hfld9psq5-gawk-5.3.2"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/nv3y7zb1cwz1h9qy7nwz0s54j8dl1kqj-gawk-5.3.2",
"default": true
},
{
"name": "man",
"path": "/nix/store/fszky5w8irnlysc3pribh6jgb67c17qr-gawk-5.3.2-man",
"default": true
},
{
"name": "info",
"path": "/nix/store/mv868jczhk4vlfsym7mmk4dkxy63xpwq-gawk-5.3.2-info"
}
],
"store_path": "/nix/store/nv3y7zb1cwz1h9qy7nwz0s54j8dl1kqj-gawk-5.3.2"
}
}
},
"gettext@latest": {
"last_modified": "2025-07-07T11:34:27Z",
"resolved": "github:NixOS/nixpkgs/0acc6a91343eb987397c27044a8d1fbcb374c265#gettext",
"source": "devbox-search",
"version": "0.22.5",
"systems": {
"aarch64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/i1cf5x10799v48g9x4hiks9bfd671ka5-gettext-0.22.5",
"default": true
},
{
"name": "man",
"path": "/nix/store/yyijkzw43sji9vmkvgp5xd59qhgcqk0i-gettext-0.22.5-man",
"default": true
},
{
"name": "doc",
"path": "/nix/store/hdbngsjdsz6rw0rs5201jwxgmig0bir9-gettext-0.22.5-doc"
},
{
"name": "info",
"path": "/nix/store/bn7zq16wifi5naccpjgx2wscbxrx1r9y-gettext-0.22.5-info"
}
],
"store_path": "/nix/store/i1cf5x10799v48g9x4hiks9bfd671ka5-gettext-0.22.5"
},
"aarch64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/4yw094fdf4hg71ffmkiciffzri75l52f-gettext-0.22.5",
"default": true
},
{
"name": "man",
"path": "/nix/store/aw19w3wzq8b2vbn0xbxygikz1192hd9f-gettext-0.22.5-man",
"default": true
},
{
"name": "doc",
"path": "/nix/store/1k64vvyzdiixl1sqb4j5gr3s0jaw36mb-gettext-0.22.5-doc"
},
{
"name": "info",
"path": "/nix/store/9x2h9jkx962sv43ifh3j7qrfgy2a1b4p-gettext-0.22.5-info"
}
],
"store_path": "/nix/store/4yw094fdf4hg71ffmkiciffzri75l52f-gettext-0.22.5"
},
"x86_64-darwin": {
"outputs": [
{
"name": "out",
"path": "/nix/store/5qi7j7hqbp157iygygys9pb36d8ik4i0-gettext-0.22.5",
"default": true
},
{
"name": "man",
"path": "/nix/store/pb3awbc3p0y3r5g5sfjz66c5x168yx3r-gettext-0.22.5-man",
"default": true
},
{
"name": "info",
"path": "/nix/store/h9g11qmdvcfj5c63s3rksz3w4byb903s-gettext-0.22.5-info"
},
{
"name": "doc",
"path": "/nix/store/9ff482n21sifam67a4hawlmim5qd2xj3-gettext-0.22.5-doc"
}
],
"store_path": "/nix/store/5qi7j7hqbp157iygygys9pb36d8ik4i0-gettext-0.22.5"
},
"x86_64-linux": {
"outputs": [
{
"name": "out",
"path": "/nix/store/zs5crhr67zp8cxn7dh4mwq08zw3sb31m-gettext-0.22.5",
"default": true
},
{
"name": "man",
"path": "/nix/store/fmyjd06fivjkyja34lk9jfxllma3gr5k-gettext-0.22.5-man",
"default": true
},
{
"name": "doc",
"path": "/nix/store/29k7rgjb1jz85wp5r2rb8fbmwjmp4yf7-gettext-0.22.5-doc"
},
{
"name": "info",
"path": "/nix/store/mppr77ji66sqxwwc7c12619csq6mvras-gettext-0.22.5-info"
}
],
"store_path": "/nix/store/zs5crhr67zp8cxn7dh4mwq08zw3sb31m-gettext-0.22.5"
}
}
},
"git@latest": {
"last_modified": "2024-02-10T18:15:24Z",
"resolved": "github:NixOS/nixpkgs/10b813040df67c4039086db0f6eaf65c536886c6#git",
Expand Down Expand Up @@ -197,6 +381,10 @@
}
}
},
"github:NixOS/nixpkgs/nixpkgs-unstable": {
"last_modified": "2025-06-18T03:01:18Z",
"resolved": "github:NixOS/nixpkgs/5395fb3ab3f97b9b7abca147249fa2e8ed27b192?lastModified=1750215678&narHash=sha256-Rc%2FytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M%2Bok%3D"
},
"mariadb@latest": {
"last_modified": "2024-02-10T18:15:24Z",
"plugin_version": "0.0.4",
Expand Down
9 changes: 9 additions & 0 deletions examples/stacks/drupal/web/sites/default/default.services.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
parameters:
# Toggles the super user access policy. If your website has at least one user
# with the Administrator role, it is advised to set this to false. This allows
# you to make user 1 a regular user, strengthening the security of your site.
security.enable_super_user: true
session.storage.options:
# Default ini options for sessions.
#
Expand Down Expand Up @@ -60,6 +64,11 @@ parameters:
# \Drupal\Core\Session\SessionConfiguration::__construct()
# @default 6
sid_bits_per_character: 6
# By default, Drupal generates a session cookie name based on the full
# domain name. Set the name_suffix to a short random string to ensure this
# session cookie name is unique on different installations on the same
# domain and path (for example, when migrating from Drupal 7).
name_suffix: ''
twig.config:
# Twig debugging:
#
Expand Down
39 changes: 25 additions & 14 deletions examples/stacks/drupal/web/sites/default/default.settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
*
* @code
* $databases['default']['default'] = [
* 'database' => 'databasename',
* 'database' => 'database_name',
* 'username' => 'sql_username',
* 'password' => 'sql_password',
* 'host' => 'localhost',
Expand Down Expand Up @@ -181,8 +181,8 @@
*
* WARNING: The above defaults are designed for database portability. Changing
* them may cause unexpected behavior, including potential data loss. See
* https://www.drupal.org/developing/api/database/configuration for more
* information on these defaults and the potential issues.
* https://www.drupal.org/docs/8/api/database-api/database-configuration for
* more information on these defaults and the potential issues.
*
* More details can be found in the constructor methods for each driver:
* - \Drupal\mysql\Driver\Database\mysql\Connection::__construct()
Expand All @@ -193,7 +193,7 @@
* @code
* $databases['default']['default'] = [
* 'driver' => 'pgsql',
* 'database' => 'databasename',
* 'database' => 'database_name',
* 'username' => 'sql_username',
* 'password' => 'sql_password',
* 'host' => 'localhost',
Expand All @@ -215,7 +215,7 @@
* 'driver' => 'my_driver',
* 'namespace' => 'Drupal\my_module\Driver\Database\my_driver',
* 'autoload' => 'modules/my_module/src/Driver/Database/my_driver/',
* 'database' => 'databasename',
* 'database' => 'database_name',
* 'username' => 'sql_username',
* 'password' => 'sql_password',
* 'host' => 'localhost',
Expand All @@ -230,7 +230,7 @@
* 'driver' => 'my_driver',
* 'namespace' => 'Drupal\my_module\Driver\Database\my_driver',
* 'autoload' => 'modules/my_module/src/Driver/Database/my_driver/',
* 'database' => 'databasename',
* 'database' => 'database_name',
* 'username' => 'sql_username',
* 'password' => 'sql_password',
* 'host' => 'localhost',
Expand Down Expand Up @@ -355,14 +355,13 @@
* security, or encryption benefits. In an environment where Drupal
* is behind a reverse proxy, the real IP address of the client should
* be determined such that the correct client IP address is available
* to Drupal's logging, statistics, and access management systems. In
* the most simple scenario, the proxy server will add an
* X-Forwarded-For header to the request that contains the client IP
* address. However, HTTP headers are vulnerable to spoofing, where a
* malicious client could bypass restrictions by setting the
* X-Forwarded-For header directly. Therefore, Drupal's proxy
* configuration requires the IP addresses of all remote proxies to be
* specified in $settings['reverse_proxy_addresses'] to work correctly.
* to Drupal's logging and access management systems. In the most simple
* scenario, the proxy server will add an X-Forwarded-For header to the request
* that contains the client IP address. However, HTTP headers are vulnerable to
* spoofing, where a malicious client could bypass restrictions by setting the
* X-Forwarded-For header directly. Therefore, Drupal's proxy configuration
* requires the IP addresses of all remote proxies to be specified in
* $settings['reverse_proxy_addresses'] to work correctly.
*
* Enable this setting to get Drupal to determine the client IP from the
* X-Forwarded-For header. If you are unsure about this setting, do not have a
Expand Down Expand Up @@ -731,6 +730,8 @@
* Provide a fully qualified class name here if you would like to provide an
* alternate implementation YAML parser. The class must implement the
* \Drupal\Component\Serialization\SerializationInterface interface.
*
* This setting is deprecated in Drupal 10.3 and removed in Drupal 11.
*/
# $settings['yaml_parser_class'] = NULL;

Expand Down Expand Up @@ -808,6 +809,16 @@
*/
$settings['entity_update_backup'] = TRUE;

/**
* State caching.
*
* State caching uses the cache collector pattern to cache all requested keys
* from the state API in a single cache entry, which can greatly reduce the
* amount of database queries. However, some sites may use state with a
* lot of dynamic keys which could result in a very large cache.
*/
$settings['state_cache'] = TRUE;

/**
* Node migration type.
*
Expand Down
10 changes: 10 additions & 0 deletions examples/stacks/drupal/web/sites/development.services.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
# Local development services.
#
# The development.services.yml file allows the developer to override
# container parameters for debugging.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
#
# Be aware that in Drupal's configuration system, all the files that
# provide container definitions are merged using a shallow merge approach
# within \Drupal\Core\DependencyInjection\YamlFileLoader.
# This means that if you want to override any value of a parameter, the
# whole parameter array needs to be copied from
# sites/default/default.services.yml or from core/core.services.yml file.
parameters:
http.response.debug_cacheability_headers: true
services:
Expand Down
4 changes: 2 additions & 2 deletions examples/stacks/drupal/web/sites/example.sites.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* Configuration file for multi-site support and directory aliasing feature.
*
* This file is required for multi-site support and also allows you to define a
* set of aliases that map hostnames, ports, and pathnames to configuration
* set of aliases that map host names, ports, and path names to configuration
* directories in the sites directory. These aliases are loaded prior to
* scanning for directories, and they are exempt from the normal discovery
* rules. See default.settings.php to view how Drupal discovers the
Expand Down Expand Up @@ -53,5 +53,5 @@
*
* @see default.settings.php
* @see \Drupal\Core\DrupalKernel::getSitePath()
* @see https://www.drupal.org/documentation/install/multi-site
* @see https://www.drupal.org/docs/getting-started/multisite-drupal
*/
Loading
Loading