patch 8.1.1930: cannot recognize .jsx and .tsx files

Problem:    Cannot recognize .jsx and .tsx files.
Solution:   Recognize them as javascriptreact and typescriptreact.
            (closes #4830)
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 895ac06..e702be9 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -798,7 +798,10 @@
 au BufNewFile,BufRead *.jj,*.jjt		setf javacc
 
 " JavaScript, ECMAScript
-au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.mjs   setf javascript
+au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs   setf javascript
+
+" JavaScript with React
+au BufNewFile,BufRead *.jsx			setf javascriptreact
 
 " Java Server Pages
 au BufNewFile,BufRead *.jsp			setf jsp
@@ -1709,6 +1712,9 @@
 " Typescript
 au BufNewFile,BufReadPost *.ts			setf typescript
 
+" TypeScript with React
+au BufNewFile,BufRead *.tsx			setf typescriptreact
+
 " Motif UIT/UIL files
 au BufNewFile,BufRead *.uit,*.uil		setf uil
 
diff --git a/runtime/ftplugin/javascriptreact.vim b/runtime/ftplugin/javascriptreact.vim
new file mode 100644
index 0000000..ea5c9f5
--- /dev/null
+++ b/runtime/ftplugin/javascriptreact.vim
@@ -0,0 +1,2 @@
+" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
+source %:h/javascript.vim
diff --git a/runtime/indent/javascriptreact.vim b/runtime/indent/javascriptreact.vim
new file mode 100644
index 0000000..ea5c9f5
--- /dev/null
+++ b/runtime/indent/javascriptreact.vim
@@ -0,0 +1,2 @@
+" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
+source %:h/javascript.vim
diff --git a/runtime/syntax/javascriptreact.vim b/runtime/syntax/javascriptreact.vim
new file mode 100644
index 0000000..ea5c9f5
--- /dev/null
+++ b/runtime/syntax/javascriptreact.vim
@@ -0,0 +1,2 @@
+" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
+source %:h/javascript.vim