"version": "0.2.0",
"configurations": [
{
- "name": "manage.py runserver",
- "type": "python",
+ "name": "Chrome: Debug Angular Frontend",
+ "type": "chrome",
"request": "launch",
- "program": "${workspaceFolder}/src/manage.py",
- "console": "integratedTerminal",
- "justMyCode": true,
- "args": ["runserver"],
- "django": true
+ "url": "http://localhost:4200",
+ "webRoot": "${workspaceFolder}/src-ui",
+ "preLaunchTask": "Start: Frontend Angular"
},
{
- "name": "manage.py document_consumer",
+ "name": "Debug: Backend Server (manage.py runserver)",
"type": "python",
"request": "launch",
"program": "${workspaceFolder}/src/manage.py",
+ "args": [
+ "runserver"
+ ],
+ "django": true,
"console": "integratedTerminal",
- "justMyCode": true,
- "args": ["document_consumer"],
- "django": true
+ "env": {
+ "PYTHONPATH": "${workspaceFolder}/src"
+ },
+ "python": "${workspaceFolder}/.venv/bin/python"
},
{
- "name": "celery",
+ "name": "Debug: Consumer Service (manage.py document_consumer)",
"type": "python",
- "cwd": "${workspaceFolder}/src",
"request": "launch",
- "module": "celery",
+ "program": "${workspaceFolder}/src/manage.py",
+ "args": [
+ "document_consumer"
+ ],
+ "django": true,
"console": "integratedTerminal",
"env": {
"PYTHONPATH": "${workspaceFolder}/src"
- },
- "args": [
- "-A",
- "paperless",
- "worker",
- "-l",
- "DEBUG"
- ]
+ },
+ "python": "${workspaceFolder}/.venv/bin/python"
+ }
+ ],
+ "compounds": [
+ {
+ "name": "Debug: FullStack",
+ "configurations": [
+ "Chrome: Debug Angular Frontend",
+ "Debug: Backend Server (manage.py runserver)",
+ "Debug: Consumer Service (manage.py document_consumer)"
+ ],
+ "preLaunchTask": "Start: Celery Worker"
}
]
}
{
"version": "2.0.0",
"tasks": [
- {
- "label": "manage.py document_consumer",
- "type": "shell",
- "command": "pipenv run python manage.py document_consumer",
- "group": "build",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": false,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ {
+ "label": "Start: Celery Worker",
+ "type": "shell",
+ "command": "pipenv run celery --app paperless worker -l DEBUG",
+ "isBackground": true,
+ "options": {
+ "cwd": "${workspaceFolder}/src"
+ },
+ "problemMatcher": [
+ {
+ "owner": "custom",
+ "pattern": [
+ {
+ "regexp": ".",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ ],
+ "background": {
+ "activeOnStart": true,
+ "beginsPattern": "celery.*",
+ "endsPattern": "ready"
+ }
+ }
+ ],
+ "detail": ""
},
- "options": {
- "cwd": "${workspaceFolder}/src"
- }
-
+ {
+ "label": "Start: Frontend Angular",
+ "type": "shell",
+ "command": "npm start",
+ "isBackground": true,
+ "options": {
+ "cwd": "${workspaceFolder}/src-ui"
+ },
+ "problemMatcher": [
+ {
+ "owner": "custom",
+ "pattern": [
+ {
+ "regexp": ".",
+ "file": 1,
+ "location": 2,
+ "message": 3
+ }
+ ],
+ "background": {
+ "activeOnStart": true,
+ "beginsPattern": ".*",
+ "endsPattern": "Compiled successfully"
+ }
+ }
+ ],
+ "detail": "triggered also by launch option Chrome: Debug Angular Frontend"
+ },
+ {
+ "label": "Start: Consumer Service (manage.py document_consumer)",
+ "type": "shell",
+ "command": "pipenv run python manage.py document_consumer",
+ "group": "build",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": false,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/src"
+ }
},
{
- "label": "manage.py runserver",
+ "label": "Start: Backend Server (manage.py runserver)",
"type": "shell",
"command": "pipenv run python manage.py runserver",
"group": "build",
"options": {
"cwd": "${workspaceFolder}/src"
}
-
+ },
+ {
+ "label": "Maintenance: manage.py migrate",
+ "type": "shell",
+ "command": "pipenv run python manage.py migrate",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
},
- {
- "label": "Maintenance: manage.py migrate",
- "type": "shell",
- "command": "pipenv run python manage.py migrate",
- "group": "none",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": true,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ "options": {
+ "cwd": "${workspaceFolder}/src"
+ }
},
- "options": {
- "cwd": "${workspaceFolder}/src"
- }
- },
- {
- "label": "Maintenance: manage.py createsuperuser",
- "type": "shell",
- "command": "pipenv run python manage.py createsuperuser",
- "group": "none",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": true,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ {
+ "label": "Maintenance: Build Documentation",
+ "type": "shell",
+ "command": "pipenv run mkdocs build --config-file mkdocs.yml && pipenv run mkdocs serve",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}"
+ }
},
- "options": {
- "cwd": "${workspaceFolder}/src"
- }
- },
- {
- "label": "compile frontend",
- "type": "shell",
- "command": "npm ci && ./node_modules/.bin/ng build --configuration production",
- "group": "none",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": true,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ {
+ "label": "Maintenance: manage.py createsuperuser",
+ "type": "shell",
+ "command": "pipenv run python manage.py createsuperuser",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/src"
+ }
},
- "options": {
- "cwd": "${workspaceFolder}/src-ui"
- }
- },
- {
- "label": "Maintenance: recreate .venv",
- "type": "shell",
- "command": "rm -R -v .venv/* || pipenv install --dev",
- "group": "none",
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": true,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ {
+ "label": "Maintenance: Install Angular CLI",
+ "type": "shell",
+ "command": "npm ci && ./node_modules/.bin/ng build --configuration production",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/src-ui"
+ }
},
- "options": {
- "cwd": "${workspaceFolder}"
- }
- },
- {
- "label": "Celery Worker",
- "type": "shell",
- "command": "pipenv run celery --app paperless worker -l DEBUG",
- "group": {
- "kind": "build",
- "isDefault": true
+ {
+ "label": "Maintenance: Compile frontend for production",
+ "type": "shell",
+ "command": "npm ci && ./node_modules/.bin/ng build --configuration production",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}/src-ui"
+ }
},
- "presentation": {
- "echo": true,
- "reveal": "always",
- "focus": true,
- "panel": "shared",
- "showReuseMessage": false,
- "clear": true,
- "revealProblems": "onProblem"
+ {
+ "label": "Maintenance: recreate .venv",
+ "type": "shell",
+ "command": "rm -R -v .venv/* || pipenv install --dev",
+ "group": "none",
+ "presentation": {
+ "echo": true,
+ "reveal": "always",
+ "focus": true,
+ "panel": "shared",
+ "showReuseMessage": false,
+ "clear": true,
+ "revealProblems": "onProblem"
+ },
+ "options": {
+ "cwd": "${workspaceFolder}"
+ }
+ },
+ {
+ "label": "Maintenance: Install Frontend Dependencies",
+ "type": "npm",
+ "script": "install",
+ "path": "src-ui",
+ "group": "clean",
+ "problemMatcher": [],
+ "detail": "install dependencies from package"
},
- "options": {
- "cwd": "${workspaceFolder}/src"
+ {
+ "label": "Project Setup: Run all Init Tasks",
+ "dependsOrder": "sequence",
+ "dependsOn": [
+ "Maintenance: manage.py migrate",
+ "Maintenance: manage.py createsuperuser",
+ "Maintenance: Compile frontend for production"
+ ]
+ },
+ {
+ "label": "Project Start: Run all Services",
+ "dependsOn": [
+ "Start: Celery Worker",
+ "Start: Consumer Service (manage.py document_consumer)",
+ "Start: Backend Server (manage.py runserver)"
+ ]
}
- }
]
- }
+}