Skip to content

Commit fd743fa

Browse files
committed
Initial commit
0 parents  commit fd743fa

21 files changed

+7026
-0
lines changed

.devcontainer.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "TS-Core-TEMPLATE Container",
3+
"dockerFile": "./Dockerfile.dev",
4+
"settings": {
5+
"editor.formatOnSave": true,
6+
"typescript.tsdk": "node_modules/typescript/lib"
7+
},
8+
"extensions": [
9+
"esbenp.prettier-vscode",
10+
"dbaeumer.vscode-eslint",
11+
"github.vscode-codeql",
12+
"visualstudioexptteam.vscodeintellicode",
13+
"eamodio.gitlens"
14+
],
15+
"remoteUser": "node",
16+
"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached",
17+
"workspaceFolder": "/workspace",
18+
"mounts": [
19+
"source=ts-core-modules,target=/workspace/node_modules,type=volume"
20+
],
21+
"remoteEnv": {
22+
"SHELL": "/bin/bash"
23+
},
24+
25+
"postCreateCommand": "sudo chown node -R node_modules && npm i"
26+
}

.eslintrc

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
{
2+
"parser": "@typescript-eslint/parser",
3+
"parserOptions": {
4+
"project": "./tsconfig.json",
5+
"tsconfigRootDir": ".",
6+
"ecmaVersion": 2020
7+
},
8+
"plugins": ["@typescript-eslint", "prettier"],
9+
"extends": [
10+
"standard",
11+
"plugin:@typescript-eslint/recommended",
12+
"plugin:@typescript-eslint/recommended-requiring-type-checking",
13+
"prettier",
14+
"prettier/standard",
15+
"prettier/@typescript-eslint"
16+
],
17+
"rules": {
18+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-unused-vars.md
19+
"no-unused-vars": "off",
20+
"@typescript-eslint/no-unused-vars": [
21+
"error",
22+
{
23+
"args": "none",
24+
"varsIgnorePattern": "_.+"
25+
}
26+
],
27+
"@typescript-eslint/no-unused-vars-experimental": ["error"],
28+
29+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-var-requires.md
30+
"@typescript-eslint/no-var-requires": "warn",
31+
32+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/brace-style.md
33+
"brace-style": "off",
34+
"@typescript-eslint/brace-style": ["error"],
35+
36+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-array-constructor.md
37+
"no-array-constructor": "off",
38+
"@typescript-eslint/no-array-constructor": ["error"],
39+
40+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/keyword-spacing.md
41+
"keyword-spacing": "off",
42+
"@typescript-eslint/keyword-spacing": ["error"],
43+
44+
"@typescript-eslint/no-object-literal-type-assertion": "off",
45+
46+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-function-return-type.md
47+
"@typescript-eslint/explicit-function-return-type": "error",
48+
49+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-explicit-any.md
50+
"@typescript-eslint/no-explicit-any": "error",
51+
52+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-non-null-assertion.md
53+
"@typescript-eslint/no-non-null-assertion": "error",
54+
55+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/explicit-member-accessibility.md
56+
"@typescript-eslint/explicit-member-accessibility": "error",
57+
58+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/require-await.md
59+
"require-await": "off",
60+
"@typescript-eslint/require-await": "error",
61+
62+
"comma-dangle": ["error", "always-multiline"],
63+
64+
//https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/semi.md
65+
"semi": "off",
66+
"@typescript-eslint/semi": ["error"],
67+
68+
"prettier/prettier": "error",
69+
70+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-invalid-this.md
71+
"no-invalid-this": "off",
72+
"@typescript-eslint/no-invalid-this": ["error"],
73+
74+
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-this-alias.md
75+
"@typescript-eslint/no-this-alias": [
76+
"error",
77+
{
78+
"allowDestructuring": true, // Allow `const { props, state } = this`; false by default
79+
"allowedNames": ["self"] // Allow `const self = this`; `[]` by default
80+
}
81+
]
82+
}
83+
}

.github/dependabot.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
# Maintain dependencies for GitHub Actions
9+
- package-ecosystem: github-actions
10+
directory: /
11+
schedule:
12+
interval: daily
13+
assignees:
14+
- KristianFJones
15+
reviewers:
16+
- KristianFJones
17+
18+
# Maintain dependencies for npm
19+
- package-ecosystem: npm
20+
directory: /
21+
schedule:
22+
interval: daily
23+
versioning-strategy: increase
24+
assignees:
25+
- KristianFJones
26+
reviewers:
27+
- KristianFJones
28+
29+
# Maintain dependencies for Docker
30+
- package-ecosystem: docker
31+
directory: /
32+
schedule:
33+
interval: daily
34+
assignees:
35+
- KristianFJones
36+
reviewers:
37+
- KristianFJones

.github/workflows/Code Quality.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Code Quality
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
Prettier:
7+
name: Prettier
8+
strategy:
9+
matrix:
10+
os: ['ubuntu-latest']
11+
node: ['14.x']
12+
runs-on: ${{ matrix.os }}
13+
steps:
14+
- uses: actions/[email protected]
15+
- uses: actions/[email protected]
16+
with:
17+
node-version: ${{ matrix.node }}
18+
registry-url: 'https://registry.npmjs.org'
19+
- name: Install dependencies
20+
run: npm ci
21+
- name: Run Prettier
22+
run: npm run prettier
23+
24+
ESLint:
25+
name: ESLint
26+
strategy:
27+
matrix:
28+
os: ['ubuntu-latest']
29+
node: ['14.x']
30+
runs-on: ${{ matrix.os }}
31+
steps:
32+
- uses: actions/[email protected]
33+
- uses: actions/[email protected]
34+
with:
35+
node-version: ${{ matrix.node }}
36+
registry-url: 'https://registry.npmjs.org'
37+
- name: Install dependencies
38+
run: npm ci
39+
- name: Run ESLint
40+
run: npm run lint

