Make dev mode one command and add VS Code config
npm run dev now runs scripts/dev-env.ts first, which creates .dev/site.env with a known dev password and a random session secret, so a fresh clone serves a working admin without anyone hand-building a hash. Adds .vscode launch configurations and tasks for the dev server, one test file, and check-site, and brings scripts/ under typecheck, which it had been missing.
This commit is contained in:
1 parent
a635c5a214
commit
1f41398370
8 files changed
+229
-11
No files matched your search
Vendored
+58
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Dev server (debug)",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/src/server.ts",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "integratedTerminal",
|
||||
"skipFiles": ["<node_internals>/**"],
|
||||
"preLaunchTask": "dev: ensure .dev/site.env",
|
||||
"env": {
|
||||
"MENU_ROOT": "${workspaceFolder}/.dev",
|
||||
"MENU_SITE_CONFIG": "${workspaceFolder}/config/hopsngrains.site.json",
|
||||
"SECURE_COOKIES": "false",
|
||||
"LOG_LEVEL": "info",
|
||||
"PORT": "3000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Dev server (watch, no debugger)",
|
||||
"type": "node-terminal",
|
||||
"request": "launch",
|
||||
"command": "npm run dev",
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
{
|
||||
"name": "Debug the open test file",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${file}",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "integratedTerminal",
|
||||
"skipFiles": ["<node_internals>/**"],
|
||||
"runtimeArgs": ["--test"],
|
||||
"autoAttachChildProcesses": true
|
||||
},
|
||||
{
|
||||
"name": "Check the running site",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/scripts/check-site.ts",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "integratedTerminal",
|
||||
"skipFiles": ["<node_internals>/**"],
|
||||
"args": ["${input:siteUrl}"]
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"id": "siteUrl",
|
||||
"type": "promptString",
|
||||
"description": "Base URL to check",
|
||||
"default": "http://127.0.0.1:3000"
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
+23
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/.dev": true,
|
||||
"**/.tmp": true,
|
||||
"**/.npm-cache": true
|
||||
},
|
||||
"search.exclude": {
|
||||
"**/.dev": true,
|
||||
"**/.tmp": true,
|
||||
"**/.npm-cache": true,
|
||||
"**/node_modules": true
|
||||
},
|
||||
"files.watcherExclude": {
|
||||
"**/.dev/**": true,
|
||||
"**/.tmp/**": true,
|
||||
"**/.npm-cache/**": true
|
||||
},
|
||||
"editor.tabSize": 2,
|
||||
"editor.insertSpaces": true,
|
||||
"files.eol": "\n",
|
||||
"files.trimTrailingWhitespace": true,
|
||||
"files.insertFinalNewline": true
|
||||
}
|
||||
Vendored
+49
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "dev: ensure .dev/site.env",
|
||||
"type": "npm",
|
||||
"script": "dev:env",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "dev: seed placeholder menus",
|
||||
"type": "npm",
|
||||
"script": "seed",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "dev: watch server",
|
||||
"type": "npm",
|
||||
"script": "dev",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "test",
|
||||
"type": "npm",
|
||||
"script": "test",
|
||||
"group": { "kind": "test", "isDefault": true },
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "typecheck",
|
||||
"type": "npm",
|
||||
"script": "typecheck",
|
||||
"group": { "kind": "build", "isDefault": true },
|
||||
"problemMatcher": ["$tsc"]
|
||||
},
|
||||
{
|
||||
"label": "verify the data directory",
|
||||
"type": "npm",
|
||||
"script": "verify",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "repair missing derivatives",
|
||||
"type": "npm",
|
||||
"script": "repair",
|
||||
"problemMatcher": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user