Skip to content

Commit 751e51f

Browse files
Add Devcontainer for GitHub Codespaces (#137)
Copied from nhsuk/nhsuk-prototype-kit#428 for testing.
1 parent 4070a9d commit 751e51f

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

.devcontainer/devcontianer.json

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"name": "Record a vaccination prototype",
3+
"image": "mcr.microsoft.com/devcontainers/universal:2",
4+
// codespaces seems to have an issue using port 2000 so setting to 2001 for the NHS Prototype Kit
5+
"runArgs": ["--env", "PORT=2001"],
6+
"portsAttributes": {
7+
"3001": {
8+
"label": "Running prototype",
9+
// --------------------------------
10+
// onAutoForward possible options
11+
// --------------------------------
12+
// you can change the value to one of the following possible options:
13+
// 'notify' (shows a prompt),
14+
// 'silent' (does nothing)
15+
// 'openBrowser' (opens the prototype URL in a browser window/tab)
16+
// 'openPrview' (opens the codespaces preview window to present the running prototype to the user)
17+
"onAutoForward": "openPreview"
18+
}
19+
},
20+
// forward the port for the browersync process
21+
"forwardPorts": [3001],
22+
"otherPortsAttributes": { "onAutoForward": "ignore" },
23+
// when created - sets the git merge statergy to rebase to hopefully make easier time of merging
24+
"onCreateCommand": "git config --global pull.rebase true",
25+
// after creation - installs the node packages
26+
"postCreateCommand": "npm install",
27+
// A command to run each time a tool has successfully attached to the container
28+
"postAttachCommand": {
29+
"server": "npm run watch"
30+
},
31+
// codespace customisations
32+
"customizations": {
33+
// Configure properties specific to VS Code web-basde IDE used within codespaces.
34+
"vscode": {
35+
// editor settings
36+
"settings": {
37+
// uncomment the following lines to hide files not needed to update content
38+
// "files.exclude": {
39+
// "{docs,lib,linters,middleware,node_modules,public,tests,NHS111.Shared.Frontend}/": true,
40+
// "*{CHANGELOG,CONTRIBUTING}.md": true,
41+
// "app/{data,assets}/": true,
42+
// "app/*.js": true,
43+
// "*.{js,yml,json}": true,
44+
// ".*": true,
45+
// "LICENSE": true
46+
// },
47+
// make emmet work within nunjucks
48+
"emmet.includeLanguages": {
49+
"njk": "html",
50+
"nunjucks": "html",
51+
"erb": "html",
52+
"jinja": "html",
53+
"jinja-html": "html",
54+
"markdown": "html"
55+
},
56+
"html.suggest.html5": true
57+
},
58+
// bundle the following editor extensions
59+
"extensions": [
60+
// nunjuck syntax highlighting
61+
"douglaszaltron.nunjucks-vscode-extensionpack"
62+
]
63+
}
64+
}
65+
}

0 commit comments

Comments
 (0)