diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index 76add87..0000000
--- a/.dockerignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
\ No newline at end of file
diff --git a/.env.example b/.env.example
deleted file mode 100644
index d33b8fa..0000000
--- a/.env.example
+++ /dev/null
@@ -1,5 +0,0 @@
-JWT_SECRET=32-character-secret-key
-MONGO_URI=your-mongo-uri
-SOCK_PORT=8080
-DEBUG=true
-PORT=3000
\ No newline at end of file
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index f06235c..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
diff --git a/.eslintrc.js b/.eslintrc.js
deleted file mode 100644
index ee1f215..0000000
--- a/.eslintrc.js
+++ /dev/null
@@ -1,22 +0,0 @@
-module.exports = {
- env: {
- es2021: true,
- node: true,
- },
- extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
- overrides: [],
- parser: '@typescript-eslint/parser',
- parserOptions: {
- ecmaVersion: 'latest',
- sourceType: 'module',
- },
- plugins: ['@typescript-eslint'],
- rules: {
- indent: ['error', 4],
- 'linebreak-style': 'off',
- quotes: ['error', 'single'],
- semi: ['error', 'always'],
- '@typescript-eslint/ban-ts-comment': 'off',
- '@typescript-eslint/no-explicit-any': 'off',
- },
-};
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..cc2dbf8
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,54 @@
+{
+ "env": {
+ "node": true,
+ "es6": true
+ },
+ "extends": [
+ "airbnb-typescript/base",
+ "prettier/@typescript-eslint",
+ "plugin:prettier/recommended",
+ "plugin:node/recommended",
+ "plugin:@typescript-eslint/recommended"
+ ],
+ "plugins": [
+ "prettier"
+ ],
+ "parserOptions": {
+ "parser": "@typescript-eslint/parser",
+ "ecmaVersion": 2018,
+ "sourceType": "module"
+ },
+ "rules": {
+ "prettier/prettier": "warn",
+ "consistent-return": "off",
+ "ban-ts-ignore": "off",
+ "no-unused-vars": [
+ "warn",
+ {
+ "args": "none"
+ }
+ ],
+ "no-unused-expressions": [
+ "warn",
+ {
+ "allowTernary": true
+ }
+ ],
+ "import/no-cycle": "off",
+ "no-console": "off",
+ "func-names": "off",
+ "object-shorthand": "off",
+ "class-methods-use-this": "off",
+ "import/no-dynamic-require": "off",
+ "global-require": "off",
+ "no-shadow": "off",
+ "no-useless-constructor": "off",
+ "node/no-unsupported-features/es-syntax": "off",
+ "lines-between-class-members": "off",
+ "import/prefer-default-export": "off",
+ "import/named": "off",
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/interface-name-prefix": "off",
+ "@typescript-eslint/ban-ts-ignore": "off"
+ }
+}
\ No newline at end of file
diff --git a/.github/workflows/codacy.yml b/.github/workflows/codacy.yml
deleted file mode 100644
index 0929ee6..0000000
--- a/.github/workflows/codacy.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-name: Codacy
-
-on:
- push:
- branches: ['master']
- pull_request:
- branches: ['master']
- schedule:
- - cron: '28 20 * * 2'
-
-permissions:
- contents: read
-
-jobs:
- codacy-security-scan:
- permissions:
- contents: read
- security-events: write
- actions: read
- name: Codacy Security Scan
- runs-on: ubuntu-latest
- steps:
- - name: Checkout code
- uses: actions/checkout@v3
-
- - name: Run Codacy Analysis CLI
- uses: codacy/codacy-analysis-cli-action@d840f886c4bd4edc059706d09c6a1586111c540b
- with:
- project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
- verbose: true
- output: results.sarif
- format: sarif
- gh-code-scanning-compat: true
- max-allowed-issues: 2147483647
-
- - name: Upload SARIF results file
- uses: github/codeql-action/upload-sarif@v2
- with:
- sarif_file: results.sarif
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000..e90e61b
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,72 @@
+# For most projects, this workflow file will not need changing; you simply need
+# to commit it to your repository.
+#
+# You may wish to alter this file to override the set of languages analyzed,
+# or to provide custom queries or build logic.
+#
+# ******** NOTE ********
+# We have attempted to detect the languages in your repository. Please check
+# the `language` matrix defined below to confirm you have the correct set of
+# supported CodeQL languages.
+#
+name: "CodeQL"
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: [ master ]
+ schedule:
+ - cron: '17 16 * * 0'
+
+jobs:
+ analyze:
+ name: Analyze
+ runs-on: ubuntu-latest
+ permissions:
+ actions: read
+ contents: read
+ security-events: write
+
+ strategy:
+ fail-fast: false
+ matrix:
+ language: [ 'javascript' ]
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v3
+
+ # Initializes the CodeQL tools for scanning.
+ - name: Initialize CodeQL
+ uses: github/codeql-action/init@v2
+ with:
+ languages: ${{ matrix.language }}
+ # If you wish to specify custom queries, you can do so here or in a config file.
+ # By default, queries listed here will override any specified in a config file.
+ # Prefix the list here with "+" to use these queries and those in the config file.
+
+ # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
+ # queries: security-extended,security-and-quality
+
+
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
+ # If this step fails, then you should remove it and run the build manually (see below)
+ - name: Autobuild
+ uses: github/codeql-action/autobuild@v2
+
+ # âšī¸ Command-line programs to run using the OS shell.
+ # đ See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
+
+ # If the Autobuild fails above, remove it and uncomment the following three lines.
+ # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
+
+ # - run: |
+ # echo "Run, Build Application using script"
+ # ./location_of_script_within_repo/buildscript.sh
+
+ - name: Perform CodeQL Analysis
+ uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
deleted file mode 100644
index 8de8b43..0000000
--- a/.github/workflows/codeql.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-name: 'CodeQL'
-
-on:
- push:
- branches: ['master']
- pull_request:
- # The branches below must be a subset of the branches above
- branches: ['master']
- schedule:
- - cron: '31 23 * * 3'
-
-jobs:
- analyze:
- name: Analyze
- runs-on: ubuntu-latest
- permissions:
- actions: read
- contents: read
- security-events: write
-
- strategy:
- fail-fast: false
- matrix:
- language: ['javascript']
-
- steps:
- - name: Checkout repository
- uses: actions/checkout@v3
-
- - name: Initialize CodeQL
- uses: github/codeql-action/init@v2
- with:
- languages: ${{ matrix.language }}
-
- - name: Autobuild
- uses: github/codeql-action/autobuild@v2
-
- # âšī¸ Command-line programs to run using the OS shell.
- # đ See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
-
- # If the Autobuild fails above, remove it and uncomment the following three lines.
- # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
-
- # - run: |
- # echo "Run, Build Application using script"
- # ./location_of_script_within_repo/buildscript.sh
-
- - name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
- with:
- category: '/language:${{matrix.language}}'
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
index 217ea7a..0e72a00 100644
--- a/.github/workflows/dependency-review.yml
+++ b/.github/workflows/dependency-review.yml
@@ -1,14 +1,20 @@
+# Dependency Review Action
+#
+# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
+#
+# Source repository: https://github.com/actions/dependency-review-action
+# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: 'Dependency Review'
on: [pull_request]
permissions:
- contents: read
+ contents: read
jobs:
- dependency-review:
- runs-on: ubuntu-latest
- steps:
- - name: 'Checkout Repository'
- uses: actions/checkout@v3
- - name: 'Dependency Review'
- uses: actions/dependency-review-action@v2
+ dependency-review:
+ runs-on: ubuntu-latest
+ steps:
+ - name: 'Checkout Repository'
+ uses: actions/checkout@v3
+ - name: 'Dependency Review'
+ uses: actions/dependency-review-action@v1
diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml
index dd92dcb..ac15790 100644
--- a/.github/workflows/eslint.yml
+++ b/.github/workflows/eslint.yml
@@ -1,31 +1,37 @@
+# This workflow uses actions that are not certified by GitHub.
+# They are provided by a third-party and are governed by
+# separate terms of service, privacy policy, and support
+# documentation.
+# ESLint is a tool for identifying and reporting on patterns
+# found in ECMAScript/JavaScript code.
+# More details at https://github.com/eslint/eslint
+# and https://eslint.org
+
name: ESLint
on:
- push:
- branches: [master]
- pull_request:
- # The branches below must be a subset of the branches above
- branches: [master]
- schedule:
- - cron: '27 20 * * 2'
+ push:
+ branches: [ master ]
+ pull_request:
+ # The branches below must be a subset of the branches above
+ branches: [ master ]
+ schedule:
+ - cron: '27 20 * * 2'
jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - name: 'Checkout Repository'
- uses: actions/checkout@v3
-
- - name: 'Setup Node.js'
- uses: actions/setup-node@v2
- with:
- node-version: '14'
-
- - name: 'Install Dependencies'
- run: yarn install --frozen-lockfile --non-interactive
+ eslint:
+ name: Run eslint scanning
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ security-events: write
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
- - name: 'Lint with ESLint'
- run: yarn run eslint --ext .ts,.tsx --max-warnings 0 .
+ - name: Install dependencies
+ run: rm -rf node_modules && yarn install --frozen-lockfile
- - name: 'Lint with Prettier'
- run: yarn run prettier --check .
+ - name: Run ESLint
+ run: yarn lint
+ continue-on-error: false
diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml
new file mode 100644
index 0000000..40f44d2
--- /dev/null
+++ b/.github/workflows/greetings.yml
@@ -0,0 +1,16 @@
+name: Greetings
+
+on: [pull_request_target, issues]
+
+jobs:
+ greeting:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ pull-requests: write
+ steps:
+ - uses: actions/first-interaction@v1
+ with:
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ issue-message: 'Hey! Thank you for helping us develop Remote Visual Studio Code. Your support is the world for us đ.'
+ pr-message: 'Heyo! Thanks a ton for contributing to Remote Visual Studio Code, it means the world to us đ.'
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
deleted file mode 100644
index a84b15d..0000000
--- a/.github/workflows/lint.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-name: Manual Lint
-
-on:
- workflow_dispatch:
- inputs:
- branch:
- description: 'Branch to lint'
- required: true
- default: 'master'
-
-jobs:
- lint:
- runs-on: ubuntu-latest
- steps:
- - name: 'Checkout Repository'
- uses: actions/checkout@v3
- with:
- ref: ${{ github.event.inputs.branch }}
- - name: 'Setup Node.js'
- uses: actions/setup-node@v2
- with:
- node-version: '14'
- - name: 'Install Dependencies'
- run: yarn install --frozen-lockfile --non-interactive
-
- - name: 'Lint with ESLint'
- run: yarn run eslint --ext .ts,.tsx --max-warnings 0 .
-
- - name: 'Lint with Prettier'
- run: yarn run prettier --check .
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
new file mode 100644
index 0000000..d1c75d5
--- /dev/null
+++ b/.github/workflows/node.js.yml
@@ -0,0 +1,30 @@
+# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
+# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
+
+name: Node.js CI
+
+on:
+ push:
+ branches: [ master ]
+ pull_request:
+ branches: [ master ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [12.x, 14.x, 16.x]
+ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'yarn'
+ - run: rm -rf node_modules && yarn install --frozen-lockfile
+ - run: yarn run tsc
diff --git a/.github/workflows/webpack.yml b/.github/workflows/webpack.yml
deleted file mode 100644
index f26b67c..0000000
--- a/.github/workflows/webpack.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Webpack
-
-on:
- push:
- branches: ['master']
- pull_request:
- branches: ['master']
-
-jobs:
- pack:
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v3
-
- - name: Install dependencies
- run: yarn install --frozen-lockfile
-
- - name: Build server
- run: yarn run webpack --config webpack.server.js
-
- - name: Build react
- run: yarn run webpack --config webpack.react.js
-
- - name: Cleanup
- run: rm -rf dist
diff --git a/.gitignore b/.gitignore
index 418a3a7..30c5de7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,3 @@
-.env
node_modules
-dist
-.vscode
-public/bundle.js
\ No newline at end of file
+.env
+out
diff --git a/.husky/pre-commit b/.husky/pre-commit
deleted file mode 100644
index 6cdaab7..0000000
--- a/.husky/pre-commit
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env sh
-. "$(dirname -- "$0")/_/husky.sh"
-
-yarn lint
diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 76add87..0000000
--- a/.prettierignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-dist
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
index 78657f7..489851d 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -1,8 +1,8 @@
{
"semi": true,
"singleQuote": true,
- "trailingComma": "all",
- "printWidth": 120,
+ "useTabs": false,
"tabWidth": 4,
- "useTabs": false
-}
+ "trailingComma": "all",
+ "bracketSpacing": true
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..b0fc34e
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+ "terminal.integrated.defaultProfile.windows": "Git Bash"
+}
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index eb4388c..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,22 +0,0 @@
-FROM node:16
-
-# set workdir as current directory
-WORKDIR /usr/src/app
-
-COPY package.json yarn.lock ./
-
-RUN yarn install
-
-COPY . .
-
-# RUN echo "JWT_SECRET=my-jwt-secret\nMONGO_URI=my-mongo-uri\nSOCK_PORT=8080\nDEBUG=false\nPORT=3000" > .env
-COPY .env ./
-
-RUN yarn lint
-RUN yarn build
-
-
-EXPOSE 3000
-EXPOSE 8080
-
-CMD ["node", "dist/server.js"]
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2fac8b1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,226 @@
+DISCLAIMER: Easier to read in Visual Studio Code because styles in markdown are not supported in github.
+
+
+
+#