Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d607e0c
[Studio] second attempt to integrate into studio
dpfaffenbauer Sep 3, 2025
5770e7a
[Studio] routing for studio and remove resource stuff, will be added …
dpfaffenbauer Sep 3, 2025
16212ba
[Studio] build stuff - wasted the whole day to not figure it out as I…
dpfaffenbauer Sep 4, 2025
4cc9d5e
[Studio] implement open order by feature
dpfaffenbauer Sep 4, 2025
47005ec
[Studio] disabled unused menu
dpfaffenbauer Sep 5, 2025
a45f9e2
[Studio] refactor of the refactor i guess :D
dpfaffenbauer Sep 11, 2025
46cae9d
[Studio] implement tax-rules, tax-rule-groups and exchange rates
dpfaffenbauer Oct 28, 2025
6b7abf8
[Studio] start implementing rules
dpfaffenbauer Oct 29, 2025
0baa6ba
[Studio] continue implementing rules
dpfaffenbauer Oct 30, 2025
f514b39
[Studio] implementing more for studio :)
dpfaffenbauer Nov 6, 2025
a947f28
[Studio] implementing index bundle ;)
dpfaffenbauer Nov 7, 2025
50a8339
[Studio] order detail :)
dpfaffenbauer Nov 11, 2025
c68938b
[Studio] order changes and translations
dpfaffenbauer Nov 18, 2025
b1fd381
[Studio] form builder and refactorings
dpfaffenbauer Nov 20, 2025
ce01cc4
[Studio] docs and menu
dpfaffenbauer Nov 20, 2025
80d4ad1
[Studio] units
dpfaffenbauer Nov 24, 2025
6543fdb
[Studio] add order-creation
dpfaffenbauer Jan 7, 2026
4cb97a4
Merge branch '5.0' into studiov2
dpfaffenbauer Jan 7, 2026
e230cda
[Studio] missing payment providers and payment provider rules
dpfaffenbauer Jan 8, 2026
56db48b
[Studio] implement customer lists and other improvements
dpfaffenbauer Jan 14, 2026
d5fd67c
[Studio] mercure and other refactors
dpfaffenbauer Jan 14, 2026
79e2fae
[Studio] grid filters and bigger refactor
dpfaffenbauer Jan 17, 2026
80c03b6
[Studio] dynamic types for quantity price rules and coreshop relation
dpfaffenbauer Jan 19, 2026
e32212d
[Studio] docs
dpfaffenbauer Jan 20, 2026
be0041e
[Studio] add exports
dpfaffenbauer Jan 20, 2026
cd77b35
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
19c0eea
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
f64fa0d
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
8215eae
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
9feaf67
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
f01b2b7
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
3b2d4cc
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
eaab984
Merge branch '5.0' into studiov2
dpfaffenbauer Feb 11, 2026
40321d0
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
a3fbeb7
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
c8f2de4
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
16e5f42
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
12bdc47
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
59329a6
[Studio] studio changes
dpfaffenbauer Feb 11, 2026
00d6078
[Studio] fix tests
dpfaffenbauer Feb 11, 2026
770ba5c
[Studio] type fixes
dpfaffenbauer Feb 12, 2026
fa5e2b7
[Studio] build CI fix
dpfaffenbauer Feb 12, 2026
e1b84a1
🚀 Build CoreShop Studio bundles
actions-user Feb 12, 2026
da58b7c
[Studio] skip ci after frontend build
dpfaffenbauer Feb 12, 2026
49c2a9c
Merge branch 'studiov2' of github.com:dpfaffenbauer/CoreShop into stu…
dpfaffenbauer Feb 12, 2026
51c73d1
🚀 Build CoreShop Studio bundles [skip ci]
actions-user Feb 12, 2026
a352fa4
[Studio] frontend build commit action
dpfaffenbauer Feb 12, 2026
d098521
Merge branch 'studiov2' of github.com:dpfaffenbauer/CoreShop into stu…
dpfaffenbauer Feb 12, 2026
0d6deee
[Studio] readme
dpfaffenbauer Feb 12, 2026
a1f4a7d
[Studio] run static tests
dpfaffenbauer Feb 12, 2026
9d6e04b
[Studio] fix phpstan
dpfaffenbauer Feb 12, 2026
f1333f5
[Studio] fix phpstan - build optimizations
dpfaffenbauer Feb 12, 2026
f97dbc8
[Studio] min requirements
dpfaffenbauer Feb 12, 2026
bae1726
[Studio] payum tests
dpfaffenbauer Feb 12, 2026
cd6a865
[Studio] payum tests
dpfaffenbauer Feb 12, 2026
2be36ac
[Studio] fix lock file
dpfaffenbauer Feb 12, 2026
46a2770
[Studio] fixes
dpfaffenbauer Feb 12, 2026
5f462f4
[Studio] fixes
dpfaffenbauer Feb 12, 2026
846f304
[Studio] fixes
dpfaffenbauer Feb 12, 2026
2fc8cab
[Studio] pull_request_target tests
dpfaffenbauer Feb 12, 2026
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
  •  
  •  
  •  
