Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
08140a2
Move files around for monorepo
riasvdv Sep 27, 2025
179a2be
@packageRoot -> @craftcms
riasvdv Sep 27, 2025
eea7bf4
Run pint on full repo except adapter
riasvdv Sep 27, 2025
0f06389
Get Laravel tests running
riasvdv Sep 27, 2025
47591c2
Fix lint-staged to run ecs on adapter
riasvdv Sep 27, 2025
2eb0d8f
Add yii2-adapter to export-ignore
riasvdv Sep 27, 2025
3837742
Move ecs to adapter
riasvdv Sep 27, 2025
f76063f
Fix adapter tests running
riasvdv Sep 27, 2025
766af71
Run rector only on cms and not adapter
riasvdv Sep 27, 2025
f54002e
Prettier
riasvdv Sep 29, 2025
a6769d2
Move legacy tests
riasvdv Sep 29, 2025
557b816
Get codeception tests running
riasvdv Sep 29, 2025
07734d7
Fix pint workflow
riasvdv Sep 29, 2025
4748fca
Add example env files
riasvdv Sep 29, 2025
58a996f
Fix phpstan
riasvdv Sep 29, 2025
ae54445
Use working directory
riasvdv Sep 30, 2025
85aefe8
ecs fix
riasvdv Sep 30, 2025
35f8e6e
Split phpstan
riasvdv Sep 30, 2025
362fce9
Fix dependency install
riasvdv Sep 30, 2025
69b055a
Prettier fixes
riasvdv Sep 30, 2025
0388753
Get phpstan working for adapter
riasvdv Sep 30, 2025
538c6f2
Move env files
riasvdv Sep 30, 2025
fc16bf6
Rename test folders in adapter package
riasvdv Sep 30, 2025
d34ec02
Fix ignored folders
riasvdv Sep 30, 2025
68263dc
Fix tests
riasvdv Sep 30, 2025
0831374
Add split workflow
riasvdv Sep 30, 2025
7de88a5
Remove test
riasvdv Sep 30, 2025
d6628b3
Add feature branch temporarily
riasvdv Sep 30, 2025
e9e8512
Add token
riasvdv Sep 30, 2025
9d1067d
Try again
riasvdv Sep 30, 2025
c95abba
Use separate token
riasvdv Sep 30, 2025
2bb5f64
Merge branch 'feature/addresses' into feature/split-packages
riasvdv Sep 30, 2025
01212e0
Update checkout action
riasvdv Sep 30, 2025
01aa40d
Add branch
riasvdv Sep 30, 2025
905b8b1
Use 2.3.0 until issue is fixed
riasvdv Sep 30, 2025
83eed66
Use self.version as version requirement
riasvdv Sep 30, 2025
93aceb0
Update version
riasvdv Sep 30, 2025
f9dde5b
Add COMPOSER_ROOT_VERSION to laravel-ci
riasvdv Sep 30, 2025
b7b74db
Fix version
riasvdv Sep 30, 2025
4338112
Add COMPOSER_ROOT_VERSION to ci.yml
riasvdv Sep 30, 2025
61a7ff4
Set composer version
riasvdv Sep 30, 2025
3fc8b81
Use pint as tool
riasvdv Sep 30, 2025
546dca0
Forgot one
riasvdv Sep 30, 2025
ad9803c
Move templates to resources/templates
riasvdv Oct 1, 2025
8d7de28
Fix workflow
riasvdv Oct 1, 2025
26bc7f2
Fix test
riasvdv Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ ignore:
- 'src/config'
- 'src/icons'
- 'src/migrations'
- 'src/templates'
- 'src/test/internal'
- 'src/translations'
- 'src/views'
Expand Down
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@
/tsconfig.json export-ignore
/webpack.config.js export-ignore

# Ignore exporting the adapter as it will be split off and released on its own.
/yii2-adapter export-ignore

# Identify generated files
/src/translations/a*/app.php linguist-generated=true
/src/translations/c*/app.php linguist-generated=true
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ jobs:
craft_version: '6'
node_version: '20'
jobs: '["ecs", "prettier", "phpstan", "tests", "rector"]'
working_directory: 'yii2-adapter'
notify_slack: true
slack_subteam: <!subteam^SGFL9NKNZ>
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/facades.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,4 +64,4 @@ jobs:
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Update facade docblocks
file_pattern: cms/
file_pattern: src/
46 changes: 39 additions & 7 deletions .github/workflows/laravel-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,37 @@ jobs:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: composer:v2, laravel/pint
extensions: json, dom, curl, libxml, mbstring
coverage: none

- name: Install Pint
run: composer global require laravel/pint

- name: Run Pint
run: pint cms --parallel --test --verbose
run: pint --parallel --test --verbose

phpstan:
name: 'Code Quality / Phpstan'
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v5

- uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
coverage: none

- name: Set version
run: composer config version "6.x-dev"

- name: Install composer dependencies
uses: ramsey/composer-install@v3

- name: Run PHPStan
run: ./vendor/bin/phpstan --error-format=github

