Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 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
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
63 changes: 63 additions & 0 deletions .github/workflows/frontend-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: CoreShop Studio Frontend Build

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

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

steps:
- name: Checkout
uses: actions/checkout@v4

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

- name: Install dependencies
run: npm ci

- name: Lint and fix
run: npm run lint || true

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

- name: Build all bundles
run: npm run build

- name: Force add built assets to git
run: |
git add -f src/CoreShop/Bundle/*/Resources/public/studio/*/
git status --porcelain

- name: Check for changes
id: verify-changed-files
run: |
if [ -n "$(git status --porcelain)" ]; then
echo "changed=true" >> $GITHUB_OUTPUT
fi

- name: Commit built assets
if: steps.verify-changed-files.outputs.changed == 'true'
run: |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git commit -m "🚀 Build CoreShop Studio bundles

🤖 Generated with [GitHub Actions](https://github.com/coreshop/CoreShop/actions)

Co-Authored-By: GitHub Action <[email protected]>"

- name: Push changes
if: steps.verify-changed-files.outputs.changed == 'true' && github.event_name == 'push'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ github.ref }}
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 `[email protected]`.

## 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