20 changes: 19 additions & 1 deletion .docker/nginx.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ upstream php-pimcore11 {
server {
listen [::]:80 default_server;
listen 80 default_server;


fastcgi_buffer_size 128k;
fastcgi_buffers 8 256k;
fastcgi_busy_buffers_size 256k;
#server_name pimcore.localhost;

root /var/www/html/public;
Expand Down Expand Up @@ -50,6 +53,21 @@ server {
# return 403;
# }

# Mercure Hub Proxy für SSE (Server-Sent Events)
# /hub/.well-known/mercure -> http://mercure/.well-known/mercure
location /hub/ {
rewrite ^/hub/(.*)$ /$1 break;
proxy_pass http://mercure;
proxy_read_timeout 24h;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_cache off;
}

# Pimcore Head-Link Cache-Busting
rewrite ^/cache-buster-(?:\d+)/(.*) /$1 last;

Expand Down
36 changes: 35 additions & 1 deletion .github/workflows/behat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- '*.php'
- 'src/**'
- '.github/workflows/behat.yml'
pull_request:
pull_request_target:
branches: [ '5.0', 'next' ]
paths:
- 'composer.json'
Expand Down Expand Up @@ -70,6 +70,17 @@ jobs:
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

opensearch:
image: "opensearchproject/opensearch:2.11.1"
env:
discovery.type: single-node
plugins.security.disabled: "true"
OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m"
action.auto_create_index: "false"
ports:
- 9200:9200

name: "${{ matrix.pimcore }}, PHP ${{ matrix.php }}, Deps ${{ matrix.dependencies }}"

steps:
Expand Down Expand Up @@ -126,9 +137,32 @@ jobs:
- name: Assets Install
run: bin/console assets:install --symlink

- name: Configure OpenSearch Client
run: |
mkdir -p config/local
cat > config/local/opensearch.yaml << 'EOF'
pimcore_open_search_client:
clients:
default:
hosts: ['http://127.0.0.1:9200']
ssl_verification: false
EOF

- name: Install Pimcore
run: PIMCORE_KERNEL_CLASS=Kernel vendor/bin/pimcore-install --env=test --skip-database-config

- name: Install Pimcore Bundles
run: |
bin/console pimcore:bundle:install --no-post-change-commands PimcoreApplicationLoggerBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreCustomReportsBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreGenericDataIndexBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreGenericExecutionEngineBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreSimpleBackendSearchBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreStudioBackendBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreStudioUiBundle
bin/console pimcore:deployment:classes-rebuild --force --create-classes
bin/console generic-data-index:update:index -r

- name: Install CoreShop
run: |
bin/console coreshop:install
Expand Down
36 changes: 35 additions & 1 deletion .github/workflows/behat_ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- '*.php'
- 'src/**'
- '.github/workflows/behat_ui.yml'
pull_request:
pull_request_target:
branches: [ '5.0', 'next' ]
paths:
- 'composer.json'
Expand Down Expand Up @@ -71,6 +71,17 @@ jobs:
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3

opensearch:
image: "opensearchproject/opensearch:2.11.1"
env:
discovery.type: single-node
plugins.security.disabled: "true"
OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m"
action.auto_create_index: "false"
ports:
- 9200:9200

name: "${{ matrix.pimcore }}, PHP ${{ matrix.php }}, Deps ${{ matrix.dependencies }}"

steps:
Expand Down Expand Up @@ -132,9 +143,32 @@ jobs:
- name: Assets Install
run: bin/console assets:install --symlink

- name: Configure OpenSearch Client
run: |
mkdir -p config/local
cat > config/local/opensearch.yaml << 'EOF'
pimcore_open_search_client:
clients:
default:
hosts: ['http://127.0.0.1:9200']
ssl_verification: false
EOF

- name: Install Pimcore
run: PIMCORE_KERNEL_CLASS=Kernel vendor/bin/pimcore-install --env=test --skip-database-config

- name: Install Pimcore Bundles
run: |
bin/console pimcore:bundle:install --no-post-change-commands PimcoreApplicationLoggerBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreCustomReportsBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreGenericDataIndexBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreGenericExecutionEngineBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreSimpleBackendSearchBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreStudioBackendBundle
bin/console pimcore:bundle:install --no-post-change-commands PimcoreStudioUiBundle
bin/console pimcore:deployment:classes-rebuild --force --create-classes
bin/console generic-data-index:update:index -r

- name: Install CoreShop
run: |
bin/console coreshop:install
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/frontend-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: CoreShop Studio Frontend Build

on:
push:
branches: [ '4.0', '4.1', '5.0', 'next', 'studiov2' ]
pull_request_target:
branches: [ '4.0', '4.1', '5.0', 'next', 'studiov2' ]

jobs:
frontend-build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'

- name: Cache Rsbuild build cache
uses: actions/cache@v4
with:
path: node_modules/.cache/rsbuild
key: rsbuild-${{ hashFiles('package-lock.json') }}-${{ github.sha }}
restore-keys: |
rsbuild-${{ hashFiles('package-lock.json') }}-

- name: Install dependencies
run: npm ci

- name: Type check
run: npm run check-types

- name: Build changed bundles
if: github.event_name == 'pull_request'
run: npm run build -- --changed-only

- name: Build all bundles
if: github.event_name == 'push'
run: npm run build

- name: Commit built assets
if: github.event_name == 'push'
uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "🚀 Build CoreShop Studio bundles [skip ci]"
file_pattern: "src/CoreShop/Bundle/*/Resources/public/studio/*/**"
2 changes: 1 addition & 1 deletion .github/workflows/packages_bundles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
test-packages:
needs: list
runs-on: ubuntu-latest
name: "${{ matrix.package }}, PHP ${{ matrix.php }}, Pimcore ${{ matrix.pimcore }}"
name: "${{ matrix.package }}, PHP ${{ matrix.php }}, Pimcore ${{ matrix.pimcore }}, Deps ${{ matrix.dependencies }}"
strategy:
fail-fast: false
matrix:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/packages_components.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
needs: list
if: github.repository == 'coreshop/CoreShop'
runs-on: ubuntu-latest
name: "${{ matrix.package }}, PHP ${{ matrix.php }}, Pimcore ${{ matrix.pimcore }}"
name: "${{ matrix.package }}, PHP ${{ matrix.php }}, Pimcore ${{ matrix.pimcore }}, Deps ${{ matrix.dependencies }}"
strategy:
fail-fast: false
matrix:
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,8 @@ docs/.docusaurus
node_modules
cache/
docker-compose.override.yaml
settings.local.json
.rsbuild

# CoreShop Studio Build Output
src/CoreShop/Bundle/*/Resources/public/studio/*/
39 changes: 39 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Repository Guidelines

## Project Structure & Module Organization
- Source: `src/CoreShop/Bundle/*` (Symfony bundles) and `src/CoreShop/Component/*` (domain components).
- Config: `config/` (services, routes), app kernels in `src/*Kernel.php`.
- Public assets: `public/`.
- Studio UI plugins (TypeScript/React): `src/*/Resources/assets/pimcore-studio` (npm workspaces).
- Tests: Behat features in `features/`; perf script in `tests/k6.js`.
- Docs and templates: `docs/`, `templates/`.

## Build, Test, and Development Commands
- PHP deps: `composer install` (or `docker compose run --rm php composer install`).
- App console: `bin/console` (Symfony/Pimcore CLI), e.g. `bin/console cache:clear`.
- Studio UI build: `npm run dev` (watch) or `npm run build` (prod) at repo root. Node ≥ 18.
- Static analysis: `vendor/bin/phpstan analyse -c phpstan.neon src` and `vendor/bin/psalm`.
- Coding standard: `vendor/bin/ecs check src --fix` (see `ecs.php`).
- Behat domain: `docker compose run --rm behat vendor/bin/behat -c behat.yml.dist -p default`.
- Behat UI: `docker compose run --rm behat` (requires a running instance).

## Coding Style & Naming Conventions
- PHP: PSR-12 + project rules via ECS. 4-space indent; strict types where practical; services autowired/aliased in YAML.
- Namespaces: `CoreShop\Bundle\<BundleName>` and `CoreShop\Component\<Context>`; tests and features mirror package structure.
- TypeScript/React: follow workspace lint configs; prefer functional components and `camelCase` files; bundle names kebab-case.

## Testing Guidelines
- Primary framework: Behat (`features/`), profiles in `behat.yml.dist`.
- Add domain scenarios under `features/domain/` and UI under `features/ui/`.
- Keep scenarios independent; use tags for slow/browser tests.
- For static checks, ensure PHPStan and Psalm pass before PR.

## Commit & Pull Request Guidelines
- Commits: imperative mood with scope, e.g. `[Product] fix price rounding` or `[Studio] improve menu state]`.
- PRs: clear description, linked issues, steps to test; include screenshots/GIFs for Studio UI.
- Keep changes scoped; update docs/config when relevant.
- CLA required (see `CLA.md`). Security issues: email `info@coreshop.com`.

## Security & Configuration Tips
- Use `.env.local` for secrets; don’t commit `var/`, `vendor/`, or `node_modules/`.
- PHP 8.3+, Pimcore 12+. Run via Docker (`docker compose build` then `docker compose run --rm php bin/install`) for a clean setup.
Loading
Loading