diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..b095a6df --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,9 @@ +FROM library/node:lts-bookworm + +ARG DEBIAN_FRONTEND=noninteractive +RUN apt update \ + && apt install -y --no-install-recommends sudo \ + && apt autoremove -y \ + && rm -rf /var/lib/apt/lists/* \ + && echo "node ALL=(ALL) NOPASSWD: ALL" >/etc/sudoers.d/node \ + && chmod 0440 /etc/sudoers.d/node diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..52828b2b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,14 @@ +{ + "name": "Basic Node.js", + "build": { "dockerfile": "Dockerfile" }, +"remoteUser": "node", +"features": { + "ghcr.io/devcontainers/features/python:1": { + "installTools": true, + "version": "3.11" + }, + "ghcr.io/devcontainers-contrib/features/curl-apt-get:1": {}, + "ghcr.io/jungaretti/features/ripgrep:1": {}, + "ghcr.io/warrenbuckley/codespace-features/sqlite:1": {} +} +} diff --git a/.gitattributes b/.gitattributes index b1892ede..5463d1aa 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,13 @@ *.TXT eol=crlf *.diz eol=crlf *.DIZ eol=crlf + +# Don't mess with shell script line endings +*.sh text eol=lf + +# Same thing for optutil.js which functions as a shell script +optutil.js text eol=lf + +# The devcontainer is also unix +.devcontainer/Dockerfile text eol=lf +.devcontainer/devcontainer.json text eol=lf \ No newline at end of file diff --git a/.gitignore b/.gitignore index b55cbcfa..2d3facac 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,4 @@ logs/ mail/ node_modules/ docs/_site/ -docs/.sass-cache/ -.vscode/ +docs/.sass-cache/ \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..c52eeffb --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,17 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Launch Program", + "skipFiles": [ + "/**" + ], + "program": "${workspaceFolder}/main.js" + } + ] +} \ No newline at end of file