diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..08a5830da --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,37 @@ +{ + "name": "Nicolium", + "dockerComposeFile": "docker-compose.yml", + "service": "app", + "workspaceFolder": "/workspaces/nicolium", + + "features": { + "ghcr.io/devcontainers/features/node:1": { + "version": "20", + "nodeGypDependencies": true + } + }, + + "remoteUser": "vscode", + "updateRemoteUserUID": true, + + "forwardPorts": [7312], + "portsAttributes": { + "7312": { + "label": "Nicolium", + "onAutoForward": "openBrowser" + } + }, + + "postCreateCommand": "bash -lc \"set -euo pipefail; corepack enable; mkdir -p ~/.local/bin; curl -fsSL https://github.com/formatjs/formatjs/releases/download/formatjs_cli_v1.1.0/formatjs_cli-linux-x64 -o ~/.local/bin/formatjs; chmod +x ~/.local/bin/formatjs; pnpm install --ignore-scripts\"", + + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "oxc.oxc-vscode", + "stylelint.vscode-stylelint", + "wix.vscode-import-cost" + ] + } + } +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 000000000..8a436c934 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3.8" + +services: + app: + image: mcr.microsoft.com/devcontainers/base:ubuntu + command: sleep infinity + volumes: + - ..:/workspaces/nicolium:Z + ports: + - "127.0.0.1:7312:7312" diff --git a/.gitignore b/.gitignore index 70f70853a..d3d419b52 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +node_modules /node_modules/ yarn-error.log* coverage/ diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 31aa3bd64..f0a0e412a 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,8 @@ { "recommendations": [ "dbaeumer.vscode-eslint", + "ms-vscode-remote.remote-containers", + "oxc.oxc-vscode", "stylelint.vscode-stylelint", "wix.vscode-import-cost" ] diff --git a/packages/nicolium/vite.config.ts b/packages/nicolium/vite.config.ts index 9fee07cef..ae5f9af7b 100644 --- a/packages/nicolium/vite.config.ts +++ b/packages/nicolium/vite.config.ts @@ -28,6 +28,7 @@ const config = defineConfig(() => ({ }, assetsInclude: ['**/*.oga'], server: { + host: '0.0.0.0', port: Number(process.env.PORT ?? 7312), hmr: process.env.HMR_DISABLED === 'true' ? false : undefined, ws: process.env.WS_DISABLED === 'true' ? false : undefined,