diff --git a/src/JobsJobsJobs/App/.eslintrc.js b/src/JobsJobsJobs/App/.eslintrc.js
index 67dbdec..e5f5576 100644
--- a/src/JobsJobsJobs/App/.eslintrc.js
+++ b/src/JobsJobsJobs/App/.eslintrc.js
@@ -4,16 +4,26 @@ module.exports = {
node: true
},
extends: [
- 'plugin:vue/vue3-essential',
- '@vue/standard',
- '@vue/typescript/recommended'
+ "plugin:vue/vue3-essential",
+ "@vue/standard",
+ "@vue/typescript/recommended"
],
parserOptions: {
ecmaVersion: 2020
},
+ globals: {
+ defineProps: "readonly",
+ defineEmits: "readonly",
+ defineExpose: "readonly",
+ withDefaults: "readonly"
+ },
rules: {
- 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
- 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
- 'vue/no-multiple-template-root': 'off'
+ "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
+ "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
+ "vue/no-multiple-template-root": "off",
+ "vue/script-setup-uses-vars": 1,
+ "quotes": ["error", "double", { avoidEscape: true }],
+ "func-call-spacing": "off",
+ "@typescript-eslint/no-unused-vars": "off"
}
}
diff --git a/src/JobsJobsJobs/App/package-lock.json b/src/JobsJobsJobs/App/package-lock.json
index 809eb10..8bd76f9 100644
--- a/src/JobsJobsJobs/App/package-lock.json
+++ b/src/JobsJobsJobs/App/package-lock.json
@@ -264,7 +264,8 @@
"@babel/helper-validator-identifier": {
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz",
- "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg=="
+ "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==",
+ "dev": true
},
"@babel/helper-validator-option": {
"version": "7.14.5",
@@ -309,7 +310,8 @@
"@babel/parser": {
"version": "7.14.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
- "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA=="
+ "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==",
+ "dev": true
},
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
"version": "7.14.5",
@@ -1096,6 +1098,7 @@
"version": "7.14.5",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz",
"integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==",
+ "dev": true,
"requires": {
"@babel/helper-validator-identifier": "^7.14.5",
"to-fast-properties": "^2.0.0"
@@ -1361,9 +1364,9 @@
}
},
"@types/bootstrap": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.1.tgz",
- "integrity": "sha512-W/fEBlqwaJFh+3sCz/H88LPsLt/zLsEECFlrAOkrRPjWuo/ETl8u0JefIerCdc8+WukowQS1f60eIJOwkCBwhg==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.1.2.tgz",
+ "integrity": "sha512-dSQvMi2dMyNwJU6LZjP0pimuBowsMUvGScYdfqqeiDUoj9TxXZCpfu0cTl94U0Zvw/tdH9j/9ToOhi4LKNLZhg==",
"dev": true,
"requires": {
"@popperjs/core": "^2.9.2",
@@ -1389,6 +1392,15 @@
"@types/node": "*"
}
},
+ "@types/dompurify": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.2.3.tgz",
+ "integrity": "sha512-CLtc2mZK8+axmrz1JqtpklO/Kvn38arGc8o1l3UVopZaXXuer9ONdZwJ/9f226GrhRLtUmLr9WrvZsRSNpS8og==",
+ "dev": true,
+ "requires": {
+ "@types/trusted-types": "*"
+ }
+ },
"@types/estree": {
"version": "0.0.48",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz",
@@ -1452,10 +1464,16 @@
"integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==",
"dev": true
},
+ "@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
"@types/marked": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.4.tgz",
- "integrity": "sha512-L9VRSe0Id8xbPL99mUo/4aKgD7ZoRwFZqUQScNKHi2pFjF9ZYSMNShUHD6VlMT6J/prQq0T1mxuU25m3R7dFzg==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@types/marked/-/marked-2.0.5.tgz",
+ "integrity": "sha512-shRZ7XnYFD/8n8zSjKvFdto1QNSf4tONZIlNEZGrJe8GsOE8DL/hG1Hbl8gZlfLnjS7+f5tZGIaTgfpyW38h4w==",
"dev": true
},
"@types/mime": {
@@ -1541,6 +1559,12 @@
"integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==",
"dev": true
},
+ "@types/trusted-types": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
+ "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==",
+ "dev": true
+ },
"@types/uglify-js": {
"version": "3.13.1",
"resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz",
@@ -1619,13 +1643,13 @@
}
},
"@typescript-eslint/eslint-plugin": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz",
- "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz",
+ "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==",
"dev": true,
"requires": {
- "@typescript-eslint/experimental-utils": "4.29.1",
- "@typescript-eslint/scope-manager": "4.29.1",
+ "@typescript-eslint/experimental-utils": "4.29.3",
+ "@typescript-eslint/scope-manager": "4.29.3",
"debug": "^4.3.1",
"functional-red-black-tree": "^1.0.1",
"regexpp": "^3.1.0",
@@ -1669,15 +1693,15 @@
}
},
"@typescript-eslint/experimental-utils": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz",
- "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz",
+ "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.7",
- "@typescript-eslint/scope-manager": "4.29.1",
- "@typescript-eslint/types": "4.29.1",
- "@typescript-eslint/typescript-estree": "4.29.1",
+ "@typescript-eslint/scope-manager": "4.29.3",
+ "@typescript-eslint/types": "4.29.3",
+ "@typescript-eslint/typescript-estree": "4.29.3",
"eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0"
},
@@ -1695,41 +1719,41 @@
}
},
"@typescript-eslint/parser": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz",
- "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz",
+ "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==",
"dev": true,
"requires": {
- "@typescript-eslint/scope-manager": "4.29.1",
- "@typescript-eslint/types": "4.29.1",
- "@typescript-eslint/typescript-estree": "4.29.1",
+ "@typescript-eslint/scope-manager": "4.29.3",
+ "@typescript-eslint/types": "4.29.3",
+ "@typescript-eslint/typescript-estree": "4.29.3",
"debug": "^4.3.1"
}
},
"@typescript-eslint/scope-manager": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz",
- "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz",
+ "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.29.1",
- "@typescript-eslint/visitor-keys": "4.29.1"
+ "@typescript-eslint/types": "4.29.3",
+ "@typescript-eslint/visitor-keys": "4.29.3"
}
},
"@typescript-eslint/types": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz",
- "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz",
+ "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz",
- "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz",
+ "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.29.1",
- "@typescript-eslint/visitor-keys": "4.29.1",
+ "@typescript-eslint/types": "4.29.3",
+ "@typescript-eslint/visitor-keys": "4.29.3",
"debug": "^4.3.1",
"globby": "^11.0.3",
"is-glob": "^4.0.1",
@@ -1882,12 +1906,12 @@
}
},
"@typescript-eslint/visitor-keys": {
- "version": "4.29.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz",
- "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==",
+ "version": "4.29.3",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz",
+ "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==",
"dev": true,
"requires": {
- "@typescript-eslint/types": "4.29.1",
+ "@typescript-eslint/types": "4.29.3",
"eslint-visitor-keys": "^2.0.0"
}
},
@@ -2457,17 +2481,36 @@
}
},
"@vue/compiler-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.2.tgz",
- "integrity": "sha512-QhCI0ZU5nAR0LMcLgzW3v75374tIrHGp8XG5CzJS7Nsy+iuignbE4MZ2XJfh5TGIrtpuzfWA4eTIfukZf/cRdg==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.6.tgz",
+ "integrity": "sha512-vbwnz7+OhtLO5p5i630fTuQCL+MlUpEMTKHuX+RfetQ+3pFCkItt2JUH+9yMaBG2Hkz6av+T9mwN/acvtIwpbw==",
"requires": {
- "@babel/parser": "^7.12.0",
- "@babel/types": "^7.12.0",
- "@vue/shared": "3.2.2",
- "estree-walker": "^2.0.1",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
"source-map": "^0.6.1"
},
"dependencies": {
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g=="
+ },
+ "@babel/parser": {
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
+ "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA=="
+ },
+ "@babel/types": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -2476,29 +2519,30 @@
}
},
"@vue/compiler-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.2.tgz",
- "integrity": "sha512-ggcc+NV/ENIE0Uc3TxVE/sKrhYVpLepMAAmEiQ047332mbKOvUkowz4TTFZ+YkgOIuBOPP0XpCxmCMg7p874mA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.6.tgz",
+ "integrity": "sha512-+a/3oBAzFIXhHt8L5IHJOTP4a5egzvpXYyi13jR7CUYOR1S+Zzv7vBWKYBnKyJLwnrxTZnTQVjeHCgJq743XKg==",
"requires": {
- "@vue/compiler-core": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/compiler-sfc": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.2.tgz",
- "integrity": "sha512-hrtqpQ5L6IPn5v7yVRo7uvLcQxv0z1+KBjZBWMBOcrXz4t+PKUxU/SWd6Tl9T8FDmYlunzKUh6lcx+2CLo6f5A==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.6.tgz",
+ "integrity": "sha512-Ariz1eDsf+2fw6oWXVwnBNtfKHav72RjlWXpEgozYBLnfRPzP+7jhJRw4Nq0OjSsLx2HqjF3QX7HutTjYB0/eA==",
"dev": true,
"requires": {
- "@babel/parser": "^7.13.9",
- "@babel/types": "^7.13.0",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
"@types/estree": "^0.0.48",
- "@vue/compiler-core": "3.2.2",
- "@vue/compiler-dom": "3.2.2",
- "@vue/compiler-ssr": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/compiler-ssr": "3.2.6",
+ "@vue/ref-transform": "3.2.6",
+ "@vue/shared": "3.2.6",
"consolidate": "^0.16.0",
- "estree-walker": "^2.0.1",
+ "estree-walker": "^2.0.2",
"hash-sum": "^2.0.0",
"lru-cache": "^5.1.1",
"magic-string": "^0.25.7",
@@ -2509,6 +2553,28 @@
"source-map": "^0.6.1"
},
"dependencies": {
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
+ "dev": true
+ },
+ "@babel/parser": {
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
+ "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
+ "dev": true
+ },
+ "@babel/types": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
"consolidate": {
"version": "0.16.0",
"resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz",
@@ -2538,13 +2604,13 @@
}
},
"@vue/compiler-ssr": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.2.tgz",
- "integrity": "sha512-rVl1agMFhdEN3Go0bCriXo+3cysxKIuRP0yh1Wd8ysRrKfAmokyDhUA8PrGSq2Ymj/LdZTh+4OKfj3p2+C+hlA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.6.tgz",
+ "integrity": "sha512-A7IKRKHSyPnTC4w1FxHkjzoyjXInsXkcs/oX22nBQ+6AWlXj2Tt1le96CWPOXy5vYlsTYkF1IgfBaKIdeN/39g==",
"dev": true,
"requires": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/component-compiler-utils": {
@@ -2626,36 +2692,57 @@
"dev": true
},
"@vue/reactivity": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.2.tgz",
- "integrity": "sha512-IHjhtmrhK6dzacj/EnLQDWOaA3HuzzVk6w84qgV8EpS4uWGIJXiRalMRg6XvGW2ykJvIl3pLsF0aBFlTMRiLOA==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.6.tgz",
+ "integrity": "sha512-8vIDD2wpCnYisNNZjmcIj+Rixn0uhZNY3G1vzlgdVdLygeRSuFjkmnZk6WwvGzUWpKfnG0e/NUySM3mVi59hAA==",
"requires": {
- "@vue/shared": "3.2.2"
+ "@vue/shared": "3.2.6"
+ }
+ },
+ "@vue/ref-transform": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.6.tgz",
+ "integrity": "sha512-ie39+Y4nbirDLvH+WEq6Eo/l3n3mFATayqR+kEMSphrtMW6Uh/eEMx1Gk2Jnf82zmj3VLRq7dnmPx72JLcBYkQ==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.15.0",
+ "@vue/compiler-core": "3.2.6",
+ "@vue/shared": "3.2.6",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
+ },
+ "dependencies": {
+ "@babel/parser": {
+ "version": "7.15.3",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz",
+ "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==",
+ "dev": true
+ }
}
},
"@vue/runtime-core": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.2.tgz",
- "integrity": "sha512-/aUk1+GO/VPX0oVxhbzSWE1zrf3/wGCsO1ALNisVokYftKqfqLDjbJHE6mrI2hx3MiuwbHrWjJClkGUVTIOPEQ==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.6.tgz",
+ "integrity": "sha512-3mqtgpj/YSGFxtvTufSERRApo92B16JNNxz9p+5eG6PPuqTmuRJz214MqhKBEgLEAIQ6R6YCbd83ZDtjQnyw2g==",
"requires": {
- "@vue/reactivity": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/reactivity": "3.2.6",
+ "@vue/shared": "3.2.6"
}
},
"@vue/runtime-dom": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.2.tgz",
- "integrity": "sha512-1Le/NpCfawCOfePfJezvWUF+oCVLU8N+IHN4oFDOxRe6/PgHNJ+yT+YdxFifBfI+TIAoXI/9PsnqzmJZV+xsmw==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.6.tgz",
+ "integrity": "sha512-fq33urnP0BNCGm2O3KCzkJlKIHI80C94HJ4qDZbjsTtxyOn5IHqwKSqXVN3RQvO6epcQH+sWS+JNwcNDPzoasg==",
"requires": {
- "@vue/runtime-core": "3.2.2",
- "@vue/shared": "3.2.2",
+ "@vue/runtime-core": "3.2.6",
+ "@vue/shared": "3.2.6",
"csstype": "^2.6.8"
}
},
"@vue/shared": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.2.tgz",
- "integrity": "sha512-dvYb318tk9uOzHtSaT3WII/HscQSIRzoCZ5GyxEb3JlkEXASpAUAQwKnvSe2CudnF8XHFRTB7VITWSnWNLZUtA=="
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.6.tgz",
+ "integrity": "sha512-uwX0Qs2e6kdF+WmxwuxJxOnKs/wEkMArtYpHSm7W+VY/23Tl8syMRyjnzEeXrNCAP0/8HZxEGkHJsjPEDNRuHw=="
},
"@vue/web-component-wrapper": {
"version": "1.3.0",
@@ -3086,6 +3173,12 @@
"es-abstract": "^1.18.0-next.1"
}
},
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -3142,6 +3235,12 @@
}
}
},
+ "assert-never": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
+ "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==",
+ "dev": true
+ },
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
@@ -3337,6 +3436,15 @@
"@babel/helper-define-polyfill-provider": "^0.2.2"
}
},
+ "babel-walk": {
+ "version": "3.0.0-canary-5",
+ "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
+ "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.9.6"
+ }
+ },
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -3891,6 +3999,15 @@
"supports-color": "^5.3.0"
}
},
+ "character-parser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
+ "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
+ "dev": true,
+ "requires": {
+ "is-regex": "^1.0.3"
+ }
+ },
"chardet": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
@@ -4359,6 +4476,16 @@
"bluebird": "^3.1.1"
}
},
+ "constantinople": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
+ "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.6.0",
+ "@babel/types": "^7.6.1"
+ }
+ },
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@@ -4580,9 +4707,9 @@
}
},
"core-js": {
- "version": "3.16.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.1.tgz",
- "integrity": "sha512-AAkP8i35EbefU+JddyWi12AWE9f2N/qr/pwnDtWz4nyUIBGMJPX99ANFFRSw6FefM374lDujdtLDyhN2A/btHw=="
+ "version": "3.16.3",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.16.3.tgz",
+ "integrity": "sha512-lM3GftxzHNtPNUJg0v4pC2RC6puwMd6VZA7vXUczi+SKmCWSf4JwO89VJGMqbzmB7jlK7B5hr3S64PqwFL49cA=="
},
"core-js-compat": {
"version": "3.15.2",
@@ -5351,6 +5478,12 @@
"esutils": "^2.0.2"
}
},
+ "doctypes": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
+ "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
+ "dev": true
+ },
"dom-converter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz",
@@ -5407,6 +5540,11 @@
}
}
},
+ "dompurify": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.3.1.tgz",
+ "integrity": "sha512-xGWt+NHAQS+4tpgbOAI08yxW0Pr256Gu/FNE2frZVTbgrBUn8M7tz7/ktS/LZ2MHeGqz6topj0/xY+y8R5FBFw=="
+ },
"domutils": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
@@ -6118,26 +6256,26 @@
}
},
"eslint-plugin-import": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.0.tgz",
- "integrity": "sha512-Kc6xqT9hiYi2cgybOc0I2vC9OgAYga5o/rAFinam/yF/t5uBqxQbauNPMC6fgb640T/89P0gFoO27FOilJ/Cqg==",
+ "version": "2.24.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz",
+ "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==",
"dev": true,
"requires": {
"array-includes": "^3.1.3",
"array.prototype.flat": "^1.2.4",
"debug": "^2.6.9",
"doctrine": "^2.1.0",
- "eslint-import-resolver-node": "^0.3.5",
+ "eslint-import-resolver-node": "^0.3.6",
"eslint-module-utils": "^2.6.2",
"find-up": "^2.0.0",
"has": "^1.0.3",
- "is-core-module": "^2.4.0",
+ "is-core-module": "^2.6.0",
"minimatch": "^3.0.4",
- "object.values": "^1.1.3",
+ "object.values": "^1.1.4",
"pkg-up": "^2.0.0",
"read-pkg-up": "^3.0.0",
"resolve": "^1.20.0",
- "tsconfig-paths": "^3.9.0"
+ "tsconfig-paths": "^3.11.0"
},
"dependencies": {
"debug": {
@@ -6158,33 +6296,6 @@
"esutils": "^2.0.2"
}
},
- "eslint-import-resolver-node": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
- "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
- "dev": true,
- "requires": {
- "debug": "^3.2.7",
- "resolve": "^1.20.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
- "dev": true,
- "requires": {
- "ms": "^2.1.1"
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true
- }
- }
- },
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
@@ -6194,6 +6305,15 @@
"locate-path": "^2.0.0"
}
},
+ "is-core-module": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz",
+ "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
@@ -6292,9 +6412,9 @@
"dev": true
},
"eslint-plugin-vue": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz",
- "integrity": "sha512-0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==",
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.17.0.tgz",
+ "integrity": "sha512-Rq5R2QetDCgC+kBFQw1+aJ5B93tQ4xqZvoCUxuIzwTonngNArsdP8ChM8PowIzsJvRtWl4ltGh/bZcN3xhFWSw==",
"dev": true,
"requires": {
"eslint-utils": "^2.1.0",
@@ -6786,9 +6906,9 @@
"dev": true
},
"fastq": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz",
- "integrity": "sha512-HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==",
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz",
+ "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -8179,6 +8299,24 @@
"integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
"dev": true
},
+ "is-expression": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
+ "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "object-assign": "^4.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ }
+ }
+ },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -8283,6 +8421,12 @@
"isobject": "^3.0.1"
}
},
+ "is-promise": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+ "dev": true
+ },
"is-regex": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz",
@@ -8383,6 +8527,12 @@
"easy-stack": "^1.0.1"
}
},
+ "js-stringify": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
+ "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=",
+ "dev": true
+ },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -8485,6 +8635,16 @@
"verror": "1.10.0"
}
},
+ "jstransformer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
+ "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+ "dev": true,
+ "requires": {
+ "is-promise": "^2.0.0",
+ "promise": "^7.0.1"
+ }
+ },
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@@ -10647,6 +10807,15 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ },
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
@@ -10703,6 +10872,139 @@
}
}
},
+ "pug": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
+ "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
+ "dev": true,
+ "requires": {
+ "pug-code-gen": "^3.0.2",
+ "pug-filters": "^4.0.0",
+ "pug-lexer": "^5.0.1",
+ "pug-linker": "^4.0.0",
+ "pug-load": "^3.0.0",
+ "pug-parser": "^6.0.0",
+ "pug-runtime": "^3.0.1",
+ "pug-strip-comments": "^2.0.0"
+ }
+ },
+ "pug-attrs": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
+ "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
+ "dev": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "js-stringify": "^1.0.2",
+ "pug-runtime": "^3.0.0"
+ }
+ },
+ "pug-code-gen": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
+ "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
+ "dev": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "doctypes": "^1.1.0",
+ "js-stringify": "^1.0.2",
+ "pug-attrs": "^3.0.0",
+ "pug-error": "^2.0.0",
+ "pug-runtime": "^3.0.0",
+ "void-elements": "^3.1.0",
+ "with": "^7.0.0"
+ }
+ },
+ "pug-error": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
+ "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==",
+ "dev": true
+ },
+ "pug-filters": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
+ "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
+ "dev": true,
+ "requires": {
+ "constantinople": "^4.0.1",
+ "jstransformer": "1.0.0",
+ "pug-error": "^2.0.0",
+ "pug-walk": "^2.0.0",
+ "resolve": "^1.15.1"
+ }
+ },
+ "pug-lexer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
+ "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
+ "dev": true,
+ "requires": {
+ "character-parser": "^2.2.0",
+ "is-expression": "^4.0.0",
+ "pug-error": "^2.0.0"
+ }
+ },
+ "pug-linker": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
+ "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
+ "dev": true,
+ "requires": {
+ "pug-error": "^2.0.0",
+ "pug-walk": "^2.0.0"
+ }
+ },
+ "pug-load": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
+ "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "pug-walk": "^2.0.0"
+ }
+ },
+ "pug-parser": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
+ "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
+ "dev": true,
+ "requires": {
+ "pug-error": "^2.0.0",
+ "token-stream": "1.0.0"
+ }
+ },
+ "pug-plain-loader": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/pug-plain-loader/-/pug-plain-loader-1.1.0.tgz",
+ "integrity": "sha512-1nYgIJLaahRuHJHhzSPODV44aZfb00bO7kiJiMkke6Hj4SVZftuvx6shZ4BOokk50dJc2RSFqNUBOlus0dniFQ==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^1.1.0"
+ }
+ },
+ "pug-runtime": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
+ "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==",
+ "dev": true
+ },
+ "pug-strip-comments": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
+ "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
+ "dev": true,
+ "requires": {
+ "pug-error": "^2.0.0"
+ }
+ },
+ "pug-walk": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
+ "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==",
+ "dev": true
+ },
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
@@ -10825,6 +11127,40 @@
"unpipe": "1.0.0"
}
},
+ "raw-loader": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz",
+ "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0"
+ },
+ "dependencies": {
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "schema-utils": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
+ "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ }
+ }
+ }
+ },
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
@@ -12606,6 +12942,12 @@
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"dev": true
},
+ "token-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
+ "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=",
+ "dev": true
+ },
"toposort": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz",
@@ -12693,14 +13035,26 @@
"dev": true
},
"tsconfig-paths": {
- "version": "3.10.1",
- "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.10.1.tgz",
- "integrity": "sha512-rETidPDgCpltxF7MjBZlAFPUHv5aHH2MymyPvh+vEyWAED4Eb/WeMbsnD/JDr4OKPOA1TssDHgIcpTN5Kh0p6Q==",
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
+ "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==",
"dev": true,
"requires": {
- "json5": "^2.2.0",
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
"minimist": "^1.2.0",
"strip-bom": "^3.0.0"
+ },
+ "dependencies": {
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
+ }
}
},
"tslib": {
@@ -13140,14 +13494,31 @@
"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
"dev": true
},
+ "void-elements": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
+ "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=",
+ "dev": true
+ },
"vue": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.2.tgz",
- "integrity": "sha512-D/LuzAV30CgNJYGyNheE/VUs5N4toL2IgmS6c9qeOxvyh0xyn4exyRqizpXIrsvfx34zG9x5gCI2tdRHCGvF9w==",
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.6.tgz",
+ "integrity": "sha512-Zlb3LMemQS3Xxa6xPsecu45bNjr1hxO8Bh5FUmE0Dr6Ot0znZBKiM47rK6O7FTcakxOnvVN+NTXWJF6u8ajpCQ==",
"requires": {
- "@vue/compiler-dom": "3.2.2",
- "@vue/runtime-dom": "3.2.2",
- "@vue/shared": "3.2.2"
+ "@vue/compiler-dom": "3.2.6",
+ "@vue/runtime-dom": "3.2.6",
+ "@vue/shared": "3.2.6"
+ }
+ },
+ "vue-cli-plugin-pug": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/vue-cli-plugin-pug/-/vue-cli-plugin-pug-2.0.0.tgz",
+ "integrity": "sha512-Nnl5pkHqNDMkPTvOX4iidFSUs0sn2A5JGsQBVZ70Wm2aXqbK/B3jvEFOWok5/y9U/aWeZLU05PwYVYc7nTUK2Q==",
+ "dev": true,
+ "requires": {
+ "pug": "^3.0.0",
+ "pug-plain-loader": "^1.0.0",
+ "raw-loader": "^4.0.2"
}
},
"vue-demi": {
@@ -13941,6 +14312,18 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true
},
+ "with": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
+ "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
+ "dev": true,
+ "requires": {
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "assert-never": "^1.2.1",
+ "babel-walk": "3.0.0-canary-5"
+ }
+ },
"word-wrap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
diff --git a/src/JobsJobsJobs/App/package.json b/src/JobsJobsJobs/App/package.json
index 6914c67..7023022 100644
--- a/src/JobsJobsJobs/App/package.json
+++ b/src/JobsJobsJobs/App/package.json
@@ -13,34 +13,36 @@
"@vuelidate/core": "^2.0.0-alpha.24",
"@vuelidate/validators": "^2.0.0-alpha.21",
"bootstrap": "^5.1.0",
- "core-js": "^3.16.1",
+ "core-js": "^3.16.3",
"date-fns": "^2.23.0",
"date-fns-tz": "^1.1.6",
+ "dompurify": "^2.3.1",
"marked": "^2.1.3",
- "vue": "^3.2.2",
+ "vue": "^3.2.6",
"vue-router": "^4.0.11",
"vuex": "^4.0.0-0"
},
"devDependencies": {
- "@types/bootstrap": "^5.1.1",
- "@types/marked": "^2.0.4",
- "@typescript-eslint/eslint-plugin": "^4.29.1",
- "@typescript-eslint/parser": "^4.29.1",
+ "@types/bootstrap": "^5.1.2",
+ "@types/dompurify": "^2.2.3",
+ "@types/marked": "^2.0.5",
+ "@typescript-eslint/eslint-plugin": "^4.29.3",
+ "@typescript-eslint/parser": "^4.29.3",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-router": "~4.5.0",
"@vue/cli-plugin-typescript": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
- "@vue/compiler-sfc": "^3.2.2",
+ "@vue/compiler-sfc": "^3.2.6",
"@vue/eslint-config-standard": "^6.1.0",
"@vue/eslint-config-typescript": "^7.0.0",
"eslint": "^7.32.0",
- "eslint-plugin-import": "^2.24.0",
+ "eslint-plugin-import": "^2.24.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.0.0",
"eslint-plugin-standard": "^5.0.0",
- "eslint-plugin-vue": "^7.16.0",
+ "eslint-plugin-vue": "^7.17.0",
"sass": "~1.37.0",
"sass-loader": "^10.0.0",
"typescript": "~4.3.5",
diff --git a/src/JobsJobsJobs/App/src/App.vue b/src/JobsJobsJobs/App/src/App.vue
index 835d9a4..272dac7 100644
--- a/src/JobsJobsJobs/App/src/App.vue
+++ b/src/JobsJobsJobs/App/src/App.vue
@@ -10,18 +10,18 @@
diff --git a/src/JobsJobsJobs/App/src/api/index.ts b/src/JobsJobsJobs/App/src/api/index.ts
index 0198e50..3ee02a1 100644
--- a/src/JobsJobsJobs/App/src/api/index.ts
+++ b/src/JobsJobsJobs/App/src/api/index.ts
@@ -1,4 +1,3 @@
-import { MarkedOptions } from 'marked'
import {
Citizen,
Continent,
@@ -18,7 +17,7 @@ import {
StoryEntry,
StoryForm,
Success
-} from './types'
+} from "./types"
/**
* Create a URL that will access the API
@@ -37,13 +36,13 @@ const apiUrl = (url : string) : string => `http://localhost:5000/api/${url}`
// eslint-disable-next-line
const reqInit = (method : string, user : LogOnSuccess, body : any | undefined = undefined) : RequestInit => {
const headers = new Headers()
- headers.append('Authorization', `Bearer ${user.jwt}`)
+ headers.append("Authorization", `Bearer ${user.jwt}`)
if (body) {
- headers.append('Content-Type', 'application/json')
+ headers.append("Content-Type", "application/json")
return {
headers,
method,
- cache: 'no-cache',
+ cache: "no-cache",
body: JSON.stringify(body)
}
}
@@ -104,7 +103,7 @@ export default {
* @returns The user result, or an error
*/
logOn: async (code : string) : Promise => {
- const resp = await fetch(apiUrl(`citizen/log-on/${code}`), { method: 'GET', mode: 'cors' })
+ const resp = await fetch(apiUrl(`citizen/log-on/${code}`), { method: "GET", mode: "cors" })
if (resp.status === 200) return await resp.json() as LogOnSuccess
return `Error logging on - ${await resp.text()}`
},
@@ -117,7 +116,7 @@ export default {
* @returns The citizen, or an error
*/
retrieve: async (id : string, user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl(`citizen/${id}`), reqInit('GET', user)), `retrieving citizen ${id}`),
+ apiResult(await fetch(apiUrl(`citizen/${id}`), reqInit("GET", user)), `retrieving citizen ${id}`),
/**
* Delete the current citizen's entire Jobs, Jobs, Jobs record
@@ -126,7 +125,7 @@ export default {
* @returns Undefined if successful, an error if not
*/
delete: async (user : LogOnSuccess) : Promise =>
- apiAction(await fetch(apiUrl('citizen'), reqInit('DELETE', user)), 'deleting citizen')
+ apiAction(await fetch(apiUrl("citizen"), reqInit("DELETE", user)), "deleting citizen")
},
/** API functions for continents */
@@ -138,7 +137,7 @@ export default {
* @returns All continents, or an error
*/
all: async () : Promise =>
- apiResult(await fetch(apiUrl('continents'), { method: 'GET' }), 'retrieving continents')
+ apiResult(await fetch(apiUrl("continents"), { method: "GET" }), "retrieving continents")
},
/** API functions for job listings */
@@ -152,7 +151,7 @@ export default {
* @returns True if the addition was successful, an error string if not
*/
add: async (listing : ListingForm, user : LogOnSuccess) : Promise =>
- apiSend(await fetch(apiUrl('listings'), reqInit('POST', user, listing)), 'adding job listing'),
+ apiSend(await fetch(apiUrl("listings"), reqInit("POST", user, listing)), "adding job listing"),
/**
* Retrieve the job listings posted by the current citizen
@@ -161,8 +160,8 @@ export default {
* @returns The job listings the user has posted, or an error string
*/
mine: async (user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl('listings/mine'), reqInit('GET', user)),
- 'retrieving your job listings'),
+ apiResult(await fetch(apiUrl("listings/mine"), reqInit("GET", user)),
+ "retrieving your job listings"),
/**
* Retrieve a job listing
@@ -172,7 +171,7 @@ export default {
* @returns The job listing (if found), undefined (if not found), or an error string
*/
retreive: async (id : string, user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl(`listing/${id}`), reqInit('GET', user)), 'retrieving job listing'),
+ apiResult(await fetch(apiUrl(`listing/${id}`), reqInit("GET", user)), "retrieving job listing"),
/**
* Retrieve a job listing for viewing (also contains continent information)
@@ -182,8 +181,8 @@ export default {
* @returns The job listing (if found), undefined (if not found), or an error string
*/
retreiveForView: async (id : string, user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl(`listing/${id}/view`), reqInit('GET', user)),
- 'retrieving job listing'),
+ apiResult(await fetch(apiUrl(`listing/${id}/view`), reqInit("GET", user)),
+ "retrieving job listing"),
/**
* Search for job listings using the given parameters
@@ -194,12 +193,12 @@ export default {
*/
search: async (query : ListingSearch, user : LogOnSuccess) : Promise => {
const params = new URLSearchParams()
- if (query.continentId) params.append('continentId', query.continentId)
- if (query.region) params.append('region', query.region)
- params.append('remoteWork', query.remoteWork)
- if (query.text) params.append('text', query.text)
+ if (query.continentId) params.append("continentId", query.continentId)
+ if (query.region) params.append("region", query.region)
+ params.append("remoteWork", query.remoteWork)
+ if (query.text) params.append("text", query.text)
return apiResult(await fetch(apiUrl(`listing/search?${params.toString()}`),
- reqInit('GET', user)), 'searching job listings')
+ reqInit("GET", user)), "searching job listings")
},
/**
@@ -210,7 +209,7 @@ export default {
* @returns True if the update was successful, an error string if not
*/
update: async (listing : ListingForm, user : LogOnSuccess) : Promise =>
- apiSend(await fetch(apiUrl(`listing/${listing.id}`), reqInit('PUT', user, listing)), 'updating job listing')
+ apiSend(await fetch(apiUrl(`listing/${listing.id}`), reqInit("PUT", user, listing)), "updating job listing")
},
/** API functions for profiles */
@@ -223,7 +222,7 @@ export default {
* @returns True if the action was successful, or an error string if not
*/
markEmploymentFound: async (user : LogOnSuccess) : Promise => {
- const result = await fetch(apiUrl('profile/employment-found'), reqInit('PATCH', user))
+ const result = await fetch(apiUrl("profile/employment-found"), reqInit("PATCH", user))
if (result.ok) return true
return `${result.status} - ${result.statusText} (${await result.text()})`
},
@@ -236,13 +235,13 @@ export default {
*/
publicSearch: async (query : PublicSearch) : Promise => {
const params = new URLSearchParams()
- if (query.continentId) params.append('continentId', query.continentId)
- if (query.region) params.append('region', query.region)
- if (query.skill) params.append('skill', query.skill)
- params.append('remoteWork', query.remoteWork)
+ if (query.continentId) params.append("continentId", query.continentId)
+ if (query.region) params.append("region", query.region)
+ if (query.skill) params.append("skill", query.skill)
+ params.append("remoteWork", query.remoteWork)
return apiResult(
- await fetch(apiUrl(`profile/public-search?${params.toString()}`), { method: 'GET' }),
- 'searching public profile data')
+ await fetch(apiUrl(`profile/public-search?${params.toString()}`), { method: "GET" }),
+ "searching public profile data")
},
/**
@@ -253,8 +252,8 @@ export default {
* @returns The profile (if found), undefined (if not found), or an error string
*/
retreive: async (id : string | undefined, user : LogOnSuccess) : Promise => {
- const url = id ? `profile/${id}` : 'profile'
- const resp = await fetch(apiUrl(url), reqInit('GET', user))
+ const url = id ? `profile/${id}` : "profile"
+ const resp = await fetch(apiUrl(url), reqInit("GET", user))
if (resp.status === 200) return await resp.json() as Profile
if (resp.status !== 204) return `Error retrieving profile - ${await resp.text()}`
},
@@ -267,7 +266,7 @@ export default {
* @returns The profile (if found), undefined (if not found), or an error string
*/
retreiveForView: async (id : string, user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl(`profile/${id}/view`), reqInit('GET', user)), 'retrieving profile'),
+ apiResult(await fetch(apiUrl(`profile/${id}/view`), reqInit("GET", user)), "retrieving profile"),
/**
* Save a user's profile data
@@ -277,7 +276,7 @@ export default {
* @returns True if the save was successful, an error string if not
*/
save: async (data : ProfileForm, user : LogOnSuccess) : Promise =>
- apiSend(await fetch(apiUrl('profile'), reqInit('POST', user, data)), 'saving profile'),
+ apiSend(await fetch(apiUrl("profile"), reqInit("POST", user, data)), "saving profile"),
/**
* Search for profiles using the given parameters
@@ -288,12 +287,12 @@ export default {
*/
search: async (query : ProfileSearch, user : LogOnSuccess) : Promise => {
const params = new URLSearchParams()
- if (query.continentId) params.append('continentId', query.continentId)
- if (query.skill) params.append('skill', query.skill)
- if (query.bioExperience) params.append('bioExperience', query.bioExperience)
- params.append('remoteWork', query.remoteWork)
+ if (query.continentId) params.append("continentId", query.continentId)
+ if (query.skill) params.append("skill", query.skill)
+ if (query.bioExperience) params.append("bioExperience", query.bioExperience)
+ params.append("remoteWork", query.remoteWork)
return apiResult(await fetch(apiUrl(`profile/search?${params.toString()}`),
- reqInit('GET', user)), 'searching profiles')
+ reqInit("GET", user)), "searching profiles")
},
/**
@@ -303,7 +302,7 @@ export default {
* @returns A count of profiles within the entire system
*/
count: async (user : LogOnSuccess) : Promise => {
- const resp = await fetch(apiUrl('profile/count'), reqInit('GET', user))
+ const resp = await fetch(apiUrl("profile/count"), reqInit("GET", user))
if (resp.status === 200) {
const result = await resp.json() as Count
return result.count
@@ -318,7 +317,7 @@ export default {
* @returns Undefined if successful, an error if not
*/
delete: async (user : LogOnSuccess) : Promise =>
- apiAction(await fetch(apiUrl('profile'), reqInit('DELETE', user)), 'deleting profile')
+ apiAction(await fetch(apiUrl("profile"), reqInit("DELETE", user)), "deleting profile")
},
/** API functions for success stories */
@@ -331,7 +330,7 @@ export default {
* @returns All success stories (if any exist), undefined (if none exist), or an error
*/
list: async (user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl('successes'), reqInit('GET', user)), 'retrieving success stories'),
+ apiResult(await fetch(apiUrl("successes"), reqInit("GET", user)), "retrieving success stories"),
/**
* Retrieve a success story by its ID
@@ -341,7 +340,7 @@ export default {
* @returns The success story, or an error
*/
retrieve: async (id : string, user : LogOnSuccess) : Promise =>
- apiResult(await fetch(apiUrl(`success/${id}`), reqInit('GET', user)), `retrieving success story ${id}`),
+ apiResult(await fetch(apiUrl(`success/${id}`), reqInit("GET", user)), `retrieving success story ${id}`),
/**
* Save a success story
@@ -351,14 +350,8 @@ export default {
* @returns True if successful, an error string if not
*/
save: async (data : StoryForm, user : LogOnSuccess) : Promise =>
- apiSend(await fetch(apiUrl('success'), reqInit('POST', user, data)), 'saving success story')
+ apiSend(await fetch(apiUrl("success"), reqInit("POST", user, data)), "saving success story")
}
}
-/** The standard Jobs, Jobs, Jobs options for `marked` (GitHub-Flavo(u)red Markdown (GFM) with smart quotes) */
-export const markedOptions : MarkedOptions = {
- gfm: true,
- smartypants: true
-}
-
-export * from './types'
+export * from "./types"
diff --git a/src/JobsJobsJobs/App/src/api/types.ts b/src/JobsJobsJobs/App/src/api/types.ts
index 2c2d312..0f465aa 100644
--- a/src/JobsJobsJobs/App/src/api/types.ts
+++ b/src/JobsJobsJobs/App/src/api/types.ts
@@ -62,17 +62,17 @@ export interface Listing {
/** The data required to add or edit a job listing */
export class ListingForm {
/** The ID of the listing */
- id = ''
+ id = ""
/** The listing title */
- title = ''
+ title = ""
/** The ID of the continent on which this opportunity exists */
- continentId = ''
+ continentId = ""
/** The region in which this opportunity exists */
- region = ''
+ region = ""
/** Whether this is a remote work opportunity */
remoteWork = false
/** The text of the job listing */
- text = ''
+ text = ""
/** The date by which this job listing is needed */
neededBy : string | undefined
}
@@ -150,17 +150,17 @@ export class ProfileForm {
/** Whether this profile should appear in the public search */
isPublic = false
/** The user's real name */
- realName = ''
+ realName = ""
/** The ID of the continent on which the citizen is located */
- continentId = ''
+ continentId = ""
/** The area within that continent where the citizen is located */
- region = ''
+ region = ""
/** If the citizen is available for remote work */
remoteWork = false
/** If the citizen is seeking full-time employment */
fullTime = false
/** The user's professional biography */
- biography = ''
+ biography = ""
/** The user's past experience */
experience : string | undefined
/** The skills for the user */
@@ -248,11 +248,11 @@ export interface StoryEntry {
/** The data required to provide a success story */
export class StoryForm {
/** The ID of this story */
- id = ''
+ id = ""
/** Whether the employment was obtained from Jobs, Jobs, Jobs */
fromHere = false
/** The success story */
- story = ''
+ story = ""
}
/** A record of success finding employment */
diff --git a/src/JobsJobsJobs/App/src/components/AudioClip.vue b/src/JobsJobsJobs/App/src/components/AudioClip.vue
index a597836..aa5971e 100644
--- a/src/JobsJobsJobs/App/src/components/AudioClip.vue
+++ b/src/JobsJobsJobs/App/src/components/AudioClip.vue
@@ -1,34 +1,20 @@
-span(@click='playFile') #[slot] #[audio(:id='clip'): source(:src='clipSource')]
+span(@click="playFile") #[slot] #[audio(:id="clip"): source(:src="clipSource")]
-