Skip to content

Commit

Permalink
build: add recommended config files for VSCode remote development (an…
Browse files Browse the repository at this point in the history
…gular#30450)

Add some recommended config files to use (as is or as basis) for setting
up [remote development using docker containers][1] with VSCode. This is
an opt-in feature. See `.devcontainer/README.md` for more info.

The configuration can be further tweaked/improved, but is a good
starting point.

[1]: https://code.visualstudio.com/docs/remote/containers

PR Close angular#30450
  • Loading branch information
gkalpak authored and jasonaden committed May 20, 2019
1 parent 6454f76 commit f78bda9
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 1 deletion.
22 changes: 22 additions & 0 deletions .devcontainer/recommended-Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Image metadata and config.
FROM circleci/node:10-browsers

LABEL name="Angular dev environment" \
description="This image can be used to create a dev environment for building Angular." \
vendor="angular" \
version="1.0"

EXPOSE 4000 4200 4433 5000 8080 9876


# Switch to `root` (CircleCI images use `circleci` as the user).
USER root


# Configure `Node.js`/`npm` and install utilities.
RUN npm config --global set user root
RUN npm install --global yarn@1.13.0 # This needs to be in sync with what we use on CI.


# Go! (And keep going.)
CMD ["tail", "--follow", "/dev/null"]
16 changes: 16 additions & 0 deletions .devcontainer/recommended-devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Reference: https://code.visualstudio.com/docs/remote/containers#_devcontainerjson-reference
{
"name": "Angular dev container",
"dockerFile": "Dockerfile",
"appPort": [4000, 4200, 4433, 5000, 8080, 9876],
"postCreateCommand": "yarn install",
"extensions": [
"devondcarew.bazel-code",
"gkalpak.aio-docs-utils",
"ms-vscode.vscode-typescript-tslint-plugin",
"xaver.clang-format",
// The following extensions are useful when working on angular.io (i.e. inside the `aio/` directory).
//"angular.ng-template",
//"dbaeumer.vscode-eslint",
],
}
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -855,6 +855,7 @@ testing/** @angular/fw-test
/.buildkite/** @angular/fw-dev-infra
/.circleci/** @angular/fw-dev-infra
/.codefresh/** @angular/fw-dev-infra
/.devcontainer/** @angular/fw-dev-infra
/.github/** @angular/fw-dev-infra
/.vscode/** @angular/fw-dev-infra
/docs/BAZEL.md @angular/fw-dev-infra
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ tools/gulp-tasks/cldr/cldr-data/
pubspec.lock
.c9
.idea/
.devcontainer
.devcontainer/*
!.devcontainer/recommended-devcontainer.json
!.devcontainer/recommended-Dockerfile
.settings/
.vscode/launch.json
.vscode/settings.json
Expand Down
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@
"gkalpak.aio-docs-utils",
"ms-vscode.vscode-typescript-tslint-plugin",
"xaver.clang-format",
// The following extensions are useful when working on angular.io (i.e. inside the `aio/` directory).
//"angular.ng-template",
//"dbaeumer.vscode-eslint",
],
}

0 comments on commit f78bda9

Please sign in to comment.