Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • project/varbase
  • issue/varbase-3087001
  • issue/varbase-3215888
  • issue/varbase-3245763
  • issue/varbase-3253354
  • issue/varbase-3256661
  • issue/varbase-3258740
  • issue/varbase-3259665
  • issue/varbase-3260809
  • issue/varbase-3263378
  • issue/varbase-3266504
  • issue/varbase-3269421
  • issue/varbase-3269809
  • issue/varbase-3270457
  • issue/varbase-3276911
  • issue/varbase-3277590
  • issue/varbase-3285082
  • issue/varbase-3292847
  • issue/varbase-3293400
  • issue/varbase-3293696
  • issue/varbase-3298632
  • issue/varbase-3301451
  • issue/varbase-3318323
  • issue/varbase-3318847
  • issue/varbase-3346247
  • issue/varbase-3391550
  • issue/varbase-3443948
  • issue/varbase-3471788
  • issue/varbase-3479338
  • issue/varbase-3484640
30 results
Show changes
Commits on Source (259)
Showing with 7839 additions and 1363 deletions
version: 2.1
defaults: &defaults
docker:
- image: cimg/base:stable-20.04
- image: cimg/base:2022.09
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
- image: circleci/mysql:8.0.23
password: $DOCKERHUB_PASSWORD
- image: cimg/mysql:8.0
auth:
username: mydockerhub-user
password: $DOCKERHUB_PASSWORD # context / project UI env-var reference
entrypoint: ['docker-entrypoint.sh', '--default-authentication-plugin=mysql_native_password']
password: $DOCKERHUB_PASSWORD
entrypoint:
[
"docker-entrypoint.sh",
"--default-authentication-plugin=mysql_native_password",
]
environment:
MYSQL_ROOT_PASSWORD: rootpw
MYSQL_ROOT_HOST: "%"
MYSQL_DATABASE: test_varbase
MYSQL_USER: user
MYSQL_PASSWORD: passw0rd
resource_class: large
commands:
varbase-build:
steps:
- checkout
## Usefull must have utils.
- checkout
- run:
name: Usefull must have utils
command: |
sudo apt -qq update
sudo apt -qqy install docker-buildx-plugin
sudo apt -qqy upgrade
sudo apt -yqq install vim links lynx git diffutils htop curl wget p7zip-full unzip zip sed gcc g++ make libfreetype6-dev libaio1 libaio-dev libonig-dev libpng-dev mysql-client default-mysql-client
sudo apt -yqq install xvfb libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libnss3
## Configure and run the virtual display.
- run:
name: Configure and run the virtual display.
command: Xvfb -ac :99 -screen 0 1600x1200x24 > /dev/null 2>&1
background: true
## Setup Apache2 and PHP8.1
sudo apt -yqq install vim links lynx git diffutils htop curl wget p7zip-full unzip zip sed gcc g++
sudo apt -yqq install make libfreetype6-dev libaio1 libaio-dev libonig-dev libpng-dev mysql-client default-mysql-client xvfb
sudo apt -yqq install gtk2-engines-pixbuf xserver-xorg-core xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
sudo apt -yqq install libxpm4 libgtk2.0-0 imagemagick dbus-x11 x11-apps libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3
sudo apt -yqq install libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0
sudo apt -yqq install libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6
sudo apt -yqq install libxrandr2 libxrender1 libxss1 libxtst6 libnss3 libu2f-udev libgbm1 libvulkan1 fonts-liberation libappindicator3-1
sudo apt -yqq install libatk-bridge2.0-0 xdg-utils gnupg2 apt-transport-https ca-certificates
- run:
name: Setup Apache2 and PHP8.1
name: Setup Apache2 and PHP8.3
command: |
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt upgrade
sudo apt install -yqq apache2 php8.1 libapache2-mod-php8.1 php8.1-mbstring php8.1-mysql php8.1-xml php8.1-cgi php8.1-cli php8.1-common php8.1-curl php8.1-gd php8.1-imap php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-opcache php8.1-yaml php8.1-bz2 php8.1-readline php8.1-xmlrpc php8.1-enchant php8.1-xsl php8.1-zip php8.1-bcmath php-pear
sudo a2enmod php8.1
sudo apt -yqq install apache2 php8.3 libapache2-mod-php8.3 php8.3-mbstring php8.3-mysql php8.3-xml php8.3-cgi php8.3-cli php8.3-common php8.3-curl php8.3-gd php8.3-imap php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-opcache php8.3-yaml php8.3-bz2 php8.3-readline php8.3-xmlrpc php8.3-enchant php8.3-xsl php8.3-zip php8.3-bcmath php-pear
sudo a2enmod php8.3
sudo a2enmod headers rewrite env mime expires ssl
sudo update-alternatives --set php /usr/bin/php8.1
echo -e "memory_limit = -1" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "max_execution_time = 1200" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "error_reporting = E_ALL" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "max_input_time = 180" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "max_input_vars = 10000" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "post_max_size = 64M" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "upload_max_filesize = 32M" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
echo -e "max_file_uploads = 40" | sudo tee /etc/php/8.1/apache2/php.ini > /dev/null
sudo update-alternatives --set php /usr/bin/php8.3
echo -e "memory_limit = -1" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_execution_time = 1200" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "error_reporting = E_ALL" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_input_time = 180" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_input_vars = 10000" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "post_max_size = 64M" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "upload_max_filesize = 32M" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
echo -e "max_file_uploads = 40" | sudo tee /etc/php/8.3/apache2/php.ini > /dev/null
sudo service apache2 restart
## Waiting for MySQL to be ready.
- run:
name: Waiting for MySQL to be ready
command: |
......@@ -67,61 +68,60 @@ commands:
sleep 1
done
echo Failed waiting for MySQL && exit 1
## Install Composer
- run:
name: Install Composer
name: Start D-Bus
command: sudo service dbus start
- run:
name: Configure and run the virtual display.
command: |
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/ --filename=composer --2;
composer config -g github-oauth.github.com $GITHUB_TOKEN
## Install node js, npm, yarn, and gulp
export DISPLAY=:99
Xvfb -ac :99 -screen 0 1600x1200x24 > /dev/null 2>&1
background: true
- run:
name: Install node js
name: Install/Update Google Chrome browser
command: |
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y nodejs
sudo npm install -g yarn
sudo npm install gulp-cli -g ;
sudo npm install gulp -D ;
## Install Java.
sudo apt install libu2f-udev
sudo apt-get install libgbm1 libvulkan1 libnss3 libgconf-2-4 libxss1 fonts-liberation libappindicator3-1 libatk-bridge2.0-0 xdg-utils libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt-get install -f
rm google-chrome-stable_current_amd64.deb
sudo chmod +x /usr/bin/google-chrome
/usr/bin/google-chrome --version
google-chrome --version
- run:
name: Install/Update Chrome Driver
command: |
CHROME_VERSION=$(google-chrome --product-version);
echo $CHROME_VERSION;
wget https://storage.googleapis.com/chrome-for-testing-public/$CHROME_VERSION/linux64/chromedriver-linux64.zip
unzip chromedriver-linux64.zip
sudo chmod +x chromedriver-linux64/chromedriver
sudo mv -f chromedriver-linux64/chromedriver /usr/bin/
rm -rf chromedriver-linux64.zip chromedriver-linux64
chromedriver --version
- run:
name: Install Java
command: |
sudo apt update
sudo apt install -y openjdk-11-jre openjdk-11-jre-headless openjdk-11-jdk openjdk-11-jdk-headless
## Install/Update Google Chrome browser.
- run:
name: Install/Update Google Chrome browser
name: Run Selenium Standalone server
command: |
sudo apt-get install libappindicator1 fonts-liberation libgbm1 libgtk-3-0 xdg-utils
export CHROME_BIN=/usr/bin/google-chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
rm google-chrome-stable_current_amd64.deb
## Install/Update Chrome Driver.
export DISPLAY=:99
if [[ ! -f /home/circleci/selenium-server-4.4.0.jar ]]; then wget -O /home/circleci/selenium-server-4.4.0.jar https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.4.0/selenium-server-4.4.0.jar; fi
cd /home/circleci/
java -jar selenium-server-4.4.0.jar standalone --port 4445
background: true
- run:
name: Install/Update Chrome Driver
name: Install composer ~2
command: |
CHROME_DRIVER_VERSION=$(wget -qO- chromedriver.storage.googleapis.com/LATEST_RELEASE);
echo $CHROME_DRIVER_VERSION;
wget http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
sudo chmod +x chromedriver
sudo mv -f chromedriver /usr/bin/
rm chromedriver_linux64.zip
## List tools versions.
sudo curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin/ --filename=composer --2;
composer config -g github-oauth.github.com $GITHUB_TOKEN
- run:
name: List tools versions
command: |
php --version
node --version
yarn --version
gulp --version
java -version
google-chrome --version
chromedriver --version
......@@ -130,8 +130,6 @@ commands:
php -m
php -i | grep "Loaded Configuration File"
php --ini
## Build Varbase with the composer.
- run:
name: Build Varbase with the composer
command: |
......@@ -145,14 +143,16 @@ commands:
cd /var/www/html/test/
sudo chmod 775 .
sudo chown www-data:circleci .
git clone --branch '9.1.x' https://github.com/vardot/varbase.git /var/www/html/test/varbase-code
cp -r /var/www/html/test/varbase-code /var/www/html/test/varbase
git clone --branch '10.0.x' https://github.com/vardot/varbase-project.git /var/www/html/test/varbase
cd /var/www/html/test/varbase
composer require --dev drupal/core-dev:~10 --no-update
composer require --dev drush/drush:~13 --no-update
composer require --dev drupal/drupal-extension:5.0.0alpha1 --no-update
composer require --dev webship/behat-html-formatter:~1.0 --no-update
composer require --dev drevops/behat-screenshot:~1.0 --no-update
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
composer install --no-interaction -vvv
composer require drupal/drush_language:~1.0
cp -r /var/www/html/test/varbase-code /var/www/html/test/varbase/docroot/profiles/varbase
cd /var/www/html/test/varbase
sudo rm -rf config configbit css images libraries scripts src tests traslations varbase.info.yml varbase.install varbase.libraries.yml varbase.profile varbase.services.yml yarn.lock
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
cp /var/www/html/test/varbase/docroot/sites/default/default.settings.php /var/www/html/test/varbase/docroot/sites/default/settings.php
......@@ -172,8 +172,6 @@ commands:
cd /var/www/html/test/varbase
sudo chmod 775 -R .
sudo chown www-data:circleci -R .
## Point varbase.test at /var/www/html/test/varbase/docroot
- run:
name: Point varbase.test at /var/www/html/test/varbase/docroot
command: |
......@@ -182,111 +180,98 @@ commands:
sudo a2ensite varbase.test
echo 127.0.0.1 varbase.test | sudo tee -a /etc/hosts
sudo service apache2 restart
## Install Varbase with drush.
- run:
name: Install Varbase with drush
command: |
mysql -h 127.0.0.1 -uroot -prootpw --execute="DROP DATABASE IF EXISTS test_varbase;" -vvv
mysql -h 127.0.0.1 -uroot -prootpw --execute="CREATE DATABASE test_varbase;" -vvv
cd /var/www/html/test/varbase/docroot
../bin/drush site-install varbase --yes --account-name="webmaster" --account-pass="dD.123123ddd" --account-mail="webmaster@vardot.com" --db-url="mysql://root:rootpw@127.0.0.1/test_varbase" --locale="en" varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider_media=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true install_configure_form.enable_update_status_emails=NULL -vvv
../bin/drush site-install varbase --yes --account-name="webmaster" --account-pass="dD.123123ddd" --account-mail="webmaster@vardot.com" --db-url="mysql://root:rootpw@127.0.0.1/test_varbase" --locale="en" varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.varbase_demo=true varbase_extra_components.editoria11y=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true varbase_extra_components.varbase_ai=true varbase_extra_components.varbase_api=true install_configure_form.enable_update_status_emails=NULL -vvv
../bin/drush pm:enable varbase_development --yes
../bin/drush pm:enable varbase_styleguide --yes
../bin/drush pm:enable varbase_landing --yes
../bin/drush pm:enable varbase_api --yes
../bin/drush pm:enable varbase_content_planner --yes
../bin/drush pm:enable varbase_media_instagram --yes
../bin/drush pm:enable varbase_media_twitter --yes
../bin/drush pm:enable social_auth_google --yes
../bin/drush pm:enable social_auth_facebook --yes
../bin/drush pm:enable social_auth_twitter --yes
../bin/drush pm:enable social_auth_linkedin --yes
../bin/drush config:set system.performance css.preprocess 0 --yes
../bin/drush config:set system.performance js.preprocess 0 --yes
../bin/drush config:set system.logging error_level all --yes
../bin/drush cr
## Run Selenium Standalone server.
- run:
name: Run Selenium Standalone server
command: |
if [[ ! -f /home/circleci/selenium-server-standalone-3.141.59.jar ]]; then wget -O /home/circleci/selenium-server-standalone-3.141.59.jar https://github.com/SeleniumHQ/selenium/releases/download/selenium-3.141.59/selenium-server-standalone-3.141.59.jar; fi
cd /home/circleci/
java -jar selenium-server-standalone-3.141.59.jar -port 4445
background: true
## Add testing users.
../bin/drush pm:enable varbase_update_helper --yes
../bin/drush cache:rebuild
- run:
name: Add testing users.
command: |
cd /var/www/html/test/varbase/docroot/profiles/varbase/scripts
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase/scripts
bash add-testing-users.sh
## Enable the Drush Language Command module and add RTL language
- run:
name: Enable the Drush Language Command module and add RTL language
name: Import and Update local RTL language
shell: /bin/bash
command: |
cd /var/www/html/test/varbase/docroot
../bin/drush pm:enable drush_language --yes
../bin/drush language-add ar
../bin/drush language-info
../bin/drush locale-import ar --autocreate-language profiles/contrib/varbase/translations/ar.po
../bin/drush locale-update --langcodes=ar
../bin/drush cr
## Uninstall Antibot module to let the selenium bot work
- run:
name: Uninstall Antibot module to let the selenium bot work
shell: /bin/bash
command: |
cd /var/www/html/test/varbase/docroot
../bin/drush pm:uninstall antibot --yes
../bin/drush cr
../bin/drush config:set system.performance css.preprocess 0 --yes
../bin/drush config:set system.performance js.preprocess 0 --yes
../bin/drush config:set system.logging error_level all --yes
../bin/drush cache:rebuild
jobs:
varbase-testing-01-website-base-requirements:
<<: *defaults
steps:
- varbase-build
## Automated Functional Acceptance Testing group - 01 website base requirements
- run:
name: Automated Functional Acceptance Testing group - 01 website base requirements
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/varbase
../../../bin/behat tests/features/varbase/01-website-base-requirements/
varbase-testing-02-user-management-03-admin-management:
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/01-website-base-requirements/
varbase-testing-02-user-management:
<<: *defaults
steps:
- varbase-build
- run:
name: Automated Functional Acceptance Testing group - 02 user management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/02-user-management/
varbase-testing-03-admin-management:
<<: *defaults
steps:
- varbase-build
## Automated Functional Acceptance Testing group - 02 user management - 03 admin management
- run:
name: Automated Functional Acceptance Testing group - 02 user management - 03 admin management
name: Automated Functional Acceptance Testing group - 03 admin management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/varbase
../../../bin/behat tests/features/varbase/02-user-management/
../../../bin/behat tests/features/varbase/03-admin-management/
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/03-admin-management/
varbase-testing-04-content-structure:
<<: *defaults
steps:
- varbase-build
## Automated Functional Acceptance Testing group - 04 content structure
- run:
name: Automated Functional Acceptance Testing group - 04 content structure
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/varbase
../../../bin/behat tests/features/varbase/04-content-structure/
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/04-content-structure/
varbase-testing-05-content-management:
<<: *defaults
steps:
- varbase-build
## Automated Functional Acceptance Testing group - 05 content-management
- run:
name: Automated Functional Acceptance Testing group - 05 content-management
no_output_timeout: 30m
command: |
cd /var/www/html/test/varbase/docroot/profiles/varbase
../../../bin/behat tests/features/varbase/05-content-management/
cd /var/www/html/test/varbase/docroot/profiles/contrib/varbase
../../../../bin/behat tests/features/varbase/05-content-management/
workflows:
version: 2
......@@ -295,24 +280,30 @@ workflows:
- varbase-testing-01-website-base-requirements:
filters:
tags:
only: /^9.1.*/
only: /^10.0.*/
branches:
only: /^10.0.x/
- varbase-testing-02-user-management:
filters:
tags:
only: /^10.0.*/
branches:
only: /^9.1.x/
- varbase-testing-02-user-management-03-admin-management:
only: /^10.0.x/
- varbase-testing-03-admin-management:
filters:
tags:
only: /^9.1.*/
only: /^10.0.*/
branches:
only: /^9.1.x/
only: /^10.0.x/
- varbase-testing-04-content-structure:
filters:
tags:
only: /^9.1.*/
only: /^10.0.*/
branches:
only: /^9.1.x/
only: /^10.0.x/
- varbase-testing-05-content-management:
filters:
tags:
only: /^9.1.*/
only: /^10.0.*/
branches:
only: /^9.1.x/
only: /^10.0.x/
{
"exclude": [
"core/**",
"modules/**",
"profiles/**",
"sites/**",
"themes/**",
"tests/**",
"config/**",
"includes/**",
"tmp/**",
"vendor/**",
"node_modules/**",
"bower_components/**",
"lib/**",
"src/**",
"img/**",
"images/**",
"icons/**",
"js/**",
"javascript/**",
"scripts/**",
"jquery/**",
".git/**",
"css/mixins/**"
],
"always-semicolon": true,
"block-indent": 2,
"color-case": "lower",
"color-shorthand": true,
"element-case": "lower",
"eof-newline": true,
"leading-zero": true,
"lines-between-rulesets": false,
"quotes": "double",
"remove-empty-rulesets": true,
"sort-order-fallback": "abc",
"space-after-colon": " ",
"space-after-combinator": " ",
"space-after-opening-brace": "\n",
"space-after-selector-delimiter": "\n",
"space-before-colon": "",
"space-before-combinator": " ",
"space-before-opening-brace": " ",
"space-before-selector-delimiter": "",
"space-before-closing-brace": "\n",
"space-between-declarations": "\n",
"strip-spaces": true,
"tab-size": 2,
"unitless-zero": true,
"verbose": true,
"sort-order": [
[
"$charset",
"$import",
"$namespace",
"$extend",
"$variable",
"$include",
"position",
"z-index",
"auto",
"top",
"right",
"bottom",
"left",
"display",
"visibility",
"float",
"clear",
"overflow",
"overflow-x",
"overflow-y",
"-ms-overflow-x",
"-ms-overflow-y",
"-webkit-overflow-scrolling",
"clip",
"zoom",
"-webkit-box-flex",
"-webkit-flex",
"-ms-flex",
"flex",
"-webkit-flex-direction",
"-ms-flex-direction",
"flex-direction",
"-webkit-flex-basis",
"flex-basis",
"-webkit-flex-flow",
"-webkit-box-direction",
"-webkit-box-orient",
"-moz-flex-flow",
"-ms-flex-flow",
"flex-flow",
"-webkit-flex-grow",
"flex-grow",
"-webkit-flex-shrink",
"-ms-flex-negative",
"flex-shrink",
"-webkit-flex-wrap",
"-moz-flex-wrap",
"-ms-flex-wrap",
"flex-wrap",
"-ms-flex-order",
"flex-order",
"-webkit-order",
"-webkit-box-ordinal-group",
"order",
"-ms-flex-pack",
"flex-order",
"flex-pack",
"align",
"-webkit-align-self",
"-moz-align-self",
"-ms-align-self",
"-ms-flex-item-align",
"align-self",
"justify-content",
"-webkit-align-items",
"-webkit-box-align",
"-ms-flex-align",
"align-items",
"-webkit-align-content",
"align-content",
"flex-align",
"-webkit-justify-content",
"-webkit-box-pack",
"justify-content",
"justify-items",
"justify-self",
"-webkit-box-sizing",
"-moz-box-sizing",
"box-sizing",
"width",
"min-width",
"max-width",
"height",
"min-height",
"max-height",
"margin",
"margin-top",
"margin-right",
"margin-bottom",
"margin-left",
"padding",
"padding-top",
"padding-right",
"padding-bottom",
"padding-left",
"table-layout",
"-webkit-columns",
"-moz-columns",
"columns",
"-webkit-column-span",
"-moz-column-span",
"column-span",
"-webkit-column-width",
"-moz-column-width",
"column-width",
"-webkit-column-count",
"-moz-column-count",
"column-count",
"-webkit-column-fill",
"-moz-column-fill",
"column-fill",
"-webkit-column-gap",
"-moz-column-gap",
"column-gap",
"-webkit-column-rule",
"-moz-column-rule",
"column-rule",
"-webkit-column-rule-width",
"-moz-column-rule-width",
"column-rule-width",
"-webkit-column-rule-style",
"-moz-column-rule-style",
"column-rule-style",
"-webkit-column-rule-color",
"-moz-column-rule-color",
"column-rule-color",
"grid-column-start",
"grid-column-end",
"empty-cells",
"caption-side",
"border-spacing",
"border-collapse",
"$counter-style",
"list-style",
"list-style-position",
"list-style-type",
"list-style-image",
"-webkit-appearance",
"-moz-appearance",
"appearance",
"content",
"quotes",
"counter-reset",
"counter-increment",
"resize",
"cursor",
"-webkit-user-select",
"-moz-user-select",
"-ms-user-select",
"user-select",
"nav-index",
"nav-up",
"nav-right",
"nav-down",
"nav-left",
"-webkit-transition",
"-moz-transition",
"-ms-transition",
"-o-transition",
"transition",
"-webkit-transition-delay",
"-moz-transition-delay",
"-ms-transition-delay",
"-o-transition-delay",
"transition-delay",
"-webkit-transition-timing-function",
"-moz-transition-timing-function",
"-ms-transition-timing-function",
"-o-transition-timing-function",
"transition-timing-function",
"will-change",
"-webkit-transition-duration",
"-moz-transition-duration",
"-ms-transition-duration",
"-o-transition-duration",
"transition-duration",
"-webkit-transition-property",
"-moz-transition-property",
"-ms-transition-property",
"-o-transition-property",
"transition-property",
"-webkit-transform",
"-moz-transform",
"-ms-transform",
"-o-transform",
"transform",
"-webkit-transform-origin",
"-moz-transform-origin",
"-ms-transform-origin",
"-o-transform-origin",
"transform-origin",
"$keyframes",
"-webkit-animation",
"-moz-animation",
"-ms-animation",
"-o-animation",
"animation",
"-webkit-animation-name",
"-moz-animation-name",
"-ms-animation-name",
"-o-animation-name",
"animation-name",
"-webkit-animation-duration",
"-moz-animation-duration",
"-ms-animation-duration",
"-o-animation-duration",
"animation-duration",
"-webkit-animation-play-state",
"-moz-animation-play-state",
"-ms-animation-play-state",
"-o-animation-play-state",
"animation-play-state",
"-webkit-animation-timing-function",
"-moz-animation-timing-function",
"-ms-animation-timing-function",
"-o-animation-timing-function",
"animation-timing-function",
"-webkit-animation-delay",
"-moz-animation-delay",
"-ms-animation-delay",
"-o-animation-delay",
"animation-delay",
"-webkit-animation-iteration-count",
"-moz-animation-iteration-count",
"-ms-animation-iteration-count",
"-o-animation-iteration-count",
"animation-iteration-count",
"-webkit-animation-direction",
"-moz-animation-direction",
"-ms-animation-direction",
"-o-animation-direction",
"animation-direction",
"text-align",
"-webkit-text-align-last",
"-moz-text-align-last",
"-ms-text-align-last",
"text-align-last",
"vertical-align",
"white-space",
"-webkit-text-decoration",
"text-decoration",
"text-emphasis",
"text-emphasis-color",
"text-emphasis-style",
"text-emphasis-position",
"text-indent",
"-ms-text-justify",
"text-justify",
"text-transform",
"letter-spacing",
"word-spacing",
"-ms-writing-mode",
"text-outline",
"text-transform",
"text-wrap",
"text-overflow",
"-ms-text-overflow",
"-o-text-overflow",
"text-overflow-ellipsis",
"text-overflow-mode",
"-ms-word-wrap",
"word-wrap",
"word-break",
"-ms-word-break",
"-moz-tab-size",
"-o-tab-size",
"tab-size",
"-webkit-hyphens",
"-moz-hyphens",
"hyphens",
"page-break",
"page-break-before",
"page-break-inside",
"page-break-after",
"pointer-events",
"direction",
"unicode-bidi",
"orphans",
"widows",
"opacity",
"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
"-webkit-filter",
"-ms-filter",
"filter",
"-ms-interpolation-mode",
"color",
"border",
"border-collapse",
"border-width",
"border-style",
"border-color",
"border-top",
"border-top-width",
"border-top-style",
"border-top-color",
"border-right",
"border-right-width",
"border-right-style",
"border-right-color",
"border-bottom",
"border-bottom-width",
"border-bottom-style",
"border-bottom-color",
"border-left",
"border-left-width",
"border-left-style",
"border-left-color",
"-webkit-border-radius",
"-moz-border-radius",
"border-radius",
"-webkit-border-top-left-radius",
"-moz-border-radius-topleft",
"border-top-left-radius",
"-webkit-border-top-right-radius",
"-moz-border-radius-topright",
"border-top-right-radius",
"-webkit-border-bottom-right-radius",
"-moz-border-radius-bottomright",
"border-bottom-right-radius",
"-webkit-border-bottom-left-radius",
"-moz-border-radius-bottomleft",
"border-bottom-left-radius",
"-webkit-border-image",
"-moz-border-image",
"-o-border-image",
"border-image",
"-webkit-border-image-source",
"-moz-border-image-source",
"-o-border-image-source",
"border-image-source",
"-webkit-border-image-slice",
"-moz-border-image-slice",
"-o-border-image-slice",
"border-image-slice",
"-webkit-border-image-width",
"-moz-border-image-width",
"-o-border-image-width",
"border-image-width",
"-webkit-border-image-outset",
"-moz-border-image-outset",
"-o-border-image-outset",
"border-image-outset",
"-webkit-border-image-repeat",
"-moz-border-image-repeat",
"-o-border-image-repeat",
"border-image-repeat",
"outline",
"outline-width",
"outline-style",
"outline-color",
"outline-offset",
"background",
"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
"-o-object-fit",
"object-fit",
"background-color",
"background-image",
"background-repeat",
"background-attachment",
"background-position",
"background-position-x",
"-ms-background-position-x",
"background-position-y",
"-ms-background-position-y",
"-webkit-background-clip",
"-moz-background-clip",
"background-clip",
"background-origin",
"-webkit-background-size",
"-moz-background-size",
"-o-background-size",
"background-size",
"box-decoration-break",
"-webkit-box-shadow",
"-moz-box-shadow",
"box-shadow",
"filter:progid:DXImageTransform.Microsoft.gradient",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
"text-shadow",
"$font-face",
"font",
"font-family",
"src",
"$font-feature-values",
"$swash",
"$annotation",
"$ornaments",
"$stylistic",
"$styleset",
"$character-variant",
"font-variant-alternates",
"font-size",
"font-weight",
"font-style",
"font-variant",
"font-size-adjust",
"font-stretch",
"font-effect",
"font-emphasize",
"font-emphasize-position",
"font-emphasize-style",
"font-smooth",
"font-display",
"line-height",
"line-break",
"-webkit-tap-highlight-color",
"-webkit-text-size-adjust",
"-webkit-text-decoration-skip-ink",
"text-decoration-skip-ink",
"-ms-overflow-style",
"-ms-flex-positive",
"-ms-flex-preferred-size",
"-webkit-print-color-adjust",
"-webkit-backface-visibility",
"backface-visibility",
"color-adjust",
"-ms-flex-line-pack",
"-webkit-margin-after",
"-webkit-margin-before",
"margin-block-end",
"margin-block-start",
"-webkit-margin-end",
"-moz-margin-end",
"margin-inline-end",
"margin-inline-start",
"-webkit-margin-start",
"-moz-margin-start",
"padding-inline-start",
"-webkit-padding-start",
"-moz-padding-start",
"$media",
"$supports",
"$document",
"$page",
"$viewport"
]
]
}
\ No newline at end of file
**/*.min.js
**/gulpfile.js
**/node_modules
behat.yml
behat.varbase.yml
node_modules/**/*
# Ignore deliberately malformed YAML files.
drupalci.yml
**/drupalci.yml
**/libraries/
......@@ -20,11 +20,9 @@
"Backbone": true,
"Modernizr": true,
"loadjs": true,
"Popper": true,
"Shepherd": true,
"Sortable": true,
"once": true,
"CKEDITOR": true,
"CKEditor5": true,
"tabbable": true
},
......@@ -47,6 +45,7 @@
"requireReturn": false
}],
"no-unused-vars": ["warn"],
"operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }]
"operator-linebreak": ["error", "after", { "overrides": { "?": "ignore", ":": "ignore" } }],
"yml/indent": ["error", 2]
}
}
\ No newline at end of file
}
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="custom_code">
<description>Default PHP CodeSniffer configuration for custom code.</description>
<arg name="extensions" value="inc,install,module,php,profile,test,theme,yml,css"/>
<arg name="extensions" value="inc,install,module,php,profile,test,theme,yml"/>
<description>Default PHP CodeSniffer configuration for Drupal core.</description>
<!--Exclude folders used by common frontend tools. These folders match the file_scan_ignore_directories setting in default.settings.php-->
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>varbase.info.yml</exclude-pattern>
<exclude-pattern>*/bower_components/*</exclude-pattern>
<!-- <exclude-pattern>*/tests/features/bootstrap/*</exclude-pattern> -->
<exclude-pattern>*/node_modules/*</exclude-pattern>
<exclude-pattern>tests/features/bootstrap/*</exclude-pattern>
<!--Exclude minimized css.-->
<exclude-pattern>*/*.min.css</exclude-pattern>
<exclude-pattern>css/variables.css</exclude-pattern>
<file>.</file>
<!-- Only include specific sniffs that pass. This ensures that, if new sniffs are added, HEAD does not fail.-->
<!-- Drupal sniffs -->
<rule ref="Drupal.Arrays.Array">
<!-- Sniff for these errors: CommaLastItem -->
<exclude name="Drupal.Arrays.Array.ArrayClosingIndentation"/>
<exclude name="Drupal.Arrays.Array.ArrayIndentation"/>
<!-- Sniff for these errors: ArrayClosingIndentation, ArrayIndentation, CommaLastItem -->
<exclude name="Drupal.Arrays.Array.LongLineDeclaration"/>
</rule>
<rule ref="Drupal.CSS.ClassDefinitionNameSpacing"/>
<rule ref="Drupal.CSS.ColourDefinition"/>
<rule ref="Drupal.Classes.ClassCreateInstance"/>
<rule ref="Drupal.Classes.ClassDeclaration"/>
<rule ref="Drupal.Classes.ClassFileName"/>
......@@ -29,8 +29,6 @@
<rule ref="Drupal.Classes.UnusedUseStatement"/>
<rule ref="Drupal.Classes.UseGlobalClass"/>
<rule ref="Drupal.Classes.UseLeadingBackslash"/>
<rule ref="Drupal.CSS.ClassDefinitionNameSpacing"/>
<rule ref="Drupal.CSS.ColourDefinition"/>
<rule ref="Drupal.Commenting.ClassComment">
<exclude name="Drupal.Commenting.ClassComment.Missing"/>
</rule>
......@@ -43,12 +41,11 @@
TagsNotGrouped, ParamGroup -->
<!-- ParamNotFirst still not decided for PHPUnit-based tests.
@see https://www.drupal.org/node/2253915 -->
<exclude name="Drupal.Commenting.DocComment.ParamNotFirst"/>
<exclude name="Drupal.Commenting.DocComment.SpacingBeforeTags"/>
<exclude name="Drupal.Commenting.DocComment.LongFullStop"/>
<exclude name="Drupal.Commenting.DocComment.ShortNotCapital"/>
<exclude name="Drupal.Commenting.DocComment.ShortSingleLine"/>
<exclude name="Drupal.Commenting.DocComment.MissingShort"/>
<exclude name="Drupal.Commenting.DocComment.ParamNotFirst"/>
<exclude name="Drupal.Commenting.DocComment.ShortNotCapital"/>
<exclude name="Drupal.Commenting.DocComment.SpacingBeforeTags"/>
</rule>
<rule ref="Drupal.Commenting.DocCommentAlignment"/>
<rule ref="Drupal.Commenting.DocCommentStar"/>
......@@ -56,23 +53,13 @@
<rule ref="Drupal.Commenting.FunctionComment">
<exclude name="Drupal.Commenting.FunctionComment.InvalidNoReturn"/>
<exclude name="Drupal.Commenting.FunctionComment.Missing"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingParamComment"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingParamType"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingReturnComment"/>
<exclude name="Drupal.Commenting.FunctionComment.MissingReturnType"/>
<exclude name="Drupal.Commenting.FunctionComment.ParamCommentFullStop"/>
<exclude name="Drupal.Commenting.FunctionComment.TypeHintMissing"/>
</rule>
<rule ref="Drupal.Commenting.HookComment"/>
<rule ref="Drupal.Commenting.GenderNeutralComment"/>
<rule ref="Drupal.Commenting.InlineVariableComment"/>
<rule ref="Drupal.Commenting.VariableComment">
<!-- Sniff for: DuplicateVar, EmptyVar, InlineVariableName, WrongStyle -->
<exclude name="Drupal.Commenting.VariableComment.IncorrectVarType"/>
<exclude name="Drupal.Commenting.VariableComment.Missing"/>
<exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
<exclude name="Drupal.Commenting.VariableComment.VarOrder"/>
</rule>
<rule ref="Drupal.Commenting.HookComment"/>
<rule ref="Drupal.Commenting.InlineComment">
<!-- Sniff for: NoSpaceBefore, SpacingBefore, WrongStyle -->
<exclude name="Drupal.Commenting.InlineComment.DocBlock"/>
......@@ -80,9 +67,17 @@
<exclude name="Drupal.Commenting.InlineComment.NotCapital"/>
<exclude name="Drupal.Commenting.InlineComment.SpacingAfter"/>
</rule>
<rule ref="Drupal.Commenting.InlineVariableComment"/>
<rule ref="Drupal.Commenting.PostStatementComment"/>
<rule ref="Drupal.ControlStructures.ElseIf"/>
<rule ref="Drupal.Commenting.VariableComment">
<!-- Sniff for: DuplicateVar, EmptyVar, InlineVariableName, WrongStyle -->
<exclude name="Drupal.Commenting.VariableComment.IncorrectVarType"/>
<exclude name="Drupal.Commenting.VariableComment.Missing"/>
<exclude name="Drupal.Commenting.VariableComment.MissingVar"/>
<exclude name="Drupal.Commenting.VariableComment.VarOrder"/>
</rule>
<rule ref="Drupal.ControlStructures.ControlSignature"/>
<rule ref="Drupal.ControlStructures.ElseIf"/>
<rule ref="Drupal.ControlStructures.InlineControlStructure"/>
<rule ref="Drupal.Files.EndFileNewline"/>
<rule ref="Drupal.Files.FileEncoding"/>
......@@ -102,9 +97,12 @@
Drupal.NamingConventions.ValidFunctionName.ScopeNotCamelCaps. -->
<exclude name="Drupal.Methods.MethodDeclaration.Underscore"/>
</rule>
<rule ref="Drupal.NamingConventions.ValidVariableName">
<!-- Sniff for: LowerStart -->
<exclude name="Drupal.NamingConventions.ValidVariableName.LowerCamelName"/>
<rule ref="Drupal.NamingConventions.ValidClassName"/>
<rule ref="Drupal.NamingConventions.ValidGlobal"/>
<rule ref="Drupal.NamingConventions.ValidVariableName"/>
<rule ref="Drupal.NamingConventions.ValidVariableName.LowerCamelName">
<!-- Views plugins do not conform to this sniff. -->
<include-pattern>**/tests/*</include-pattern>
</rule>
<rule ref="Drupal.Scope.MethodScope"/>
<rule ref="Drupal.Semantics.EmptyInstall"/>
......@@ -132,9 +130,27 @@
<rule ref="Drupal.WhiteSpace.ScopeIndent"/>
<!-- Drupal Practice sniffs -->
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis">
<!-- @todo exclude tests -->
<exclude-pattern>*/tests/*</exclude-pattern>
<properties>
<property name="allowUnusedFunctionParameters" value="true"/>
</properties>
</rule>
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis.UndefinedUnsetVariable">
<severity>0</severity>
</rule>
<rule ref="DrupalPractice.CodeAnalysis.VariableAnalysis.UndefinedVariable">
<!-- Setting severity to 0 to completely disable an error message in this sniff, without excluding the whole sniff -->
<!-- See https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options#changing-the-default-severity-levels -->
<severity>0</severity>
</rule>
<rule ref="DrupalPractice.Commenting.ExpectedException"/>
<rule ref="DrupalPractice.General.ExceptionT"/>
<rule ref="DrupalPractice.InfoFiles.NamespacedDependency"/>
<rule ref="DrupalPractice.Objects.GlobalFunction">
<include-pattern>*/Plugin/*</include-pattern>
</rule>
<!-- Generic sniffs -->
<rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
......@@ -149,8 +165,6 @@
<property name="checkClosures" value="true"/>
</properties>
</rule>
<rule ref="Drupal.NamingConventions.ValidClassName"/>
<rule ref="Drupal.NamingConventions.ValidGlobal"/>
<rule ref="Generic.NamingConventions.ConstructorName"/>
<rule ref="Generic.NamingConventions.UpperCaseConstantName"/>
<rule ref="Generic.PHP.DeprecatedFunctions"/>
......@@ -171,30 +185,29 @@
<!-- PEAR sniffs -->
<rule ref="PEAR.Files.IncludingFile"/>
<!-- Disable some error messages that we do not want. -->
<rule ref="PEAR.Files.IncludingFile.UseIncludeOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseInclude">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
<rule ref="PEAR.Files.IncludingFile.UseIncludeOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Files.IncludingFile.UseRequire">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.ValidDefaultValue"/>
<!-- PEAR sniffs -->
<rule ref="PEAR.Files.IncludingFile.UseRequireOnce">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature"/>
<!-- The sniffs inside PEAR.Functions.FunctionCallSignature silenced below are
also silenced in Drupal CS' ruleset.xml. The code below is a 1-on-1 copy
from that file. -->
<!-- Disable some error messages that we already cover. -->
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
<severity>0</severity>
</rule>
<!-- Disable some error messages that we do not want. -->
......@@ -204,15 +217,14 @@
<rule ref="PEAR.Functions.FunctionCallSignature.OpeningIndent">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
<!-- Disable some error messages that we already cover. -->
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
<severity>0</severity>
</rule>
<rule ref="PEAR.Functions.ValidDefaultValue"/>
<!-- PSR-2 sniffs -->
<rule ref="PSR2.Classes.PropertyDeclaration">
......@@ -223,11 +235,28 @@
<rule ref="PSR2.Namespaces.NamespaceDeclaration"/>
<rule ref="PSR2.Namespaces.UseDeclaration"/>
<!-- SlevomatCodingStandard sniffs -->
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations">
<properties>
<property name="forbiddenAnnotations" type="array">
<element value="@inheritDoc"/>
<element value="@inheritdoc"/>
</property>
</properties>
</rule>
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenComments">
<properties>
<property name="forbiddenCommentPatterns" type="array">
<element value="/@inheritDoc/"/>
</property>
</properties>
</rule>
<!-- Squiz sniffs -->
<rule ref="Squiz.Arrays.ArrayBracketSpacing"/>
<rule ref="Squiz.Arrays.ArrayDeclaration">
<exclude name="Squiz.Arrays.ArrayDeclaration.NoKeySpecified"/>
<exclude name="Squiz.Arrays.ArrayDeclaration.KeySpecified"/>
<exclude name="Squiz.Arrays.ArrayDeclaration.NoKeySpecified"/>
</rule>
<!-- Disable some error messages that we do not want. -->
<rule ref="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned">
......@@ -257,10 +286,10 @@
<rule ref="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNotAligned">
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNoNewline">
<severity>0</severity>
</rule>
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNoNewline">
<rule ref="Squiz.Arrays.ArrayDeclaration.ValueNotAligned">
<severity>0</severity>
</rule>
<rule ref="Squiz.ControlStructures.ForEachLoopDeclaration"/>
......@@ -317,10 +346,21 @@
<rule ref="Squiz.ControlStructures.SwitchDeclaration.SpacingBeforeBreak">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
<properties>
<property name="equalsSpacing" value="1"/>
</properties>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.NoSpaceBeforeArg">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration"/>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.ContentAfterBrace">
<severity>0</severity>
</rule>
......@@ -331,17 +371,6 @@
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.Indent">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration.CloseBracketLine">
<severity>0</severity>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
<properties>
<property name="equalsSpacing" value="1"/>
</properties>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.NoSpaceBeforeArg">
<severity>0</severity>
</rule>
<rule ref="Squiz.PHP.LowercasePHPFunctions"/>
<rule ref="Squiz.PHP.NonExecutableCode"/>
<rule ref="Squiz.Strings.ConcatenationSpacing">
......@@ -368,4 +397,4 @@
<!-- Zend sniffs -->
<rule ref="Zend.Files.ClosingTag"/>
</ruleset>
\ No newline at end of file
</ruleset>
<?xml version="1.0"?>
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="PMD Ruleset for Drupal" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>
A PMD Ruleset for Drupal coding standards.
</description>
<!--
Include each rule explicitly so we know what we have.
@see https://github.com/phpmd/phpmd/blob/master/src/main/resources/rulesets/
-->
<!-- Clean Code -->
<!--
These don't align with Drupal standards, so they are excluded.
@todo Static calls are hard to test and extend, is there a way to whitelist the ones that are OK?
<rule ref="rulesets/cleancode.xml/BooleanArgumentFlag"/>
<rule ref="rulesets/cleancode.xml/ElseExpression"/>
<rule ref="rulesets/cleancode.xml/StaticAccess"/>
-->
<!-- Code Size -->
<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>
<rule ref="rulesets/codesize.xml/NPathComplexity"/>
<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>
<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>
<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>
<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>
<rule ref="rulesets/codesize.xml/TooManyFields"/>
<!-- Controversial -->
<rule ref="rulesets/controversial.xml/Superglobals"/>
<!--
These checks do not need to be included since PHPCS will check for style.
<rule ref="rulesets/controversial.xml/CamelCaseClassName"/>
<rule ref="rulesets/controversial.xml/CamelCasePropertyName"/>
<rule ref="rulesets/controversial.xml/CamelCaseMethodName"/>
<rule ref="rulesets/controversial.xml/CamelCaseParameterName"/>
<rule ref="rulesets/controversial.xml/CamelCaseVariableName"/>
-->
<!-- Design -->
<rule ref="rulesets/design.xml/ExitExpression"/>
<rule ref="rulesets/design.xml/EvalExpression"/>
<rule ref="rulesets/design.xml/GotoStatement"/>
<rule ref="rulesets/design.xml/NumberOfChildren"/>
<rule ref="rulesets/design.xml/DepthOfInheritance"/>
<rule ref="rulesets/design.xml/CouplingBetweenObjects"/>
<rule ref="rulesets/design.xml/DevelopmentCodeFragment"/>
<!-- Naming -->
<rule ref="rulesets/naming.xml/ShortVariable">
<properties>
<!-- Allow $id and $op as a variable name. -->
<property name="exceptions" description="Comma-separated list of exceptions" value="id,op"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml/LongVariable">
<properties>
<!-- Bump variable length to a more reasonable number. -->
<property name="maximum" description="The variable length reporting threshold" value="35"/>
</properties>
</rule>
<rule ref="rulesets/naming.xml/ShortMethodName"/>
<rule ref="rulesets/naming.xml/ConstructorWithNameAsEnclosingClass"/>
<rule ref="rulesets/naming.xml/ConstantNamingConventions"/>
<rule ref="rulesets/naming.xml/BooleanGetMethodName"/>
<!-- Unused Code -->
<rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
<!-- <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/> -->
<rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
<!--
Hooks often have unused parameters, so ignore this warning.
@todo is there a way to allow unused parameters in hooks but not elsewhere?
<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>
-->
</ruleset>
\ No newline at end of file
# ==============================================================================
# Default common config for Phpqa.
#
# For more options see:
# https://github.com/EdgedesignCZ/phpqa/blob/master/.phpqa.yml
# ==============================================================================
phpqa:
analyzedDirs: ./
buildDir: ./tests/code-quality
ignoredDirs: ".gitlab-ci,.git,.idea,bin,docroot,node_modules,private,.tests/assets,vendor,web"
ignoredFiles: ""
report: true
# verbose: true
# execution: no-parallel
tools:
- phpmetrics
- phploc
- phpcs
- phpmd
- pdepend
- phpcpd
- phpstan
- security-checker
extensions:
- php
- inc
- module
- install
- test
- profile
- theme
- info
- txt
- md
phpcs:
standard: Drupal
ignoreWarnings: true
# https://github.com/squizlabs/PHP_CodeSniffer/wiki/Reporting
reports:
cli:
- full
file:
checkstyle: checkstyle.xml
pdepend:
# coverageReport: build/coverage-clover.xml
phpmd:
standard: ./.phpmd.xml
phpstan:
level: 3
# https://github.com/phpstan/phpstan#configuration
standard: phpstan.neon
phpcpd:
minLines: 5
minTokens: 70
phpmetrics:
config: null
git: false
node_modules/**/*.css
vendor/**/*.css
**/libraries/
**/*.min.css"
/css/variables.css
/css/mixins/
scss/*
images/*
fonts/*
js/*
src/*
tests/*
scripts/*
config/**/*.yml
*.yml
.*
*.png
*.svg
*.ico
*.json
*.make
*.md
*.po
*.xml
*.js
*.install
*.profile
*.lock
package
......@@ -5,27 +5,26 @@
],
"rules": {
"alpha-value-notation": "number",
"at-rule-no-vendor-prefix": null,
"at-rule-empty-line-before": null,
"color-function-notation": "legacy",
"comment-empty-line-before": null,
"custom-property-pattern": "^[a-z][-_a-z0-9IE]*$",
"declaration-block-no-redundant-longhand-properties": null,
"function-linear-gradient-no-nonstandard-direction": null,
"function-url-quotes": null,
"function-whitespace-after": null,
"hue-degree-notation": "number",
"import-notation": "string",
"no-descending-specificity": null,
"no-duplicate-selectors": null,
"no-unknown-animations": true,
"max-line-length": null,
"media-feature-name-no-unknown": [true, {
"ignoreMediaFeatureNames": [
"prefers-reduced-motion",
"min--moz-device-pixel-ratio"
"prefers-reduced-motion"
]
}],
"media-feature-name-no-vendor-prefix": null,
"number-leading-zero": "always",
"media-feature-range-notation": "prefix",
"number-max-precision": 5,
"order/order": [
"custom-properties",
......@@ -56,8 +55,6 @@
"overflow",
"overflow-x",
"overflow-y",
"-ms-overflow-x",
"-ms-overflow-y",
"-webkit-overflow-scrolling",
"clip",
"zoom",
......@@ -72,21 +69,16 @@
"flex-order",
"flex-pack",
"-ms-grid",
"grid",
"grid-area",
"grid-template",
"grid-template-areas",
"-ms-grid-rows",
"grid-template-rows",
"-ms-grid-columns",
"grid-template-columns",
"grid-row",
"-ms-grid-row",
"grid-row-start",
"grid-row-end",
"grid-column",
"-ms-grid-column",
"grid-column-start",
"grid-column-end",
"grid-auto-rows",
......@@ -95,8 +87,6 @@
"grid-gap",
"grid-row-gap",
"grid-column-gap",
"-ms-grid-row-align",
"-ms-grid-column-align",
"place-content",
"place-items",
......@@ -139,34 +129,24 @@
"table-layout",
"-webkit-columns",
"-moz-columns",
"columns",
"-webkit-column-span",
"-moz-column-span",
"column-span",
"-webkit-column-width",
"-moz-column-width",
"column-width",
"-webkit-column-count",
"-moz-column-count",
"column-count",
"-webkit-column-fill",
"-moz-column-fill",
"column-fill",
"-webkit-column-gap",
"-moz-column-gap",
"column-gap",
"-webkit-column-rule",
"-moz-column-rule",
"column-rule",
"-webkit-column-rule-width",
"-moz-column-rule-width",
"column-rule-width",
"-webkit-column-rule-style",
"-moz-column-rule-style",
"column-rule-style",
"-webkit-column-rule-color",
"-moz-column-rule-color",
"column-rule-color",
"empty-cells",
"caption-side",
......@@ -185,8 +165,6 @@
"resize",
"cursor",
"-webkit-user-select",
"-moz-user-select",
"-ms-user-select",
"user-select",
"nav-index",
"nav-up",
......@@ -194,85 +172,53 @@
"nav-down",
"nav-left",
"-webkit-transition",
"-moz-transition",
"-ms-transition",
"-o-transition",
"transition",
"-webkit-transition-delay",
"-moz-transition-delay",
"-ms-transition-delay",
"-o-transition-delay",
"transition-delay",
"-webkit-transition-timing-function",
"-moz-transition-timing-function",
"-ms-transition-timing-function",
"-o-transition-timing-function",
"transition-timing-function",
"-webkit-transition-duration",
"-moz-transition-duration",
"-ms-transition-duration",
"-o-transition-duration",
"transition-duration",
"-webkit-transition-property",
"-moz-transition-property",
"-ms-transition-property",
"-o-transition-property",
"transition-property",
"-webkit-transform",
"-moz-transform",
"-ms-transform",
"-o-transform",
"transform",
"-webkit-transform-origin",
"-moz-transform-origin",
"-ms-transform-origin",
"-o-transform-origin",
"transform-origin",
"$keyframes",
"-webkit-animation",
"-moz-animation",
"-ms-animation",
"-o-animation",
"animation",
"-webkit-animation-name",
"-moz-animation-name",
"-ms-animation-name",
"-o-animation-name",
"animation-name",
"-webkit-animation-duration",
"-moz-animation-duration",
"-ms-animation-duration",
"-o-animation-duration",
"animation-duration",
"-webkit-animation-play-state",
"-moz-animation-play-state",
"-ms-animation-play-state",
"-o-animation-play-state",
"animation-play-state",
"-webkit-animation-timing-function",
"-moz-animation-timing-function",
"-ms-animation-timing-function",
"-o-animation-timing-function",
"animation-timing-function",
"-webkit-animation-delay",
"-moz-animation-delay",
"-ms-animation-delay",
"-o-animation-delay",
"animation-delay",
"-webkit-animation-iteration-count",
"-moz-animation-iteration-count",
"-ms-animation-iteration-count",
"-o-animation-iteration-count",
"animation-iteration-count",
"-webkit-animation-direction",
"-moz-animation-direction",
"-ms-animation-direction",
"-o-animation-direction",
"animation-direction",
"text-align",
"-webkit-text-align-last",
"-moz-text-align-last",
"-ms-text-align-last",
"text-align-last",
"vertical-align",
"white-space",
......@@ -282,28 +228,21 @@
"text-emphasis-style",
"text-emphasis-position",
"text-indent",
"-ms-text-justify",
"text-justify",
"text-transform",
"letter-spacing",
"word-spacing",
"-ms-writing-mode",
"text-outline",
"text-transform",
"text-wrap",
"text-overflow",
"-ms-text-overflow",
"text-overflow-ellipsis",
"text-overflow-mode",
"-ms-word-wrap",
"word-wrap",
"word-break",
"-ms-word-break",
"-moz-tab-size",
"-o-tab-size",
"tab-size",
"-webkit-hyphens",
"-moz-hyphens",
"hyphens",
"pointer-events",
"direction",
......@@ -314,12 +253,8 @@
"object-position",
"opacity",
"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
"-webkit-filter",
"-ms-filter",
"filter",
"-ms-interpolation-mode",
"color",
"border",
"border-collapse",
......@@ -359,42 +294,31 @@
"border-inline-start-style",
"border-inline-start-color",
"-webkit-border-radius",
"-moz-border-radius",
"border-radius",
"-webkit-border-top-left-radius",
"-moz-border-radius-topleft",
"border-top-left-radius",
"-webkit-border-top-right-radius",
"-moz-border-radius-topright",
"border-top-right-radius",
"-webkit-border-bottom-right-radius",
"-moz-border-radius-bottomright",
"border-bottom-right-radius",
"-webkit-border-bottom-left-radius",
"-moz-border-radius-bottomleft",
"border-bottom-left-radius",
"-webkit-border-image",
"-moz-border-image",
"-o-border-image",
"border-image",
"-webkit-border-image-source",
"-moz-border-image-source",
"-o-border-image-source",
"border-image-source",
"-webkit-border-image-slice",
"-moz-border-image-slice",
"-o-border-image-slice",
"border-image-slice",
"-webkit-border-image-width",
"-moz-border-image-width",
"-o-border-image-width",
"border-image-width",
"-webkit-border-image-outset",
"-moz-border-image-outset",
"-o-border-image-outset",
"border-image-outset",
"-webkit-border-image-repeat",
"-moz-border-image-repeat",
"-o-border-image-repeat",
"border-image-repeat",
"outline",
......@@ -410,23 +334,16 @@
"background-attachment",
"background-position",
"background-position-x",
"-ms-background-position-x",
"background-position-y",
"-ms-background-position-y",
"-webkit-background-clip",
"-moz-background-clip",
"background-clip",
"background-origin",
"-webkit-background-size",
"-moz-background-size",
"-o-background-size",
"background-size",
"box-decoration-break",
"-webkit-box-shadow",
"-moz-box-shadow",
"box-shadow",
"filter:progid:DXImageTransform.Microsoft.gradient",
"-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
"text-shadow",
"$font-face",
......@@ -461,10 +378,8 @@
"selector-class-pattern": null,
"selector-id-pattern": "^[a-z][-_a-z0-9]*$",
"selector-no-vendor-prefix": null,
"selector-pseudo-element-colon-notation": null,
"shorthand-property-no-redundant-values": null,
"string-quotes": "double",
"unit-allowed-list": ["ch", "deg", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"],
"unit-allowed-list": ["ch", "deg", "dpcm", "em", "ex", "fr", "ms", "rem", "%", "s", "px", "vw", "vh"],
"value-keyword-case": ["lower", {
"camelCaseSvgKeywords": true,
"ignoreProperties": [
......
This diff is collapsed.
[![Vardot](https://circleci.com/gh/Vardot/varbase/tree/9.1.x.svg?style=shield)](https://app.circleci.com/pipelines/github/Vardot/varbase?branch=9.1.x) Varbase 9.1.x
[![Vardot](https://circleci.com/gh/Vardot/varbase/tree/10.0.x.svg?style=shield)](https://app.circleci.com/pipelines/github/Vardot/varbase/1036/workflows/b1a9527e-8ab6-4a7d-877b-ed940b80244b) [![Ceasefire Now](https://badge.techforpalestine.org/ceasefire-now)](https://techforpalestine.org/learn-more) Varbase 10.0.4
[![](https://www.drupal.org/files/styles/grid-3/public/project-images/Medium-Logo%20Color%20with%20padding.png)](https://www.drupal.org/project/varbase)
[![](https://www.drupal.org/files/project-images/varbase-medium-logo-color-with-padding.png)](https://www.drupal.org/project/varbase)
## Varbase: The Ultimate Drupal CMS Starter Kit (Bootstrap Ready)
......@@ -19,46 +19,57 @@ in every project.
* Comes with a lot of needed functionalities/modules for every-day Drupal site.
* [Tested, tested, and tested.](https://app.circleci.com/pipelines/github/Vardot/varbase)
Starting a new project? Consider Varbase for Drupal 9.
Installing Varbase 9.1.x comes with several extra automated installation
steps, to take full advantage of Varbase, other than the Drupal 9 installation
Starting a new project? Consider **Varbase** for **Drupal 10**.
Installing **Varbase `10.0.x`** comes with several extra automated installation
steps, to take full advantage of Varbase, other than the **Drupal 10** installation
instructions.
# Install with Composer
To install the dev version of Varbase 9.1.x run this command:
To install the most recent stable release of **Varbase `10.0.x`** run this command:
```
composer create-project vardot/varbase-project:9.1.x-dev PROJECT_DIR_NAME --stability dev --no-interaction
composer create-project Vardot/varbase-project:~10 PROJECT_DIR_NAME --no-dev --no-interaction
```
## [Create a new Vartheme sub theme for a project](https://github.com/Vardot/varbase/tree/9.1.x/scripts/README.md)
To install the dev version of **Varbase `10.0.x`** run this command:
```
composer create-project vardot/varbase-project:10.0.x-dev PROJECT_DIR_NAME --stability dev --no-interaction
```
## [Automated Functional Testing](https://github.com/Vardot/varbase/blob/9.1.x/tests/README.md)
## [Create a new Vartheme sub theme for a project](https://github.com/Vardot/varbase/tree/10.0.x/scripts/README.md)
## [Varbase 9.1.x Developer Guide](https://docs.varbase.vardot.com)
## [Automated Functional Testing](https://github.com/Vardot/varbase/blob/10.0.x/tests/README.md)
## [CHANGELOG for Varbase](https://github.com/Vardot/varbase/blob/9.1.x/CHANGELOG.md)
## [Varbase 10.0.x Developer Guide](https://docs.varbase.vardot.com/v/10.0.x)
## [Varbase Gherkin features](https://github.com/Vardot/varbase/blob/9.1.x/tests/features/varbase/README.md)
## [CHANGELOG for Varbase](https://github.com/Vardot/varbase/blob/10.0.x/CHANGELOG.md)
## [Varbase Developer Guide](https://docs.varbase.vardot.com)
## [Varbase Gherkin features](https://github.com/Vardot/varbase/blob/10.0.x/tests/features/varbase/README.md)
## [CHANGELOG for Varbase](https://github.com/Vardot/varbase/blob/9.1.x/CHANGELOG.md)
## [Varbase Developer Guide](https://docs.varbase.vardot.com/v/10.0.x/developers)
## [General instructions on how to update Varbase](https://github.com/Vardot/varbase/blob/9.1.x/UPDATE.md)
## [General instructions on how to update Varbase](https://github.com/Vardot/varbase/blob/10.0.x/UPDATE.md)
## Local development with Lando
## [Local development with Lando](https://docs.varbase.vardot.com/v/10.0.x/developers/installing-varbase/installing-varbase-with-lando)
1. Install Lando locally, steps for installing can be found [here](https://docs.lando.dev/basics/installation.html).
2. Run Lando start.
2. Run `lando start`.
## Debugging using Lando
- xDebug is enabled on Lando by default for PHP debugging.
- The debugger is set to listen for the port 9003 but can be changed in .lando/.php.ini
- The debugger is set to listen for the port 9003 but can be changed in `.lando/.php.ini`
## [Local development with DDEV](https://docs.varbase.vardot.com/v/10.0.x/developers/installing-varbase/installing-varbase-with-ddev)
1. Install DDEV locally, steps for installing can be found [here](https://ddev.readthedocs.io/en/stable/).
2. Run `ddev start`.
## Remote Development Environment (IDE)
> - [Gitpod](https://gitpod.io/#https://github.com/vardot/varbase-project)
> - [Tugboat.qa](https://www.tugboatqa.com)
Join Our Slack Team for Feedback and Support
http://slack.varbase.vardot.com/
......
......@@ -58,13 +58,13 @@ At the end of the update process, two log files are useful to troubleshoot
2. Edit your _composer.json_ file to be ready for updates. You have two choices.
Edit your _composer.json_ to include
all the new updates made in
[varbase-project](https://github.com/Vardot/varbase-project/blob/9.1.x/composer.json).
[varbase-project](https://github.com/Vardot/varbase-project/blob/10.0.x/composer.json).
This includes the new components required and its versions
_"require"_, _"repositories"_, _"extra"_, and any other important config.
You can use a diff tool such as [Meld](http://meldmerge.org/) or
[DiffMerge](https://sourcegear.com/diffmerge/) to help you diff between
your old _composer.json_ and the new one from
[varbase-project](https://github.com/Vardot/varbase-project/blob/9.1.x/composer.json).
[varbase-project](https://github.com/Vardot/varbase-project/blob/10.0.x/composer.json).
3. Back up your code and database
4. Execute Composer update to download updates to modules and libraries.
`composer update`
......
......@@ -16,58 +16,40 @@ default:
SEO admin: { email: 'test.seo_admin@vardot.com', password: 'dD.123123ddd' }
Site admin: { email: 'test.site_admin@vardot.com', password: 'dD.123123ddd' }
Super admin: { email: 'test.super_admin@vardot.com', password: 'dD.123123ddd' }
- VarbaseSelectorsContext:
parameters:
selectors:
## Add all css selectors which you will use in most features.
css:
breadcrumb: ".breadcrumb"
breadcrumb first link: ".breadcrumb li:nth-child(1) a"
image button in rich text editor body field: "#cke_edit-body-und-0-value .cke_button__image"
## Add all XPath selectors which you will use in most features.
xpath:
page title: '//h1[contains(@class, "page-header")'
textarea for body field: '//*[@id="edit-body-und-0-value"]'
rich text editor for body field: '//iframe[@title="Rich Text Editor, edit-body-und-0-value"]'
HTML editor for body field: '//*[@id="edit-body-und-0-value-aced"]'
## You can add list of selectorrs which you will use in most features.
# But by loading them from files.
files_path: "%paths.base%/tests/selectors/"
files:
- "varbase/front-end-selectors.yml"
- "varbase/back-end-selectors.yml"
- Drupal\DrupalExtension\Context\ConfigContext
- Drupal\DrupalExtension\Context\DrupalContext
- Drupal\DrupalExtension\Context\DrushContext
- Drupal\DrupalExtension\Context\MessageContext
- Drupal\DrupalExtension\Context\MinkContext
- Drupal\DrupalExtension\Context\MarkupContext
- Drupal\DrupalExtension\Context\RandomContext
formatters:
pretty:
verbose: true
paths: false
snippets: false
html:
verbose: true
paths: false
snippets: false
output_path: "%paths.base%/tests/reports/"
extensions:
Drupal\MinkExtension:
ajax_timeout: 60
base_url: http://varbase.test
browser_name: chrome
default_session: selenium2
javascript_session: selenium2
ajax_timeout: 120
files_path: "%paths.base%/tests/assets/"
goutte: ~
selenium2:
wd_host: 127.0.0.1:4445/wd/hub
browser: chrome
wd_host: 'http://127.0.0.1:4445/wd/hub'
capabilities:
# browser: 'firefox'
browser: 'chrome'
# browser: 'phantomjs'
nativeEvents: true
marionette: true
browser: chrome
browserName: chrome
version: "*"
extra_capabilities:
loggingPrefs:
performance: ALL
browser: ALL
chromeOptions:
w3c: false
w3c: true
args:
- "--headless"
- "--start-maximized"
......@@ -87,14 +69,14 @@ default:
- "--remote-debugging-port=9222"
- "--allowed-ips=*"
- "--whitelisted-ips=*"
base_url: 'http://varbase.test'
# browser_name: 'firefox'
browser_name: 'chrome'
# browser_name: 'phantomjs'
javascript_session: selenium2
- "--allow-insecure-localhost"
Drupal\DrupalExtension:
blackbox: ~
api_driver: 'drupal'
api_driver: 'drupal'
drush:
alias: 'local'
drupal:
drupal_root: '/var/www/html/test/varbase/docroot'
region_map:
content: ".main-container"
footer: "#footer"
......@@ -107,7 +89,7 @@ default:
error_message_selector: '.messages.error'
success_message_selector: '.messages.status'
warning_message_selector: '.messages.warning'
emuse\BehatHTMLFormatter\BehatHTMLFormatterExtension:
webship\BehatHTMLFormatter\BehatHTMLFormatterExtension:
name: html
renderer: Twig,Behat2
file_name: index
......
......@@ -13,7 +13,7 @@
<property name="db.database" value="test_varbase9000xxc" />
<property name="db.url" value="${db.type}://${db.user}:${db.password}@${db.host}/${db.database}" />
<property name="docroot" value="docroot" />
<property name="profile" value="${docroot}/profiles/varbase" />
<property name="profile" value="${docroot}/profiles/contrib/varbase" />
<property name="site" value="${docroot}/sites/default" />
<property name="version" value="HEAD" />
......@@ -100,12 +100,10 @@
<!-- Install with drush site install -->
<target name="install-with-drush-site-install" depends="env">
<!-- Use passthru() when executing drush site-install so that we'll know if errors occur. -->
<exec command="${drush} site-install varbase --yes --site-name='Test Varbase9000xxc' --account-name=webmaster --account-pass=dD.123123ddd --account-mail=webmaster@vardot.com --db-url=${db.url} varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider_media=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true varbase_development_tools.varbase_development=true" dir="${docroot}" passthru="true" />
<exec command="${drush} en varbase_styleguide --yes" dir="${docroot}" />
<exec command="${drush} site-install varbase --yes --site-name='Test Varbase9000xxc' --account-name=webmaster --account-pass=dD.123123ddd --account-mail=webmaster@vardot.com --db-url=${db.url} varbase_multilingual_configuration.enable_multilingual=true varbase_extra_components.vmi=true varbase_extra_components.varbase_heroslider=true varbase_extra_components.varbase_carousels=true varbase_extra_components.varbase_search=true varbase_extra_components.varbase_blog=true varbase_extra_components.varbase_auth=true varbase_development_tools.varbase_development=true" dir="${docroot}" passthru="true" />
<exec command="${drush} en vbp_text_and_image --yes" dir="${docroot}" />
<exec command="${drush} en varbase_media_instagram --yes" dir="${docroot}" />
<exec command="${drush} en varbase_media_twitter --yes" dir="${docroot}" />
<exec command="${drush} en social_auth_google --yes" dir="${docroot}" />
<exec command="${drush} en social_auth_facebook --yes" dir="${docroot}" />
<exec command="${drush} en social_auth_twitter --yes" dir="${docroot}" />
<exec command="${drush} en social_auth_linkedin --yes" dir="${docroot}" />
......
{
"name": "vardot/varbase",
"description": "Varbase: The Ultimate Drupal 9 CMS Starter Kit (Bootstrap Ready) | by Vardot",
"description": "Varbase: The Ultimate Drupal CMS Starter Kit (Bootstrap Ready) | by Vardot",
"type": "drupal-profile",
"license": "GPL-2.0-or-later",
"minimum-stability": "dev",
......@@ -26,51 +26,68 @@
"url": "https://asset-packagist.org"
}
},
"replace": {
"drupal/statistics": "*",
"jquery/fancytree": "*",
"fancytree/fancytree": "*",
"npm-asset/ckeditor5": "*",
"npm-asset/ckeditor5-dll-inline": "*",
"npm-asset/ckeditor5-core": "*",
"npm-asset/ckeditor5-engine":"*",
"npm-asset/ckeditor5-ui": "*",
"npm-asset/ckeditor5-utils": "*",
"npm-asset/ckeditor5-widget": "*",
"npm-asset/ckeditor--ckeditor5": "*",
"npm-asset/ckeditor--ckeditor5-dll-inline": "*",
"npm-asset/ckeditor--ckeditor5-core": "*",
"npm-asset/ckeditor--ckeditor5-engine":"*",
"npm-asset/ckeditor--ckeditor5-ui": "*",
"npm-asset/ckeditor--ckeditor5-utils": "*",
"npm-asset/ckeditor--ckeditor5-widget": "*",
"npm-asset/lodash-es": "*",
"npm-asset/lodash.debounce": "*",
"npm-asset/lodash.throttle": "*",
"npm-asset/nouislider": "*",
"npm-asset/rtseo.js": "*",
"bower-asset/jquery": "*",
"bower-asset/jquery-ui": "*"
},
"require": {
"composer/installers": "~1.0 || ~2.0",
"oomphinc/composer-installers-extender": "~1.0 || ~2.0",
"cweagans/composer-patches": "~1.0",
"drupal/core-composer-scaffold": "^9",
"drupal/core": "~9.0",
"drupal/varbase_core": "9.1.x-dev",
"drupal/varbase_api": "9.0.x-dev",
"drupal/varbase_media": "9.1.x-dev",
"drupal/varbase_editor": "9.1.x-dev",
"drupal/varbase_landing": "9.1.x-dev",
"drupal/varbase_core": "10.0.x-dev",
"drupal/varbase_components": "2.0.x-dev",
"drupal/varbase_api": "10.0.x-dev",
"drupal/varbase_ai": "1.0.x-dev",
"drupal/varbase_media": "10.0.x-dev",
"drupal/varbase_editor": "10.0.x-dev",
"drupal/varbase_landing": "10.0.x-dev",
"drupal/varbase_layout_builder": "10.1.x-dev",
"drupal/varbase_bootstrap_paragraphs": "9.1.x-dev",
"drupal/varbase_heroslider_media": "9.1.x-dev",
"drupal/varbase_carousels": "9.1.x-dev",
"drupal/varbase_blog": "9.1.x-dev",
"drupal/varbase_search": "9.0.x-dev",
"drupal/varbase_seo": "9.0.x-dev",
"drupal/varbase_auth": "9.0.x-dev",
"drupal/varbase_total_control": "9.0.x-dev",
"drupal/varbase_styleguide": "9.1.x-dev",
"drupal/varbase_email": "9.1.x-dev",
"drupal/varbase_workflow": "2.0.x-dev",
"drupal/vartheme_bs5": "1.0.x-dev",
"drupal/vartheme_claro": "3.0.x-dev",
"vardot/entity-definition-update-manager": "~1.0",
"vardot/module-installer-factory": "~1.0",
"bower-asset/objectfitpolyfill": "~2.0",
"bower-asset/chartjs": "2.7.*",
"bower-asset/c3": "0.7.*",
"bower-asset/d3": "~5.0",
"drupal/varbase_bootstrap_paragraphs": "10.0.x-dev",
"drupal/varbase_heroslider": "1.0.x-dev",
"drupal/varbase_heroslider_media": "10.0.x-dev",
"drupal/varbase_carousels": "10.0.x-dev",
"drupal/varbase_blog": "10.0.x-dev",
"drupal/varbase_search": "10.0.x-dev",
"drupal/varbase_seo": "10.0.x-dev",
"drupal/varbase_auth": "10.0.x-dev",
"drupal/varbase_dashboards": "1.0.x-dev",
"drupal/varbase_email": "10.0.x-dev",
"drupal/varbase_workflow": "3.0.x-dev",
"drupal/varbase_demo": "1.0.x-dev",
"drupal/vartheme_bs5": "3.0.x-dev",
"drupal/vartheme_claro": "4.0.x-dev",
"bower-asset/jqueryui-touch-punch": "dev-master",
"npm-asset/masonry-layout": "~4.0",
"npm-asset/imagesloaded": "~4.0",
"npm-asset/dropzone": "~5.0",
"npm-asset/blazy": "~1.0",
"npm-asset/slick-carousel": "~1.0",
"npm-asset/ace-builds": "~1.0",
"npm-asset/swagger-ui-dist": "~3.0"
"npm-asset/dropzone": "~5",
"npm-asset/blazy": "~1",
"npm-asset/slick-carousel": "~1",
"npm-asset/ace-builds": "~1",
"npm-asset/swagger-ui-dist": "~3",
"npm-asset/northernco--ckeditor5-anchor-drupal": "^0.5.0",
"npm-asset/ckeditor--ckeditor5-media-embed": "*",
"npm-asset/jquery.fancytree": "~2"
},
"require-dev": {
"drupal/core-dev": "~9.0",
"drush/drush": "~10.0 || ~11.0",
"drupal/drupal-extension": "~4.0",
"emuse/behat-html-formatter": "^0.2.0"
"drupal/core-dev": "~10 || ~11",
"drush/drush": "~12 || ~13"
},
"config": {
"bin-dir": "bin/",
......@@ -85,7 +102,8 @@
"drupal/core-composer-scaffold": true,
"drupal/core-project-message": true,
"dealerdirect/phpcodesniffer-composer-installer": true,
"vardot/varbase-updater": true
"phpstan/extension-installer": true,
"php-http/discovery": true
}
},
"autoload": {
......@@ -108,28 +126,27 @@
},
"extra": {
"drupal-scaffold": {
"allowed-packages": [
"drupal/core",
"vardot/varbase"
],
"gitignore": true,
"locations": {
"web-root": "docroot/"
"web-root": "./docroot"
}
},
"branch-alias": {
"dev-9.0.x": "9.0.x-dev",
"dev-9.1.x": "9.1.x-dev",
"dev-10.0.x": "10.0.x-dev"
},
"installer-types": [
"bower-asset",
"npm-asset"
],
"installer-paths": {
"docroot/core": ["type:drupal-core"],
"docroot/profiles/{$name}": ["type:drupal-profile"],
"docroot/profiles/contrib/{$name}": ["type:drupal-profile"],
"docroot/modules/contrib/{$name}": ["type:drupal-module"],
"docroot/themes/contrib/{$name}": ["type:drupal-theme"],
"docroot/libraries/slick": ["npm-asset/slick-carousel"],
"docroot/libraries/ace": ["npm-asset/ace-builds"],
"docroot/libraries/jquery-ui-touch-punch": ["bower-asset/jqueryui-touch-punch"],
"docroot/libraries/swagger-ui/dist": ["npm-asset/swagger-ui-dist"],
"docroot/libraries/ckeditor5-anchor-drupal": ["npm-asset/northernco--ckeditor5-anchor-drupal"],
"docroot/libraries/ckeditor5/plugins/media-embed": ["npm-asset/ckeditor--ckeditor5-media-embed"],
"docroot/libraries/fancytree": ["npm-asset/jquery.fancytree"],
"docroot/libraries/{$name}": [
"type:drupal-library",
"type:bower-asset",
......@@ -139,20 +156,22 @@
"docroot/themes/custom/{$name}": ["type:drupal-custom-theme"],
"drush/contrib/{$name}": ["type:drupal-drush"]
},
"installer-types": [
"bower-asset",
"npm-asset"
],
"drupal-libraries": {
"library-directory": "docroot/libraries",
"libraries": [
{"name": "objectfitpolyfill", "package": "bower-asset/objectfitpolyfill"},
{"name": "chartjs", "package": "bower-asset/chartjs"},
{"name": "c3","package": "bower-asset/c3"},
{"name": "d3", "package": "bower-asset/d3"},
{"name": "dropzone","package": "npm-asset/dropzone"},
{"name": "blazy", "package": "npm-asset/blazy"},
{"name": "slick", "package": "npm-asset/slick-carousel"},
{"name": "ace", "package": "npm-asset/ace-builds"},
{"name": "jquery-ui-touch-punch", "package": "bower-asset/jqueryui-touch-punch"},
{"name": "imagesloaded", "package": "npm-asset/imagesloaded"},
{"name": "swagger-ui", "package": "npm-asset/swagger-ui-dist"}
{"name": "swagger-ui", "package": "npm-asset/swagger-ui-dist"},
{"name": "ckeditor5-anchor-drupal", "package": "npm-asset/northernco--ckeditor5-anchor-drupal"},
{"name": "ckeditor5-media-embed", "package": "npm-asset/ckeditor--ckeditor5-media-embed"},
{"name": "fancytree", "package": "npm-asset/jquery.fancytree"}
]
},
"enable-patching": true,
......
admin: vartheme_claro
admin: gin
default: vartheme_bs5
langcode: en
status: true
dependencies: {}
dependencies: { }
id: administrator
label: "Super Admin"
label: 'Super Admin'
weight: -4
is_admin: true
permissions: {}
permissions: { }
langcode: en
status: true
dependencies: {}
dependencies:
module:
- system
- node
id: anonymous
label: "Anonymous user"
label: 'Anonymous user'
weight: -10
is_admin: false
permissions:
- "access content"
- "search content"
- "view media"
- 'access content'
langcode: en
status: true
dependencies: {}
dependencies:
module:
- system
- node
- user
id: authenticated
label: "Authenticated user"
label: 'Authenticated user'
weight: -9
is_admin: false
permissions:
- "access content"
- "access shortcuts"
- "access sitemap"
- "access tour"
- "access user profiles"
- "bypass honeypot protection"
- "delete media"
- "delete own audio media"
- "delete own file media"
- "delete own gallery media"
- "delete own image media"
- "delete own instagram media"
- "delete own landing_page content"
- "delete own landing_page_lb content"
- "delete own page content"
- "delete own remote_video media"
- "delete own tweet media"
- "delete own varbase_blog content"
- "delete own varbase_heroslider_media content"
- "delete own video media"
- "edit own audio media"
- "edit own file media"
- "edit own gallery media"
- "edit own image media"
- "edit own instagram media"
- "edit own landing_page content"
- "edit own landing_page_lb content"
- "edit own page content"
- "edit own remote_video media"
- "edit own tweet media"
- "edit own varbase_blog content"
- "edit own varbase_heroslider_media content"
- "edit own video media"
- "opt-in or out of google analytics tracking"
- "search content"
- "update media"
- "use text format basic_html"
- userprotect.account.edit
- userprotect.mail.edit
- userprotect.pass.edit
- "view media"
- "view own unpublished media"
- 'access content'
- 'access user profiles'
langcode: en
status: true
dependencies: {}
dependencies:
module:
- system
- node
- block
id: content_admin
label: "Content Admin"
label: 'Content Admin'
weight: -7
is_admin: null
permissions:
- "Flush all caches from admin toolbar"
- "access admin audit trail"
- "access administration pages"
- "access carousels_media_browser entity browser pages"
- "access coffee"
- "access content overview"
- "access contextual links"
- "access editor_media_browser entity browser pages"
- "access editor_multiple_image_browser entity browser pages"
- "access editor_multiple_media_browser entity browser pages"
- "access files overview"
- "access google analytics reports"
- "access heroslider_media_browser entity browser pages"
- "access image_browser entity browser pages"
- "access images_browser entity browser pages"
- "access in-place editing"
- "access media overview"
- "access media_browser entity browser pages"
- "access multiple_image_browser entity browser pages"
- "access multiple_media_browser entity browser pages"
- "access panels in-place editing"
- "access paragraphs_library_items entity browser pages"
- "access responsive preview"
- "access shortcuts"
- "access site in maintenance mode"
- "access site reports"
- "access taxonomy overview"
- "access toolbar"
- "access tour"
- "access user profiles"
- "access video_browser entity browser pages"
- "access webform overview"
- "add terms in blog_categories"
- "add terms in categories"
- "add terms in tags"
- "administer footer menu items"
- "administer main menu items"
- "administer menu"
- "administer taxonomy"
- "break content lock"
- "change layouts in place editing"
- "clone block entity"
- "clone block_content entity"
- "clone media entity"
- "clone menu_link_content entity"
- "clone node entity"
- "clone paragraph entity"
- "clone taxonomy_term entity"
- "clone taxonomy_vocabulary entity"
- "clone webform entity"
- "configure all landing_page_lb node layout overrides"
- "create and edit custom blocks"
- "create audio media"
- "create basic block content"
- "create content translations"
- "create faq content"
- "create file media"
- "create gallery media"
- "create image media"
- "create instagram media"
- "create landing_page content"
- "create landing_page_lb content"
- "create media"
- "create page content"
- "create paragraph library item"
- "create remote_video media"
- "create tweet media"
- "create url aliases"
- "create varbase_blog content"
- "create varbase_carousel_block block content"
- "create varbase_gallery_block block content"
- "create varbase_heroslider_media content"
- "create varbase_media_block block content"
- "create varbase_modal_block block content"
- "create varbase_rich_text_block block content"
- "create video media"
- "create webform"
- "customize shortcut links"
- "delete any audio media"
- "delete any basic block content"
- "delete any faq content"
- "delete any file media"
- "delete any gallery media"
- "delete any image media"
- "delete any instagram media"
- "delete any landing_page content"
- "delete any landing_page_lb content"
- "delete any media"
- "delete any page content"
- "delete any remote_video media"
- "delete any tweet media"
- "delete any varbase_blog content"
- "delete any varbase_carousel_block block content"
- "delete any varbase_gallery_block block content"
- "delete any varbase_heroslider_media content"
- "delete any varbase_media_block block content"
- "delete any varbase_modal_block block content"
- "delete any varbase_rich_text_block block content"
- "delete any video media"
- "delete any webform"
- "delete any webform submission"
- "delete content translations"
- "delete media"
- "delete own audio media"
- "delete own episode content"
- "delete own faq content"
- "delete own file media"
- "delete own gallery media"
- "delete own image media"
- "delete own instagram media"
- "delete own landing_page content"
- "delete own landing_page_lb content"
- "delete own page content"
- "delete own remote_video media"
- "delete own tweet media"
- "delete own varbase_blog content"
- "delete own varbase_heroslider_media content"
- "delete own video media"
- "delete terms in categories"
- "dropzone upload files"
- "ds switch view mode"
- "edit any audio media"
- "edit any file media"
- "edit any gallery media"
- "edit any image media"
- "edit any instagram media"
- "edit any landing_page content"
- "edit any landing_page_lb content"
- "edit any page content"
- "edit any remote_video media"
- "edit any tweet media"
- "edit any varbase_blog content"
- "edit any varbase_heroslider_media content"
- "edit any video media"
- "edit any webform"
- "edit own audio media"
- "edit own file media"
- "edit own gallery media"
- "edit own image media"
- "edit own instagram media"
- "edit own landing_page content"
- "edit own page content"
- "edit own remote_video media"
- "edit own tweet media"
- "edit own varbase_blog content"
- "edit own varbase_heroslider_media content"
- "edit own video media"
- "edit paragraph library item"
- "edit terms in categories"
- "have total control"
- "manipulate all entityqueues"
- "rabbit hole bypass node"
- "rabbit hole bypass taxonomy_term"
- "reorder terms in blog_categories"
- "reorder terms in categories"
- "reorder terms in tags"
- "revert all media revisions"
- "revert all revisions"
- "revert faq revisions"
- "revert landing_page revisions"
- "revert landing_page_lb revisions"
- "revert page revisions"
- "revert varbase_blog revisions"
- "revert varbase_heroslider_media revisions"
- "schedule publishing of nodes"
- "translate any entity"
- "translate block_content"
- "translate landing_page node"
- "translate landing_page_lb node"
- "translate page node"
- "translate paragraph"
- "update any basic block content"
- "update any media"
- "update any varbase_carousel_block block content"
- "update any varbase_gallery_block block content"
- "update any varbase_media_block block content"
- "update any varbase_modal_block block content"
- "update any varbase_rich_text_block block content"
- "update content translations"
- "update media"
- "update varbase_heroslider_media entityqueue"
- "use ipe with page manager"
- "use media_bulk_upload bulk upload form"
- "use moderation sidebar"
- "use panels dashboard"
- "use text format basic_html"
- "use text format basic_html"
- "use text format full_html"
- "use varbase_editorial_workflow transition archive"
- "use varbase_editorial_workflow transition archived_published"
- "use varbase_editorial_workflow transition create_new_draft"
- "use varbase_editorial_workflow transition publish"
- "use varbase_editorial_workflow transition review"
- "use varbase_simple_workflow transition archive"
- "use varbase_simple_workflow transition archived_published"
- "use varbase_simple_workflow transition create_new_draft"
- "use varbase_simple_workflow transition publish"
- "use yoast seo"
- "view all media revisions"
- "view all revisions"
- "view any paragraphs previewer"
- "view any unpublished content"
- "view any webform submission"
- "view content planner dashboard"
- "view faq revisions"
- "view landing_page revisions"
- "view landing_page_lb revisions"
- "view latest version"
- "view media"
- "view own unpublished content"
- "view page revisions"
- "view pane admin links"
- "view post access counter"
- "view scheduled content"
- "view terms in blog_categories"
- "view terms in tags"
- "view the administration theme"
- "view unpublished paragraphs"
- "view varbase_blog revisions"
- "view varbase_heroslider_media revisions"
- 'access content overview'
- 'revert all revisions'
- 'view all revisions'
- 'view own unpublished content'
- 'administer menu'
- 'access administration pages'
- 'access site in maintenance mode'
- 'access site reports'
- 'view the administration theme'