tests:
needs: [pint]
needs: [pint, phpstan]
name: Tests / PHP ${{ matrix.php }} on ${{ matrix.db }}
runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -100,11 +120,23 @@ jobs:
cp ./tests/.env.example.${{ matrix.db }} ./tests/.env
sed -i 's/DB_PASSWORD=/DB_PASSWORD=mysecretpassword/' tests/.env

- name: Set version
run: composer config version "6.x-dev"

- name: Install dependencies
uses: ramsey/composer-install@v3

- name: Execute CMS tests
run: vendor/bin/pest --ci --configuration ./cms/phpunit.xml.dist --test-directory ./cms/tests
run: vendor/bin/pest

- name: Set version
run: composer config version "6.x-dev"
working-directory: yii2-adapter

- name: Install yii2-adapter dependencies
uses: ramsey/composer-install@v3
with:
working-directory: yii2-adapter

- name: Execute Yii2 Adapter tests
run: vendor/bin/pest --ci --configuration ./yii2-adapter/phpunit.xml.dist --test-directory ./yii2-adapter/tests
run: vendor/bin/pest --ci --configuration ./yii2-adapter/phpunit.xml.dist --test-directory ./yii2-adapter/tests-laravel
44 changes: 44 additions & 0 deletions .github/workflows/monorepo-split.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: monorepo-split

on:
workflow_dispatch:
push:
branches:
- main
- 6.x
- feature/split-packages
tags: '*'

jobs:
split-monorepo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5

# No tag
- name: Monorepo Split
if: "!startsWith(github.ref, 'refs/tags/')"
uses: danharrin/monorepo-split-github-action@v2.3.0
env:
GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
with:
package_directory: 'yii2-adapter'
repository_organization: 'craftcms'
repository_name: 'yii2-adapter'
branch: ${{ github.head_ref || github.ref_name }}
user_name: 'shinybrad'
user_email: 'shinybrad@pixelandtonic.com'

