diff --git a/.env b/.env
new file mode 100644
index 000000000..aae87451a
--- /dev/null
+++ b/.env
@@ -0,0 +1,2 @@
+VUE_APP_I18N_LOCALE=es
+VUE_APP_I18N_FALLBACK_LOCALE=en
diff --git a/.eslintrc.js b/.eslintrc.js
index a32289c8d..bf57bcf14 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -4,25 +4,22 @@ module.exports = {
node: true,
},
extends: [
- "plugin:vue/vue3-essential",
- "eslint:recommended",
- "@vue/typescript/recommended",
- "@vue/prettier",
- "@vue/prettier/@typescript-eslint",
+ 'plugin:vue/vue3-essential',
+ 'eslint:recommended',
+ '@vue/typescript/recommended',
+ '@vue/prettier',
+ '@vue/prettier/@typescript-eslint',
],
parserOptions: {
ecmaVersion: 2020,
},
rules: {
- "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
- "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off"
+ 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
},
overrides: [
{
- files: [
- "**/__tests__/*.{j,t}s?(x)",
- "**/tests/unit/**/*.spec.{j,t}s?(x)",
- ],
+ files: ['**/__tests__/*.{j,t}s?(x)', '**/tests/unit/**/*.spec.{j,t}s?(x)'],
env: {
jest: true,
},
diff --git a/.prettierrc.js b/.prettierrc.js
index 1dabc998a..c5187abb0 100644
--- a/.prettierrc.js
+++ b/.prettierrc.js
@@ -2,5 +2,5 @@ module.exports = {
singleQuote: true,
printWidth: 120,
tabWidth: 4,
- endOfLine: "auto",
- };
\ No newline at end of file
+ endOfLine: 'auto',
+};
diff --git a/package-lock.json b/package-lock.json
index 1d36e554b..44be531bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,10 +14,12 @@
"quasar": "^2.0.0",
"vue": "^3.0.0",
"vue-class-component": "^8.0.0-0",
+ "vue-i18n": "^9.1.0",
"vue-router": "^4.0.0-0",
"vuex": "^4.0.0-0"
},
"devDependencies": {
+ "@intlify/vue-i18n-loader": "^3.0.0",
"@types/jest": "^24.0.19",
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
@@ -40,6 +42,7 @@
"sass": "1.32.12",
"sass-loader": "^10.1.0",
"typescript": "~4.1.5",
+ "vue-cli-plugin-i18n": "~2.3.1",
"vue-cli-plugin-quasar": "~4.0.4",
"vue-jest": "^5.0.0-0"
}
@@ -1839,6 +1842,185 @@
"webpack": "^4.0.0"
}
},
+ "node_modules/@intlify/bundle-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/@intlify/bundle-utils/-/bundle-utils-1.0.0.tgz",
+ "integrity": "sha512-/lV9CZpQVOBhXgsfHsPEQP3VvdQGsgx8INQIVUsNOgdw0Ddy884h1OJlRBMInyOIxDgjFa7/Wpqe2Zxt7ueuEg==",
+ "dev": true,
+ "dependencies": {
+ "@intlify/core": "^9.1.9",
+ "@intlify/message-compiler": "^9.1.9",
+ "@intlify/shared": "^9.1.9",
+ "jsonc-eslint-parser": "^1.0.1",
+ "source-map": "^0.6.1",
+ "yaml-eslint-parser": "^0.3.2"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/@intlify/bundle-utils/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@intlify/core": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/core/-/core-9.1.9.tgz",
+ "integrity": "sha512-y+B2KaLGYYrbcq4kXhTn9JBphlAyC351l47TMfK9xBEXTXRzgEpXTzTJ23Y85GBwOCembRehQ82sjjtGmJuRjA==",
+ "dev": true,
+ "dependencies": {
+ "@intlify/core-base": "9.1.9"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/core-base": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz",
+ "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==",
+ "dependencies": {
+ "@intlify/devtools-if": "9.1.9",
+ "@intlify/message-compiler": "9.1.9",
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/runtime": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "@intlify/vue-devtools": "9.1.9"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/devtools-if": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz",
+ "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==",
+ "dependencies": {
+ "@intlify/shared": "9.1.9"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/message-compiler": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz",
+ "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==",
+ "dependencies": {
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "source-map": "0.6.1"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/message-compiler/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@intlify/message-resolver": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz",
+ "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/runtime": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz",
+ "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==",
+ "dependencies": {
+ "@intlify/message-compiler": "9.1.9",
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/shared": "9.1.9"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/shared": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz",
+ "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/vue-devtools": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz",
+ "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==",
+ "dependencies": {
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/runtime": "9.1.9",
+ "@intlify/shared": "9.1.9"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@intlify/vue-i18n-loader": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/@intlify/vue-i18n-loader/-/vue-i18n-loader-3.3.0.tgz",
+ "integrity": "sha512-c+UpjGUAkZV9XJzrJouDAxuEG2co9+ywbEzdyAPL/EPcEf6+q25979QYX0WOHBsU2FG55xTSfy/9Kn71X2LvgA==",
+ "dev": true,
+ "dependencies": {
+ "@intlify/bundle-utils": "^1.0.0",
+ "@intlify/shared": "^9.1.9",
+ "js-yaml": "^4.1.0",
+ "json5": "^2.2.0",
+ "loader-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 12"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0 || ^2.6.0"
+ }
+ },
+ "node_modules/@intlify/vue-i18n-loader/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/@intlify/vue-i18n-loader/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/@intlify/vue-i18n-loader/node_modules/loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dev": true,
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
"node_modules/@jest/console": {
"version": "24.9.0",
"resolved": "https://registry.npmmirror.com/@jest/console/-/console-24.9.0.tgz",
@@ -5690,6 +5872,65 @@
"node": ">=6"
}
},
+ "node_modules/cli-table3": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.5.1.tgz",
+ "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
+ "dev": true,
+ "dependencies": {
+ "object-assign": "^4.1.0",
+ "string-width": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "optionalDependencies": {
+ "colors": "^1.1.2"
+ }
+ },
+ "node_modules/cli-table3/node_modules/ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-table3/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-table3/node_modules/string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "dependencies": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cli-table3/node_modules/strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/cli-truncate": {
"version": "0.2.1",
"resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-0.2.1.tgz",
@@ -5888,6 +6129,16 @@
"simple-swizzle": "^0.2.2"
}
},
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -7482,6 +7733,25 @@
"domhandler": "^4.2.0"
}
},
+ "node_modules/dot-object": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmmirror.com/dot-object/-/dot-object-1.9.0.tgz",
+ "integrity": "sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==",
+ "dev": true,
+ "dependencies": {
+ "commander": "^2.20.0",
+ "glob": "^7.1.4"
+ },
+ "bin": {
+ "dot-object": "bin/dot-object"
+ }
+ },
+ "node_modules/dot-object/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
"node_modules/dot-prop": {
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz",
@@ -8140,6 +8410,15 @@
"node": ">=8"
}
},
+ "node_modules/esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmmirror.com/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/espree": {
"version": "6.2.1",
"resolved": "https://registry.npmmirror.com/espree/-/espree-6.2.1.tgz",
@@ -9002,6 +9281,15 @@
"node": ">=6"
}
},
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
"node_modules/flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -11006,6 +11294,15 @@
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"dev": true
},
+ "node_modules/is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -12455,6 +12752,43 @@
"node": ">=6"
}
},
+ "node_modules/jsonc-eslint-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz",
+ "integrity": "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^7.4.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^1.3.0",
+ "espree": "^6.0.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/jsonc-eslint-parser/node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
@@ -19092,6 +19426,49 @@
"vue": "^3.0.0"
}
},
+ "node_modules/vue-cli-plugin-i18n": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-2.3.1.tgz",
+ "integrity": "sha512-1bNVZtLIAL9Pge8hiw986vixofyqF/tlgsqe4fF5JWn9c8xhsqVugEBuUeaYxevrE9efhhFk9mRmEDwBwQnbNg==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.0",
+ "deepmerge": "^4.2.0",
+ "dotenv": "^8.2.0",
+ "flat": "^5.0.0",
+ "rimraf": "^3.0.0",
+ "vue": "^2.6.11",
+ "vue-i18n": "^8.17.0",
+ "vue-i18n-extract": "1.0.2"
+ },
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/vue-cli-plugin-i18n/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/vue-cli-plugin-i18n/node_modules/vue": {
+ "version": "2.6.14",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz",
+ "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
+ "dev": true
+ },
+ "node_modules/vue-cli-plugin-i18n/node_modules/vue-i18n": {
+ "version": "8.27.0",
+ "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-8.27.0.tgz",
+ "integrity": "sha512-SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw==",
+ "dev": true
+ },
"node_modules/vue-cli-plugin-quasar": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/vue-cli-plugin-quasar/-/vue-cli-plugin-quasar-4.0.4.tgz",
@@ -19163,6 +19540,143 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true
},
+ "node_modules/vue-i18n": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.1.9.tgz",
+ "integrity": "sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==",
+ "dependencies": {
+ "@intlify/core-base": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "@intlify/vue-devtools": "9.1.9",
+ "@vue/devtools-api": "^6.0.0-beta.7"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/vue-i18n-extract": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz",
+ "integrity": "sha512-+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw==",
+ "dev": true,
+ "dependencies": {
+ "cli-table3": "^0.5.1",
+ "dot-object": "^1.7.1",
+ "esm": "^3.2.13",
+ "glob": "^7.1.3",
+ "is-valid-glob": "^1.0.0",
+ "yargs": "^13.2.2"
+ },
+ "bin": {
+ "vue-i18n-extract": "dist-node/index.bin.js"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "node_modules/vue-i18n-extract/node_modules/is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/yargs": {
+ "version": "13.3.2",
+ "resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz",
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
+ }
+ },
+ "node_modules/vue-i18n-extract/node_modules/yargs-parser": {
+ "version": "13.1.2",
+ "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz",
+ "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ },
"node_modules/vue-jest": {
"version": "5.0.0-alpha.10",
"resolved": "https://registry.npmmirror.com/vue-jest/-/vue-jest-5.0.0-alpha.10.tgz",
@@ -20541,11 +21055,30 @@
"resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
"dev": true,
- "optional": true,
"engines": {
"node": ">= 6"
}
},
+ "node_modules/yaml-eslint-parser": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmmirror.com/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz",
+ "integrity": "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^1.3.0",
+ "lodash": "^4.17.20",
+ "yaml": "^1.10.0"
+ }
+ },
+ "node_modules/yaml-eslint-parser/node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz",
@@ -22015,6 +22548,146 @@
"postcss": "^7.0.0"
}
},
+ "@intlify/bundle-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/@intlify/bundle-utils/-/bundle-utils-1.0.0.tgz",
+ "integrity": "sha512-/lV9CZpQVOBhXgsfHsPEQP3VvdQGsgx8INQIVUsNOgdw0Ddy884h1OJlRBMInyOIxDgjFa7/Wpqe2Zxt7ueuEg==",
+ "dev": true,
+ "requires": {
+ "@intlify/core": "^9.1.9",
+ "@intlify/message-compiler": "^9.1.9",
+ "@intlify/shared": "^9.1.9",
+ "jsonc-eslint-parser": "^1.0.1",
+ "source-map": "^0.6.1",
+ "yaml-eslint-parser": "^0.3.2"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
+ }
+ },
+ "@intlify/core": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/core/-/core-9.1.9.tgz",
+ "integrity": "sha512-y+B2KaLGYYrbcq4kXhTn9JBphlAyC351l47TMfK9xBEXTXRzgEpXTzTJ23Y85GBwOCembRehQ82sjjtGmJuRjA==",
+ "dev": true,
+ "requires": {
+ "@intlify/core-base": "9.1.9"
+ }
+ },
+ "@intlify/core-base": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz",
+ "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==",
+ "requires": {
+ "@intlify/devtools-if": "9.1.9",
+ "@intlify/message-compiler": "9.1.9",
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/runtime": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "@intlify/vue-devtools": "9.1.9"
+ }
+ },
+ "@intlify/devtools-if": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz",
+ "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==",
+ "requires": {
+ "@intlify/shared": "9.1.9"
+ }
+ },
+ "@intlify/message-compiler": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz",
+ "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==",
+ "requires": {
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "@intlify/message-resolver": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz",
+ "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA=="
+ },
+ "@intlify/runtime": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz",
+ "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==",
+ "requires": {
+ "@intlify/message-compiler": "9.1.9",
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/shared": "9.1.9"
+ }
+ },
+ "@intlify/shared": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz",
+ "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw=="
+ },
+ "@intlify/vue-devtools": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz",
+ "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==",
+ "requires": {
+ "@intlify/message-resolver": "9.1.9",
+ "@intlify/runtime": "9.1.9",
+ "@intlify/shared": "9.1.9"
+ }
+ },
+ "@intlify/vue-i18n-loader": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmmirror.com/@intlify/vue-i18n-loader/-/vue-i18n-loader-3.3.0.tgz",
+ "integrity": "sha512-c+UpjGUAkZV9XJzrJouDAxuEG2co9+ywbEzdyAPL/EPcEf6+q25979QYX0WOHBsU2FG55xTSfy/9Kn71X2LvgA==",
+ "dev": true,
+ "requires": {
+ "@intlify/bundle-utils": "^1.0.0",
+ "@intlify/shared": "^9.1.9",
+ "js-yaml": "^4.1.0",
+ "json5": "^2.2.0",
+ "loader-utils": "^2.0.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "loader-utils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.2.tgz",
+ "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
+ "dev": true,
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ }
+ }
+ },
"@jest/console": {
"version": "24.9.0",
"resolved": "https://registry.npmmirror.com/@jest/console/-/console-24.9.0.tgz",
@@ -23267,8 +23940,7 @@
"version": "4.5.15",
"resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.15.tgz",
"integrity": "sha512-fqap+4HN+w+InDxlA3hZTOGE0tzBTgXhKLoDydhywqgmhQ1D9JA6Feh94ze6tG8DsWX58/ujYUqA8jAz17FJtg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@vue/cli-service": {
"version": "4.5.15",
@@ -23503,8 +24175,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz",
"integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@vue/reactivity": {
"version": "3.2.31",
@@ -23563,8 +24234,7 @@
"version": "2.0.0-rc.17",
"resolved": "https://registry.npmmirror.com/@vue/test-utils/-/test-utils-2.0.0-rc.17.tgz",
"integrity": "sha512-7LHZKsFRV/HqDoMVY+cJamFzgHgsrmQFalROHC5FMWrzPzd+utG5e11krj1tVsnxYufGA2ABShX4nlcHXED+zQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@vue/web-component-wrapper": {
"version": "1.3.0",
@@ -23815,8 +24485,7 @@
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"acorn-walk": {
"version": "7.2.0",
@@ -23846,15 +24515,13 @@
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-1.0.1.tgz",
"integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"alphanum-sort": {
"version": "1.0.2",
@@ -24198,8 +24865,7 @@
"version": "7.0.0-bridge.0",
"resolved": "https://registry.npmmirror.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz",
"integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"babel-jest": {
"version": "24.9.0",
@@ -25273,6 +25939,50 @@
"integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==",
"dev": true
},
+ "cli-table3": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmmirror.com/cli-table3/-/cli-table3-0.5.1.tgz",
+ "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==",
+ "dev": true,
+ "requires": {
+ "colors": "^1.1.2",
+ "object-assign": "^4.1.0",
+ "string-width": "^2.1.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^4.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ }
+ }
+ },
"cli-truncate": {
"version": "0.2.1",
"resolved": "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-0.2.1.tgz",
@@ -25433,6 +26143,13 @@
"simple-swizzle": "^0.2.2"
}
},
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmmirror.com/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "dev": true,
+ "optional": true
+ },
"combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -26772,6 +27489,24 @@
"domhandler": "^4.2.0"
}
},
+ "dot-object": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmmirror.com/dot-object/-/dot-object-1.9.0.tgz",
+ "integrity": "sha512-7MPN6y7XhAO4vM4eguj5+5HNKLjJYfkVG1ZR1Aput4Q4TR6SYeSjhpVQ77IzJHoSHffKbDxBC+48aCiiRurDPw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "glob": "^7.1.4"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ }
+ }
+ },
"dot-prop": {
"version": "5.3.0",
"resolved": "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz",
@@ -27293,6 +28028,12 @@
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
"dev": true
},
+ "esm": {
+ "version": "3.2.25",
+ "resolved": "https://registry.npmmirror.com/esm/-/esm-3.2.25.tgz",
+ "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==",
+ "dev": true
+ },
"espree": {
"version": "6.2.1",
"resolved": "https://registry.npmmirror.com/espree/-/espree-6.2.1.tgz",
@@ -28011,6 +28752,12 @@
"locate-path": "^3.0.0"
}
},
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmmirror.com/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true
+ },
"flat-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/flat-cache/-/flat-cache-2.0.1.tgz",
@@ -29627,6 +30374,12 @@
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
"dev": true
},
+ "is-valid-glob": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmmirror.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
+ "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==",
+ "dev": true
+ },
"is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -30127,8 +30880,7 @@
"version": "7.5.7",
"resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.7.tgz",
"integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==",
- "dev": true,
- "requires": {}
+ "dev": true
}
}
},
@@ -30278,8 +31030,7 @@
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
"integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"jest-regex-util": {
"version": "24.9.0",
@@ -30812,6 +31563,36 @@
"minimist": "^1.2.5"
}
},
+ "jsonc-eslint-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmmirror.com/jsonc-eslint-parser/-/jsonc-eslint-parser-1.4.1.tgz",
+ "integrity": "sha512-hXBrvsR1rdjmB2kQmUjf1rEIa+TqHBGMge8pwi++C+Si1ad7EjZrJcpgwym+QGK/pqTx+K7keFAtLlVNdLRJOg==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.4.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^1.3.0",
+ "espree": "^6.0.0",
+ "semver": "^6.3.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ }
+ }
+ },
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
@@ -36322,8 +37103,46 @@
"vue-class-component": {
"version": "8.0.0-rc.1",
"resolved": "https://registry.npmmirror.com/vue-class-component/-/vue-class-component-8.0.0-rc.1.tgz",
- "integrity": "sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ==",
- "requires": {}
+ "integrity": "sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ=="
+ },
+ "vue-cli-plugin-i18n": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmmirror.com/vue-cli-plugin-i18n/-/vue-cli-plugin-i18n-2.3.1.tgz",
+ "integrity": "sha512-1bNVZtLIAL9Pge8hiw986vixofyqF/tlgsqe4fF5JWn9c8xhsqVugEBuUeaYxevrE9efhhFk9mRmEDwBwQnbNg==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.3.0",
+ "deepmerge": "^4.2.0",
+ "dotenv": "^8.2.0",
+ "flat": "^5.0.0",
+ "rimraf": "^3.0.0",
+ "vue": "^2.6.11",
+ "vue-i18n": "^8.17.0",
+ "vue-i18n-extract": "1.0.2"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "vue": {
+ "version": "2.6.14",
+ "resolved": "https://registry.npmmirror.com/vue/-/vue-2.6.14.tgz",
+ "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==",
+ "dev": true
+ },
+ "vue-i18n": {
+ "version": "8.27.0",
+ "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-8.27.0.tgz",
+ "integrity": "sha512-SX35iJHL5PJ4Gfh0Mo/q0shyHiI2V6Zkh51c+k8E9O1RKv5BQyYrCxRzpvPrsIOJEnLaeiovet3dsUB0e/kDzw==",
+ "dev": true
+ }
+ }
},
"vue-cli-plugin-quasar": {
"version": "4.0.4",
@@ -36385,6 +37204,121 @@
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
"dev": true
},
+ "vue-i18n": {
+ "version": "9.1.9",
+ "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.1.9.tgz",
+ "integrity": "sha512-JeRdNVxS2OGp1E+pye5XB6+M6BBkHwAv9C80Q7+kzoMdUDGRna06tjC0vCB/jDX9aWrl5swxOMFcyAr7or8XTA==",
+ "requires": {
+ "@intlify/core-base": "9.1.9",
+ "@intlify/shared": "9.1.9",
+ "@intlify/vue-devtools": "9.1.9",
+ "@vue/devtools-api": "^6.0.0-beta.7"
+ }
+ },
+ "vue-i18n-extract": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmmirror.com/vue-i18n-extract/-/vue-i18n-extract-1.0.2.tgz",
+ "integrity": "sha512-+zwDKvle4KcfloXZnj5hF01ViKDiFr5RMx5507D7oyDXpSleRpekF5YHgZa/+Ra6Go68//z0Nya58J9tKFsCjw==",
+ "dev": true,
+ "requires": {
+ "cli-table3": "^0.5.1",
+ "dot-object": "^1.7.1",
+ "esm": "^3.2.13",
+ "glob": "^7.1.3",
+ "is-valid-glob": "^1.0.0",
+ "yargs": "^13.2.2"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "cliui": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+ "dev": true,
+ "requires": {
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ }
+ },
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ }
+ },
+ "yargs": {
+ "version": "13.3.2",
+ "resolved": "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz",
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
+ "require-directory": "^2.1.1",
+ "require-main-filename": "^2.0.0",
+ "set-blocking": "^2.0.0",
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "13.1.2",
+ "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz",
+ "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+ "dev": true,
+ "requires": {
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
+ }
+ }
+ }
+ },
"vue-jest": {
"version": "5.0.0-alpha.10",
"resolved": "https://registry.npmmirror.com/vue-jest/-/vue-jest-5.0.0-alpha.10.tgz",
@@ -37523,8 +38457,26 @@
"version": "1.10.2",
"resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "dev": true
+ },
+ "yaml-eslint-parser": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmmirror.com/yaml-eslint-parser/-/yaml-eslint-parser-0.3.2.tgz",
+ "integrity": "sha512-32kYO6kJUuZzqte82t4M/gB6/+11WAuHiEnK7FreMo20xsCKPeFH5tDBU7iWxR7zeJpNnMXfJyXwne48D0hGrg==",
"dev": true,
- "optional": true
+ "requires": {
+ "eslint-visitor-keys": "^1.3.0",
+ "lodash": "^4.17.20",
+ "yaml": "^1.10.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ }
+ }
},
"yargs": {
"version": "16.2.0",
diff --git a/package.json b/package.json
index 3a8ae0b96..c006c3ae5 100644
--- a/package.json
+++ b/package.json
@@ -1,48 +1,52 @@
{
- "name": "salix-front",
- "version": "0.1.0",
- "private": true,
- "scripts": {
- "serve": "vue-cli-service serve",
- "build": "vue-cli-service build",
- "test:unit": "vue-cli-service test:unit",
- "test:e2e": "vue-cli-service test:e2e",
- "lint": "vue-cli-service lint"
- },
- "dependencies": {
- "@quasar/extras": "^1.0.0",
- "axios": "^0.26.0",
- "core-js": "^3.6.5",
- "quasar": "^2.0.0",
- "vue": "^3.0.0",
- "vue-class-component": "^8.0.0-0",
- "vue-router": "^4.0.0-0",
- "vuex": "^4.0.0-0"
- },
- "devDependencies": {
- "@types/jest": "^24.0.19",
- "@typescript-eslint/eslint-plugin": "^4.18.0",
- "@typescript-eslint/parser": "^4.18.0",
- "@vue/cli-plugin-babel": "~4.5.15",
- "@vue/cli-plugin-e2e-cypress": "~4.5.15",
- "@vue/cli-plugin-eslint": "~4.5.15",
- "@vue/cli-plugin-router": "~4.5.15",
- "@vue/cli-plugin-typescript": "~4.5.15",
- "@vue/cli-plugin-unit-jest": "~4.5.15",
- "@vue/cli-plugin-vuex": "~4.5.15",
- "@vue/cli-service": "~4.5.15",
- "@vue/compiler-sfc": "^3.0.0",
- "@vue/eslint-config-prettier": "^6.0.0",
- "@vue/eslint-config-typescript": "^7.0.0",
- "@vue/test-utils": "^2.0.0-0",
- "eslint": "^6.7.2",
- "eslint-plugin-prettier": "^3.3.1",
- "eslint-plugin-vue": "^7.0.0",
- "prettier": "^2.2.1",
- "sass": "1.32.12",
- "sass-loader": "^10.1.0",
- "typescript": "~4.1.5",
- "vue-cli-plugin-quasar": "~4.0.4",
- "vue-jest": "^5.0.0-0"
- }
-}
+ "name": "salix-front",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "serve": "vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "test:unit": "vue-cli-service test:unit",
+ "test:e2e": "vue-cli-service test:e2e",
+ "lint": "vue-cli-service lint",
+ "i18n:report": "vue-cli-service i18n:report --src \"./src/**/*.?(js|vue)\" --locales \"./src/locales/**/*.json\""
+ },
+ "dependencies": {
+ "@quasar/extras": "^1.0.0",
+ "axios": "^0.26.0",
+ "core-js": "^3.6.5",
+ "quasar": "^2.0.0",
+ "vue": "^3.0.0",
+ "vue-class-component": "^8.0.0-0",
+ "vue-i18n": "^9.1.0",
+ "vue-router": "^4.0.0-0",
+ "vuex": "^4.0.0-0"
+ },
+ "devDependencies": {
+ "@intlify/vue-i18n-loader": "^3.0.0",
+ "@types/jest": "^24.0.19",
+ "@typescript-eslint/eslint-plugin": "^4.18.0",
+ "@typescript-eslint/parser": "^4.18.0",
+ "@vue/cli-plugin-babel": "~4.5.15",
+ "@vue/cli-plugin-e2e-cypress": "~4.5.15",
+ "@vue/cli-plugin-eslint": "~4.5.15",
+ "@vue/cli-plugin-router": "~4.5.15",
+ "@vue/cli-plugin-typescript": "~4.5.15",
+ "@vue/cli-plugin-unit-jest": "~4.5.15",
+ "@vue/cli-plugin-vuex": "~4.5.15",
+ "@vue/cli-service": "~4.5.15",
+ "@vue/compiler-sfc": "^3.0.0",
+ "@vue/eslint-config-prettier": "^6.0.0",
+ "@vue/eslint-config-typescript": "^7.0.0",
+ "@vue/test-utils": "^2.0.0-0",
+ "eslint": "^6.7.2",
+ "eslint-plugin-prettier": "^3.3.1",
+ "eslint-plugin-vue": "^7.0.0",
+ "prettier": "^2.2.1",
+ "sass": "1.32.12",
+ "sass-loader": "^10.1.0",
+ "typescript": "~4.1.5",
+ "vue-cli-plugin-i18n": "~2.3.1",
+ "vue-cli-plugin-quasar": "~4.0.4",
+ "vue-jest": "^5.0.0-0"
+ }
+}
\ No newline at end of file
diff --git a/src/assets/logo.png b/src/assets/logo.png
deleted file mode 100644
index f3d2503fc..000000000
Binary files a/src/assets/logo.png and /dev/null differ
diff --git a/src/assets/logo.svg b/src/assets/logo.svg
index 87a1eee6d..1fae1108f 100644
--- a/src/assets/logo.svg
+++ b/src/assets/logo.svg
@@ -1,15 +1,70 @@
-
+
+
+
diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue
deleted file mode 100644
index 69494b443..000000000
--- a/src/components/HelloWorld.vue
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/i18n.ts b/src/i18n.ts
new file mode 100644
index 000000000..0590c7af9
--- /dev/null
+++ b/src/i18n.ts
@@ -0,0 +1,27 @@
+import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n';
+
+/**
+ * Load locale messages
+ *
+ * The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.
+ * See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation
+ */
+function loadLocaleMessages(): LocaleMessages {
+ const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.json$/i);
+ const messages: LocaleMessages = {};
+ locales.keys().forEach((key) => {
+ const matched = key.match(/([A-Za-z0-9-_]+)\./i);
+ if (matched && matched.length > 1) {
+ const locale = matched[1];
+ messages[locale] = locales(key).default;
+ }
+ });
+ return messages;
+}
+
+export default createI18n({
+ legacy: true,
+ locale: process.env.VUE_APP_I18N_LOCALE || 'en',
+ fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',
+ messages: loadLocaleMessages(),
+});
diff --git a/src/locales/en.json b/src/locales/en.json
new file mode 100644
index 000000000..0a399067c
--- /dev/null
+++ b/src/locales/en.json
@@ -0,0 +1,4 @@
+{
+ "message": "hello i18n !!",
+ "Username": "Usuario"
+}
\ No newline at end of file
diff --git a/src/locales/es.json b/src/locales/es.json
new file mode 100644
index 000000000..ead16a3e1
--- /dev/null
+++ b/src/locales/es.json
@@ -0,0 +1,22 @@
+{
+ "globals": {
+ "Shipped": "Enviado",
+ "Landed": "Aterrizado"
+ },
+ "login": {
+ "title": "Iniciar sesión",
+ "username": "Nombre de usuario",
+ "password": "Contraseña",
+ "submit": "Iniciar sesión",
+ "keepLogin": "Mantener sesión iniciada"
+ },
+ "customer": {},
+ "components": {
+ "dialog": {
+
+ },
+ "calendar": {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main.ts b/src/main.ts
index 964223462..218667d12 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -4,5 +4,6 @@ import router from './router';
import store from './store';
import { Quasar } from 'quasar';
import quasarUserOptions from './quasar-user-options';
+import i18n from './i18n';
-createApp(App).use(Quasar, quasarUserOptions).use(store).use(router).mount('#app');
+createApp(App).use(i18n).use(Quasar, quasarUserOptions).use(store).use(router).mount('#app');
diff --git a/src/router/index.ts b/src/router/index.ts
index db274ef81..81e8943f3 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -4,7 +4,12 @@ const routes: Array = [
{
path: '/',
name: 'Login',
- component: () => import('../views/Login.vue'),
+ component: () => import('../views/Login/Login.vue'),
+ },
+ {
+ path: '/dashboard',
+ name: 'Dashboard',
+ component: () => import('../views/Dashboard/Dashboard.vue'),
},
];
diff --git a/src/views/Dashboard/Dashboard.vue b/src/views/Dashboard/Dashboard.vue
new file mode 100644
index 000000000..03a196c18
--- /dev/null
+++ b/src/views/Dashboard/Dashboard.vue
@@ -0,0 +1,12 @@
+
+ page..
+
+
+
+
+
diff --git a/src/views/Login.vue b/src/views/Login/Login.vue
similarity index 61%
rename from src/views/Login.vue
rename to src/views/Login/Login.vue
index 6b9d22ec1..2d1252934 100644
--- a/src/views/Login.vue
+++ b/src/views/Login/Login.vue
@@ -1,16 +1,22 @@
+
+
+
+
+
+
-
-
+
+
-
+
-
+
@@ -41,10 +47,22 @@