diff --git a/client/build/webpack.base.conf.js b/client/build/webpack.base.conf.js
index 686a5217..a05a133a 100644
--- a/client/build/webpack.base.conf.js
+++ b/client/build/webpack.base.conf.js
@@ -44,23 +44,13 @@ module.exports = {
}
},
resolve: {
- extensions: ['.js', '.vue', '.json', '.gql', '.graphql', '.scss'],
+ extensions: ['.js', '.ts', '.vue', '.json', '.gql', '.graphql', '.scss'],
alias: {
'@': resolve('src'),
styles: resolve('src/styles'),
gql: resolve('src/graphql/gql'),
// vue: '@vue/compat',
},
- // we probably don't need this anymore
- // fallback: {
- // // used to be in node: {setImmediate: false,...}
- // setImmediate: false,
- // dgram: false,
- // fs: false,
- // net: false,
- // tls: false,
- // child_process: false,
- // },
},
module: {
rules: [
diff --git a/client/package-lock.json b/client/package-lock.json
index 24d1b56d..0521ba52 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -14092,6 +14092,33 @@
"integrity": "sha512-zCVHv3p7zvUmen9zce9l965ZrI6rMbrm2/oqGaTerVYOaYskl/cVgTG/L7iIToTIpI7onk/f6tu8hxPXZdyy/g==",
"dev": true
},
+ "mock-require": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/mock-require/-/mock-require-3.0.3.tgz",
+ "integrity": "sha512-lLzfLHcyc10MKQnNUCv7dMcoY/2Qxd6wJfbqCcVk3LDb8An4hF6ohk5AztrvgKhJCqj36uyzi/p5se+tvyD+Wg==",
+ "dev": true,
+ "requires": {
+ "get-caller-file": "^1.0.2",
+ "normalize-path": "^2.1.1"
+ },
+ "dependencies": {
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "^1.0.1"
+ }
+ }
+ }
+ },
"mrmime": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz",
@@ -19910,6 +19937,17 @@
"integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
"dev": true
},
+ "typescript-tslint-plugin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typescript-tslint-plugin/-/typescript-tslint-plugin-1.0.1.tgz",
+ "integrity": "sha512-akj+J1FDoEv8y5uSs6f6SfkY3ywnhnTifDvOmwejSs4U+a18p73YoetrllKCDf14iq0VMNwIgCxNY/v88K6QYg==",
+ "dev": true,
+ "requires": {
+ "minimatch": "^3.0.4",
+ "mock-require": "^3.0.3",
+ "vscode-languageserver": "^5.2.1"
+ }
+ },
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -20410,6 +20448,44 @@
"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
"dev": true
},
+ "vscode-jsonrpc": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-4.0.0.tgz",
+ "integrity": "sha512-perEnXQdQOJMTDFNv+UF3h1Y0z4iSiaN9jIlb0OqIYgosPCZGYh/MCUlkFtV2668PL69lRDO32hmvL2yiidUYg==",
+ "dev": true
+ },
+ "vscode-languageserver": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-5.2.1.tgz",
+ "integrity": "sha512-GuayqdKZqAwwaCUjDvMTAVRPJOp/SLON3mJ07eGsx/Iq9HjRymhKWztX41rISqDKhHVVyFM+IywICyZDla6U3A==",
+ "dev": true,
+ "requires": {
+ "vscode-languageserver-protocol": "3.14.1",
+ "vscode-uri": "^1.0.6"
+ }
+ },
+ "vscode-languageserver-protocol": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.14.1.tgz",
+ "integrity": "sha512-IL66BLb2g20uIKog5Y2dQ0IiigW0XKrvmWiOvc0yXw80z3tMEzEnHjaGAb3ENuU7MnQqgnYJ1Cl2l9RvNgDi4g==",
+ "dev": true,
+ "requires": {
+ "vscode-jsonrpc": "^4.0.0",
+ "vscode-languageserver-types": "3.14.0"
+ }
+ },
+ "vscode-languageserver-types": {
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz",
+ "integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==",
+ "dev": true
+ },
+ "vscode-uri": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz",
+ "integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==",
+ "dev": true
+ },
"vue": {
"version": "2.6.14",
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz",
diff --git a/client/package.json b/client/package.json
index 755fdfab..59d35707 100644
--- a/client/package.json
+++ b/client/package.json
@@ -129,6 +129,7 @@
"mock-apollo-client": "^1.2.0",
"ts-loader": "^8.3.0",
"typescript": "^4.5.4",
+ "typescript-tslint-plugin": "^1.0.1",
"vue-jest": "^3.0.4",
"webpack-cli": "^4.9.1"
}
diff --git a/client/src/components/content-block-form/ContentBlockForm.vue b/client/src/components/content-block-form/ContentBlockForm.vue
index 3ca34b47..e8e1112f 100644
--- a/client/src/components/content-block-form/ContentBlockForm.vue
+++ b/client/src/components/content-block-form/ContentBlockForm.vue
@@ -118,28 +118,30 @@
-