feat: complete saleor core extensions app with React email templates

- Order confirmation, shipped, and cancelled email templates
- Uses @react-email/components for professional HTML emails
- Sends admin and customer notifications
- Integrates with Resend for email delivery
- Webhook handlers for ORDER_CREATED, ORDER_FULFILLED, ORDER_CANCELLED
- Docker image optimized for production
- Persistent auth data storage via PVC
This commit is contained in:
Unchained
2026-03-27 05:21:56 +02:00
commit 33fb9a8452
76 changed files with 209115 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
FROM mcr.microsoft.com/devcontainers/typescript-node:22
ENV PNPM_HOME="/home/node/.pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app
# This is needed so pnpm-store volume is created with correct permissions (see docker-compose.yml)
RUN mkdir -p /app/.pnpm-store
RUN chown -R node:node /app/.pnpm-store
COPY package.json pnpm-lock.yaml ./
RUN pnpm install --frozen-lockfile
RUN chown -R node:node /home/node/.pnpm
+23
View File
@@ -0,0 +1,23 @@
{
"name": "Saleor app template",
"dockerComposeFile": "docker-compose.yml",
"service": "saleor-app-template",
"workspaceFolder": "/app",
"forwardPorts": [3000],
"portsAttributes": {
"3000": {
"label": "Saleor app"
}
},
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"GraphQL.vscode-graphql-syntax",
"GraphQL.vscode-graphql",
"streetsidesoftware.code-spell-checker"
]
}
}
}
+14
View File
@@ -0,0 +1,14 @@
services:
saleor-app-template:
image: saleor-app-template
command: sleep infinity # keeps docker container running
build:
context: ..
dockerfile: .devcontainer/Dockerfile
volumes:
- "..:/app"
- "pnpm-store:/app/.pnpm-store"
volumes:
pnpm-store:
driver: local