# With Tag
- name: Monorepo Split
if: "startsWith(github.ref, 'refs/tags/')"
uses: danharrin/monorepo-split-github-action@v2.3.0
env:
GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
with:
tag: ${GITHUB_REF#refs/tags/}
package_directory: 'yii2-adapter'
repository_organization: 'craftcms'
repository_name: 'yii2-adapter'
user_name: 'shinybrad'
user_email: 'shinybrad@pixelandtonic.com'
6 changes: 4 additions & 2 deletions .lintstagedrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"*.php": ["./vendor/bin/phpstan analyse --memory-limit=1G"],
"!(cms)/**/*.php": ["./vendor/bin/ecs check --ansi --fix"],
"cms/**/*.php": ["./vendor/bin/pint cms --parallel"],
"yii2-adapter/**/*.php": [
"./yii2-adapter/vendor/bin/ecs check --config ./yii2-adapter/ecs.php --ansi --fix"
],
"!(yii2-adapter)/**/*.php": ["./vendor/bin/pint --parallel"],
"*.scss": ["stylelint --fix --allow-empty-input"],
"*.{html,json,css,scss}": "prettier --ignore-unknown --write"
}
9 changes: 4 additions & 5 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
*.md
*.php
composer.lock
cpresources/*
lib/*
src/templates/*
src/web/assets/**/dist/*
packages/**/dist/*
tests/_craft/*
vendor/*
.ddev/*
yii2-adapter/cpresources/*
yii2-adapter/lib/*
yii2-adapter/legacy/web/assets/**/dist/*
yii2-adapter/legacy-tests/_craft/*
79 changes: 20 additions & 59 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"keywords": [
"cms",
"craftcms",
"yii2"
"laravel"
],
"homepage": "https://craftcms.com",
"license": "proprietary",
Expand Down Expand Up @@ -41,109 +41,78 @@
"craftcms/laravel-dependency-aware-cache": "^1.0",
"craftcms/plugin-installer": "~1.6.0",
"craftcms/server-check": "~5.0.1",
"creocoder/yii2-nested-sets": "~0.9.0",
"craftcms/yii2-adapter": "self.version",
"elvanto/litemoji": "~4.3.0",
"enshrined/svg-sanitize": "~0.22.0",
"guzzlehttp/guzzle": "^7.2.0",
"laravel/framework": "^12.21.0",
"league/uri": "^7.0",
"mikehaertl/php-shellcommand": "^1.6.3",
"moneyphp/money": "^4.0",
"monolog/monolog": "^3.0",
"phpdocumentor/reflection-docblock": "^5.3",
"pixelandtonic/imagine": "~1.3.3.1",
"pragmarx/google2fa": "^8.0",
"pragmarx/recovery": "^0.2.1",
"samdark/yii2-psr-log-target": "^1.1.3",
"seld/cli-prompt": "^1.0.4",
"spatie/laravel-data": "^4.17",
"symfony/css-selector": "^6.0|^7.0",
"symfony/dom-crawler": "^6.0|^7.0",
"symfony/filesystem": "^6.3",
"symfony/filesystem": "^6.3|^7.0",
"symfony/http-client": "^6.0.3|^7.0",
"symfony/property-access": "^7.0",
"symfony/property-info": "^7.0",
"symfony/serializer": "^6.4",
"symfony/var-dumper": "^7.2",
"symfony/yaml": "^7.0",
"theiconic/name-parser": "^1.2",
"tpetry/laravel-query-expressions": "^1.5",
"twig/twig": "~3.21.1",
"voku/stringy": "^6.5",
"web-auth/webauthn-lib": "~4.9.0",
"webonyx/graphql-php": "~14.11.10",
"yiisoft/html": "^3.11",
"yiisoft/yii2": "~2.0.52.0",
"yiisoft/yii2-debug": "~2.1.27.0",
"yiisoft/yii2-queue": "~2.3.2",
"yiisoft/yii2-symfonymailer": "^4.0.0"
"yiisoft/html": "^3.11"
},
"require-dev": {
"codeception/codeception": "^5.2.0",
"codeception/lib-innerbrowser": "4.0.6",
"codeception/module-asserts": "^3.0.0",
"codeception/module-datafactory": "^3.0.0",
"codeception/module-phpbrowser": "^3.0.0",
"codeception/module-rest": "^3.3.2",
"codeception/module-yii2": "^1.1.9",
"craftcms/ecs": "dev-main",
"dg/bypass-finals": "^1.9",
"fakerphp/faker": "^1.19.0",
"larastan/larastan": "^3.4",
"laravel/pint": "^1.22",
"league/factory-muffin": "^3.3.0",
"orchestra/testbench": "^10.3",
"pestphp/pest": "^4.0",
"pestphp/pest-plugin-arch": "^4.0",
"pestphp/pest-plugin-laravel": "^4.0",
"phpstan/phpstan": "^2.1",
"rector/rector": "^2.0",
"vlucas/phpdotenv": "^5.4.1",
"yiisoft/yii2-redis": "^2.0"
},
"provide": {
"bower-asset/inputmask": "5.0.9",
"bower-asset/jquery": "3.6.1",
"bower-asset/punycode": "^1.4",
"bower-asset/yii2-pjax": "~2.0.1",
"yii2tech/ar-softdelete": "1.0.4"
"rector/rector": "^2.0"
},
"repositories": [
{
"type": "path",
"url": "./yii2-adapter"
}
],
"suggest": {
"ext-exif": "Adds support for parsing image EXIF data.",
"ext-imagick": "Adds support for more image processing formats and options.",
"ext-iconv": "Adds support for more character encodings than PHP’s built-in mb_convert_encoding() function, which Craft will take advantage of when converting strings to UTF-8."
},
"autoload": {
"psr-4": {
"craft\\": [
"src/",
"yii2-adapter/legacy/"
],
"CraftCms\\Cms\\": "cms/src/",
"CraftCms\\Yii2Adapter\\": "yii2-adapter/src/",
"yii2tech\\ar\\softdelete\\": "lib/ar-softdelete/src/"
"CraftCms\\Cms\\": "src/"
},
"files": [
"cms/src/helpers.php"
"src/helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"CraftCms\\Cms\\Tests\\": "cms/tests/",
"CraftCms\\Cms\\Database\\": "cms/database/",
"CraftCms\\Yii2Adapter\\Tests\\": "yii2-adapter/tests/",
"crafttests\\": "tests/"
"CraftCms\\Cms\\Tests\\": "tests/",
"CraftCms\\Cms\\Database\\": "database/",
"CraftCms\\Yii2Adapter\\Tests\\": "yii2-adapter/tests-laravel/"
}
},
"scripts": {
"copy-icons": "php ./scripts/copyicons.php",
"check-cs": "ecs check --ansi && pint cms --test",
"fix-cs": "npx concurrently -c 'rector' 'ecs check --ansi --fix' 'pint cms --parallel' --names=rector,ecs,pint",
"codecept-build": "codecept build",
"fix-cs": "npx concurrently -c 'rector' 'pint src --parallel' './yii2-adapter/vendor/bin/ecs check --config ./yii2-adapter/ecs.php --ansi --fix' --names=rector,pint,ecs",
"phpstan": "phpstan --memory-limit=1G",
"rector": "rector",
"tests-cms": "./vendor/bin/pest --configuration ./cms/phpunit.xml.dist --test-directory ./cms/tests",
"tests-adapter": "./vendor/bin/pest --configuration ./yii2-adapter/phpunit.xml.dist --test-directory ./yii2-adapter/tests"
"tests": "./vendor/bin/pest",
"tests-adapter": "./vendor/bin/pest --configuration ./yii2-adapter/phpunit.xml.dist --test-directory ./yii2-adapter/tests-laravel"
},
"config": {
"sort-packages": true,
Expand All @@ -160,18 +129,10 @@
"extra": {
"laravel": {
"providers": [
"CraftCms\\Cms\\Providers\\CraftServiceProvider",
"CraftCms\\Yii2Adapter\\Yii2ServiceProvider"
"CraftCms\\Cms\\Providers\\CraftServiceProvider"
]
}
},
"repositories": {
"packagist.org": false,
"private-packagist": {
"type": "composer",
"url": "https://repo.packagist.com/craftcms/"
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
Loading
Loading