Update devcontainer to work with new vue3 UI.

Fixes #3925
This commit is contained in:
c0mputerguru
2025-08-21 22:41:13 +00:00
parent 76c2e144fc
commit a71564a424
3 changed files with 14 additions and 65 deletions

View File

@@ -1,12 +1,7 @@
FROM python:3.10-alpine3.18 FROM python:3.13-alpine3.22
#Install all dependencies. #Install all dependencies.
RUN apk add --no-cache postgresql-libs postgresql-client gettext zlib libjpeg libwebp libxml2-dev libxslt-dev openldap git yarn RUN apk add --no-cache postgresql-libs postgresql-client gettext zlib libjpeg libwebp libxml2-dev libxslt-dev openldap git yarn libgcc libstdc++ nginx tini envsubst nodejs npm
# Fix libxml error from xmlsec https://github.com/xmlsec/python-xmlsec/issues/257#issuecomment-1738620862
RUN echo "https://dl-cdn.alpinelinux.org/alpine/v3.15/community/" | tee -a /etc/apk/repositories
RUN echo "https://dl-cdn.alpinelinux.org/alpine/v3.15/main" | tee -a /etc/apk/repositories
RUN apk add --no-cache libxml2-dev=2.9.14-r2 xmlsec-dev=1.2.33-r0
#Print all logs without buffering it. #Print all logs without buffering it.
ENV PYTHONUNBUFFERED 1 ENV PYTHONUNBUFFERED 1
@@ -24,8 +19,10 @@ RUN \
if [ `apk --print-arch` = "armv7" ]; then \ if [ `apk --print-arch` = "armv7" ]; then \
printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \ printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \
fi fi
RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev cargo openldap-dev python3-dev && \ RUN apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev zlib-dev jpeg-dev libwebp-dev openssl-dev libffi-dev cargo openldap-dev python3-dev xmlsec-dev xmlsec build-base g++ curl rust && \
echo -n "INPUT ( libldap.so )" > /usr/lib/libldap_r.so && \ python -m pip install --upgrade pip && \
pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt && \ pip debug -v && \
rm -rf /tmp/pip-tmp && \ pip install wheel==0.45.1 && \
pip install setuptools_rust==1.10.2 && \
pip install -r /tmp/pip-tmp/requirements.txt --no-cache-dir &&\
apk --purge del .build-deps apk --purge del .build-deps

58
.vscode/tasks.json vendored
View File

@@ -18,24 +18,12 @@
}, },
{ {
"label": "Run Dev Server", "label": "Run Dev Server",
"type": "shell", "type": "shell",
"dependsOn": ["Setup Dev Server"], "dependsOn": ["Setup Dev Server"],
"command": "python3 manage.py runserver" "command": "python3 manage.py runserver"
}, },
{ {
"label": "Yarn Install", "label": "Yarn Install",
"dependsOn": ["Yarn Install - Vue", "Yarn Install - Vue3"]
},
{
"label": "Yarn Install - Vue",
"type": "shell",
"command": "yarn install --force",
"options": {
"cwd": "${workspaceFolder}/vue"
}
},
{
"label": "Yarn Install - Vue3",
"type": "shell", "type": "shell",
"command": "yarn install --force", "command": "yarn install --force",
"options": { "options": {
@@ -44,18 +32,6 @@
}, },
{ {
"label": "Generate API", "label": "Generate API",
"dependsOn": ["Generate API - Vue", "Generate API - Vue3"]
},
{
"label": "Generate API - Vue",
"type": "shell",
"command": "openapi-generator-cli generate -g typescript-axios -i http://127.0.0.1:8000/openapi/",
"options": {
"cwd": "${workspaceFolder}/vue/src/utils/openapi"
}
},
{
"label": "Generate API - Vue3",
"type": "shell", "type": "shell",
"command": "openapi-generator-cli generate -g typescript-fetch -i http://127.0.0.1:8000/openapi/", "command": "openapi-generator-cli generate -g typescript-fetch -i http://127.0.0.1:8000/openapi/",
"options": { "options": {
@@ -63,43 +39,19 @@
} }
}, },
{ {
"label": "Yarn Serve", "label": "Yarn Dev",
"type": "shell", "type": "shell",
"command": "yarn serve", "command": "yarn dev",
"dependsOn": ["Yarn Install - Vue"], "dependsOn": ["Yarn Install"],
"options": {
"cwd": "${workspaceFolder}/vue"
}
},
{
"label": "Vite Serve",
"type": "shell",
"command": "vite",
"dependsOn": ["Yarn Install - Vue3"],
"options": { "options": {
"cwd": "${workspaceFolder}/vue3" "cwd": "${workspaceFolder}/vue3"
} }
}, },
{ {
"label": "Yarn Build", "label": "Yarn Build",
"dependsOn": ["Yarn Build - Vue", "Vite Build - Vue3"],
"group": "build"
},
{
"label": "Yarn Build - Vue",
"type": "shell", "type": "shell",
"command": "yarn build", "command": "yarn build",
"dependsOn": ["Yarn Install - Vue"], "dependsOn": ["Yarn Install"],
"options": {
"cwd": "${workspaceFolder}/vue"
},
"group": "build"
},
{
"label": "Vite Build - Vue3",
"type": "shell",
"command": "vite build",
"dependsOn": ["Yarn Install - Vue3"],
"options": { "options": {
"cwd": "${workspaceFolder}/vue3" "cwd": "${workspaceFolder}/vue3"
}, },

View File

@@ -45,5 +45,5 @@ There are also a few other tasks specified in case you have specific development
- `Run Dev Server` - Runs a django development server not connected to VSCode. - `Run Dev Server` - Runs a django development server not connected to VSCode.
- `Run all pytests` - Runs all the pytests outside of VSCode. - `Run all pytests` - Runs all the pytests outside of VSCode.
- `Yarn Serve` - Runs development Vue.js server not connected to VSCode. Useful if you want to make Vue changes and see them in realtime. - `Yarn Dev` - Runs development Vue.js server not connected to VSCode. Useful if you want to make Vue changes and see them in realtime.
- `Serve Documentation` - Runs a documentation server. Useful if you want to see how changes to documentation show up. - `Serve Documentation` - Runs a documentation server. Useful if you want to see how changes to documentation show up.