pokerogue/.devcontainer/devcontainer.json
Juan Roman 507ac17f95
[Dev] Update devcontainer image, settings and docs (#6822)
* Updated devcontainer image to a version that supports the node >= 24.9.0 prerequisite.
Also updated the prerequisite mentioned in CONTRIBUTING.md to match that newer prerequisite.

* Update CONTRIBUTING.md with devcontainer instructions

Added important note about using pnpm with devcontainers and updated Podman instructions.

---------

Co-authored-by: Bertie690 <136088738+Bertie690@users.noreply.github.com>
2025-12-03 17:06:22 -08:00

71 lines
2.4 KiB
JSON

/*
* SPDX-FileCopyrightText: 2025 Pagefault Games
* SPDX-FileContributor: Bertie690
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node
{
"name": "Node.js & TypeScript",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"image": "mcr.microsoft.com/devcontainers/typescript-node:4-24-bookworm",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {
"installDirectlyFromGitHubRelease": true,
"version": "latest"
},
"ghcr.io/devcontainers-extra/features/pnpm:2": {
"version": "latest"
}
},
"containerEnv": {
"PORT": "8000"
},
"customizations": {
"vscode": {
"settings": {
// # Formatter configs
"editor.defaultFormatter": "biomejs.biome",
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.codeActionsOnSave": {
"source.addMissingImports.ts": "always",
"source.removeUnusedImports": "always",
"source.fixAll.biome": "always",
"source.organizeImports.biome": "always"
},
"biome.suggestInstallingGlobally": false,
// # JS/TS setting overrides
"javascript.preferences.importModuleSpecifier": "non-relative",
"javascript.preferences.importModuleSpecifierEnding": "index",
"javascript.preferGoToSourceDefinition": true,
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.preferences.importModuleSpecifier": "non-relative",
"typescript.preferences.importModuleSpecifierEnding": "index",
"typescript.preferGoToSourceDefinition": true,
"typescript.updateImportsOnFileMove.enabled": "always",
"typescript.tsserver.experimental.enableProjectDiagnostics": true,
// # Miscellaneous
"npm.packageManager": "pnpm",
"npm.scriptRunner": "pnpm",
"vitest.cliArguments": "--no-isolate"
},
"extensions": [
"biomejs.biome",
"YoavBls.pretty-ts-errors",
"vitest.explorer",
"adpyke.codesnap", // Bind to a hotkey (ctrl+\, etc) for best results
"aaron-bond.better-comments",
"MuTsunTsai.jsdoc-link"
]
}
},
"postCreateCommand": "pnpm install",
"forwardPorts": [8000]
}