Skip to content

Commit a904baf

Browse files
authored
Merge pull request #12 from MFB-Technologies-Inc/init-docker-dev-env
init docker dev env
2 parents 2b29211 + e63cac2 commit a904baf

File tree

7 files changed

+9234
-4000
lines changed

7 files changed

+9234
-4000
lines changed

Diff for: .dockerignore

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Logs
2+
*.log
3+
npm-debug.log*
4+
yarn-debug.log*
5+
yarn-error.log*
6+
7+
# Runtime data
8+
*.pid
9+
*.seed
10+
*.pid.lock
11+
12+
# Directory for instrumented libs generated by jscoverage/JSCover
13+
lib-cov
14+
15+
# Coverage directory used by tools like istanbul
16+
coverage
17+
18+
# nyc test coverage
19+
.nyc_output
20+
21+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
22+
.grunt
23+
24+
# Bower dependency directory (https://bower.io/)
25+
bower_components
26+
27+
# node-waf configuration
28+
.lock-wscript
29+
30+
# Compiled binary addons (https://nodejs.org/api/addons.html)
31+
build/Release
32+
33+
# Dependency directories
34+
node_modules/
35+
jspm_packages/
36+
37+
# Optional npm cache directory
38+
.npm
39+
40+
# Optional eslint cache
41+
.eslintcache
42+
43+
# Optional REPL history
44+
.node_repl_history
45+
46+
# Output of 'npm pack'
47+
*.tgz
48+
49+
# Yarn Integrity file
50+
.yarn-integrity
51+
52+
# dotenv environment variables file
53+
.env.local
54+
.env.development.local
55+
.env.test.local
56+
.env.production.local
57+
58+
# OS X temporary files
59+
.DS_Store
60+
61+
# build files
62+
debug.log
63+
junit.xml
64+
65+
# vim swap files
66+
*.swp
67+
*.swo
68+
69+
# package build directories
70+
lib/
71+
dist/
72+
build/
73+
out/
74+
typedocs/
75+
76+
# scratchpad file
77+
.TODO

Diff for: .eslintrc.js

+11-16
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
1-
// This is a workaround for https://github.com/eslint/eslint/issues/3458
2-
require("@rushstack/eslint-config/patch/modern-module-resolution")
1+
// Copyright 2022 MFB Technologies, Inc.
32

43
module.exports = {
54
extends: [
6-
"@rushstack/eslint-config/profile/web-app",
7-
"@rushstack/eslint-config/mixins/react"
5+
"react-app"
86
],
9-
rules: {
10-
"@typescript-eslint/no-explicit-any": 0,
11-
"@typescript-eslint/consistent-type-definitions": [1, "type"],
12-
"@typescript-eslint/typedef": 0,
13-
"@rushstack/no-new-null": 0,
14-
"@rushstack/typedef-var": 0
15-
},
16-
parserOptions: { tsconfigRootDir: __dirname },
17-
settings: {
18-
react: {
19-
version: "17.0"
7+
overrides: [
8+
{
9+
files: ["**/*.ts?(x)"],
10+
rules: {
11+
"@typescript-eslint/no-explicit-any": 0,
12+
"@typescript-eslint/consistent-type-definitions": [1, "type"],
13+
"@typescript-eslint/typedef": 0,
14+
}
2015
}
21-
}
16+
]
2217
}

Diff for: DOCKER.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Docker
2+
3+
Run these commands to setup the dev env, which is a copy of the local repo as-is in a volume and a container attached to that volume:
4+
5+
1. `docker build --tag mfbtech-react-async-renderer-dev-env .`
6+
1. `docker run --name mfbtech-react-async-renderer-dev-env -td mfbtech-react-async-renderer-dev-env`
7+
8+
Now attach to the container using vscode and the remote explorer extension.
9+
10+
>
11+
> Deleting the container will delete the volume as well, so make sure you have all of your work pushed before deleting the container.
12+
>

Diff for: Dockerfile

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
FROM node:16-bullseye AS base-with-deps
2+
3+
ARG USERNAME=vscode
4+
5+
# setup the vscode user for the developer
6+
RUN groupadd -r $USERNAME \
7+
&& useradd --no-log-init -rm -d /home/$USERNAME -s /bin/bash -g $USERNAME $USERNAME
8+
USER $USERNAME
9+
WORKDIR /home/$USERNAME
10+
11+
# copy local repo into a volume
12+
FROM base-with-deps AS mfbtech-react-async-renderer-dev-env
13+
RUN mkdir /home/$USERNAME/git
14+
COPY --chown=$USERNAME:$USERNAME . /home/$USERNAME/git
15+
VOLUME /home/$USERNAME/git

0 commit comments

Comments
 (0)