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:
@@ -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
|
||||
@@ -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"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user