.github/workflows/Push.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Testing
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
Test:
7+
name: Tests
8+
strategy:
9+
matrix:
10+
os: ['ubuntu-latest', 'windows-latest', 'macos-latest']
11+
node: ['13.9', '13.10', '13.11', '14.x']
12+
runs-on: ${{ matrix.os }}
13+
steps:
14+
- uses: actions/[email protected]
15+
- uses: actions/[email protected]
16+
with:
17+
node-version: ${{ matrix.node }}
18+
registry-url: 'https://registry.npmjs.org'
19+
- name: Install dependencies
20+
run: npm ci
21+
- name: Run Tests
22+
run: npm run test

.gitignore

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
# File created using '.gitignore Generator' for Visual Studio Code: https://bit.ly/vscode-gig
2+
3+
# Created by https://www.gitignore.io/api/visualstudiocode,linux,node
4+
# Edit at https://www.gitignore.io/?templates=visualstudiocode,linux,node
5+
6+
### Linux ###
7+
*~
8+
9+
# temporary files which can be created if a process still has a handle open of a deleted file
10+
.fuse_hidden*
11+
12+
# KDE directory preferences
13+
.directory
14+
15+
# Linux trash folder which might appear on any partition or disk
16+
.Trash-*
17+
18+
# .nfs files are created when an open file is removed but is still being accessed
19+
.nfs*
20+
21+
### Node ###
22+
# Logs
23+
logs
24+
*.log
25+
npm-debug.log*
26+
yarn-debug.log*
27+
yarn-error.log*
28+
lerna-debug.log*
29+
30+
# Diagnostic reports (https://nodejs.org/api/report.html)
31+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
32+
33+
# Runtime data
34+
pids
35+
*.pid
36+
*.seed
37+
*.pid.lock
38+
39+
# Directory for instrumented libs generated by jscoverage/JSCover
40+
lib-cov
41+
42+
# Coverage directory used by tools like istanbul
43+
coverage
44+
*.lcov
45+
46+
# nyc test coverage
47+
.nyc_output
48+
49+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
50+
.grunt
51+
52+
# Bower dependency directory (https://bower.io/)
53+
bower_components
54+
55+
# node-waf configuration
56+
.lock-wscript
57+
58+
# Compiled binary addons (https://nodejs.org/api/addons.html)
59+
build/Release
60+
61+
# Dependency directories
62+
node_modules/
63+
jspm_packages/
64+
65+
# TypeScript v1 declaration files
66+
typings/
67+
68+
# TypeScript cache
69+
*.tsbuildinfo
70+
71+
# Optional npm cache directory
72+
.npm
73+
74+
# Optional eslint cache
75+
.eslintcache
76+
77+
# Optional REPL history
78+
.node_repl_history
79+
80+
# Output of 'npm pack'
81+
*.tgz
82+
83+
# Yarn Integrity file
84+
.yarn-integrity
85+
86+
# dotenv environment variables file
87+
.env
88+
.env.test
89+
90+
# parcel-bundler cache (https://parceljs.org/)
91+
.cache
92+
93+
# next.js build output
94+
.next
95+
96+
# nuxt.js build output
97+
.nuxt
98+
99+
# rollup.js default build output
100+
dist/
101+
102+
# Uncomment the public line if your project uses Gatsby
103+
# https://nextjs.org/blog/next-9-1#public-directory-support
104+
# https://create-react-app.dev/docs/using-the-public-folder/#docsNav
105+
# public
106+
107+
# Storybook build outputs
108+
.out
109+
.storybook-out
110+
111+
# vuepress build output
112+
.vuepress/dist
113+
114+
# Serverless directories
115+
.serverless/
116+
117+
# FuseBox cache
118+
.fusebox/
119+
120+
# DynamoDB Local files
121+
.dynamodb/
122+
123+
# Temporary folders
124+
tmp/
125+
temp/
126+
127+
### VisualStudioCode ###
128+
.vscode/*
129+
!.vscode/settings.json
130+
!.vscode/tasks.json
131+
!.vscode/launch.json
132+
!.vscode/extensions.json
133+
134+
### VisualStudioCode Patch ###
135+
# Ignore all local history of files
136+
.history
137+
138+
# End of https://www.gitignore.io/api/visualstudiocode,linux,node
139+
140+
# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
141+
142+
dist

.prettierrc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"singleQuote": true,
3+
"trailingComma": "all",
4+
"arrowParens": "always",
5+
"semi": true
6+
}

.vscode/launch.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Debug Application",
6+
"request": "launch",
7+
"type": "node",
8+
"protocol": "inspector",
9+
"port": 9229,
10+
"restart": true,
11+
12+
"cwd": "${workspaceFolder}",
13+
"runtimeExecutable": "npx",
14+
"runtimeArgs": ["nodemon"]
15+
}
16+
]
17+
}

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"typescript.tsdk": "node_modules/typescript/lib"
3+
}

0 commit comments

Comments
 (0)