diff --git a/packages/nc-gui-v2/.eslintrc.js b/packages/nc-gui-v2/.eslintrc.js
index 4f5bbdf923..301af65d8d 100644
--- a/packages/nc-gui-v2/.eslintrc.js
+++ b/packages/nc-gui-v2/.eslintrc.js
@@ -5,6 +5,7 @@ const baseRules = {
}
module.exports = {
- extends: ['@antfu'],
+ extends: ['@antfu', 'plugin:prettier/recommended'],
+ plugins: ['prettier'],
rules: baseRules,
}
diff --git a/packages/nc-gui-v2/.prettierrc b/packages/nc-gui-v2/.prettierrc
new file mode 100644
index 0000000000..02018a3756
--- /dev/null
+++ b/packages/nc-gui-v2/.prettierrc
@@ -0,0 +1,8 @@
+{
+ "singleQuote": true,
+ "trailingComma": "all",
+ "semi": false,
+ "quoteProps": "consistent",
+ "bracketSpacing": true,
+ "printWidth": 130
+}
diff --git a/packages/nc-gui-v2/components/dashboard/TabView.vue b/packages/nc-gui-v2/components/dashboard/TabView.vue
index 6be3281d0a..3cfdae9e2a 100644
--- a/packages/nc-gui-v2/components/dashboard/TabView.vue
+++ b/packages/nc-gui-v2/components/dashboard/TabView.vue
@@ -13,17 +13,11 @@ const { tabs, activeTab } = useTabs()
-
+
-
+
diff --git a/packages/nc-gui-v2/components/dashboard/TreeView.vue b/packages/nc-gui-v2/components/dashboard/TreeView.vue
index 4a57b2d856..8bcebee7bc 100644
--- a/packages/nc-gui-v2/components/dashboard/TreeView.vue
+++ b/packages/nc-gui-v2/components/dashboard/TreeView.vue
@@ -10,7 +10,8 @@ const { addTab } = useTabs()
@@ -21,7 +22,7 @@ const { addTab } = useTabs()
diff --git a/packages/nc-gui-v2/components/smartsheet/Grid.vue b/packages/nc-gui-v2/components/smartsheet/Grid.vue
index 99b5086670..c5ccf2169c 100644
--- a/packages/nc-gui-v2/components/smartsheet/Grid.vue
+++ b/packages/nc-gui-v2/components/smartsheet/Grid.vue
@@ -16,13 +16,17 @@ const rows = ref()
const { $api } = useNuxtApp()
const loadData = async () => {
- const response = await $api.dbTableRow.list('noco',
+ const response = await $api.dbTableRow.list(
+ 'noco',
project.value.id,
- meta.id, {}, {
+ meta.id,
+ {},
+ {
headers: {
'xc-auth': user.token,
},
- })
+ },
+ )
rows.value = response.list
}
@@ -55,6 +59,4 @@ onMounted(async () => {
-
+
diff --git a/packages/nc-gui-v2/components/tabs/Smartsheet.vue b/packages/nc-gui-v2/components/tabs/Smartsheet.vue
index 7a15b59d6f..fe41a84b12 100644
--- a/packages/nc-gui-v2/components/tabs/Smartsheet.vue
+++ b/packages/nc-gui-v2/components/tabs/Smartsheet.vue
@@ -16,10 +16,12 @@ onMounted(async () => {
await getMeta(tabMeta?.id)
})
-watch(() => tabMeta && tabMeta?.id, async (newVal, oldVal) => {
- if (newVal !== oldVal)
- await getMeta(newVal)
-})
+watch(
+ () => tabMeta && tabMeta?.id,
+ async (newVal, oldVal) => {
+ if (newVal !== oldVal) await getMeta(newVal)
+ },
+)
@@ -30,6 +32,4 @@ watch(() => tabMeta && tabMeta?.id, async (newVal, oldVal) => {
-
+
diff --git a/packages/nc-gui-v2/composables/metas.ts b/packages/nc-gui-v2/composables/metas.ts
index 4c77dbd1b1..645e17742f 100644
--- a/packages/nc-gui-v2/composables/metas.ts
+++ b/packages/nc-gui-v2/composables/metas.ts
@@ -11,10 +11,9 @@ export const useMetas = () => {
const metas = useState<{ [idOrTitle: string]: TableType | any }>('metas', () => ({}))
const getMeta = async (tableIdOrTitle: string, force = false) => {
- if (!force && metas[tableIdOrTitle as keyof typeof metas])
- return metas[tableIdOrTitle as keyof typeof metas]
+ if (!force && metas[tableIdOrTitle as keyof typeof metas]) return metas[tableIdOrTitle as keyof typeof metas]
- const modelId = (tables.value.find(t => t.title === tableIdOrTitle || t.id === tableIdOrTitle) || {}).id
+ const modelId = (tables.value.find((t) => t.title === tableIdOrTitle || t.id === tableIdOrTitle) || {}).id
if (!modelId) {
console.warn(`Table '${tableIdOrTitle}' is not found in the table list`)
return
diff --git a/packages/nc-gui-v2/helpers/errorUtils.ts b/packages/nc-gui-v2/helpers/errorUtils.ts
index 7b1de0aa75..6601b5b1dc 100644
--- a/packages/nc-gui-v2/helpers/errorUtils.ts
+++ b/packages/nc-gui-v2/helpers/errorUtils.ts
@@ -4,12 +4,10 @@ export async function extractSdkResponseErrorMsg(e: Error & { response: any }) {
if (e.response.data instanceof Blob) {
try {
msg = JSON.parse(await e.response.data.text()).msg
- }
- catch {
+ } catch {
msg = 'Some internal error occurred'
}
- }
- else {
+ } else {
msg = e.response.data.msg || e.response.data.message || 'Some internal error occurred'
}
return msg || 'Some error occurred'
diff --git a/packages/nc-gui-v2/helpers/projectCreateUtils.ts b/packages/nc-gui-v2/helpers/projectCreateUtils.ts
index 5e385b3055..aee7fbef24 100644
--- a/packages/nc-gui-v2/helpers/projectCreateUtils.ts
+++ b/packages/nc-gui-v2/helpers/projectCreateUtils.ts
@@ -10,24 +10,27 @@ const testDataBaseNames = {
export type ClientType = 'mysql2' | 'mssql' | 'pg' | 'sqlite3' | 'vitess'
export const getTestDatabaseName = (db: { client: ClientType; connection?: { database?: string } }) => {
- if (db.client === 'pg')
- return db.connection?.database
+ if (db.client === 'pg') return db.connection?.database
return testDataBaseNames[db.client as keyof typeof testDataBaseNames]
}
-export const clientTypes = [{
- text: 'MySql',
- value: 'mysql2',
-}, {
- text: 'MSSQL',
- value: 'mssql',
-}, {
- text: 'PostgreSQL',
- value: 'pg',
-}, {
- text: 'SQLite',
- value: 'sqlite',
-},
+export const clientTypes = [
+ {
+ text: 'MySql',
+ value: 'mysql2',
+ },
+ {
+ text: 'MSSQL',
+ value: 'mssql',
+ },
+ {
+ text: 'PostgreSQL',
+ value: 'pg',
+ },
+ {
+ text: 'SQLite',
+ value: 'sqlite',
+ },
]
const homeDir = ''
diff --git a/packages/nc-gui-v2/package-lock.json b/packages/nc-gui-v2/package-lock.json
index 89291281e7..94239b6271 100644
--- a/packages/nc-gui-v2/package-lock.json
+++ b/packages/nc-gui-v2/package-lock.json
@@ -5,8 +5,11 @@
"packages": {
"": {
"dependencies": {
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-prettier": "^4.0.0",
"nocodb-sdk": "file:../nocodb-sdk",
"nuxt3-store": "^1.0.0",
+ "prettier": "^2.7.1",
"socket.io-client": "^4.5.1",
"vue-i18n": "^9.1.10",
"vue-toastification": "^2.0.0-rc.5",
@@ -14,7 +17,7 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.25.2",
- "@intlify/vite-plugin-vue-i18n": "^3.4.0",
+ "@intlify/vite-plugin-vue-i18n": "^4.0.0",
"@vueuse/nuxt": "^8.6.0",
"nuxt": "3.0.0-rc.4",
"sass": "^1.53.0"
@@ -660,7 +663,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
"integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
- "dev": true,
"peer": true,
"dependencies": {
"ajv": "^6.12.4",
@@ -681,7 +683,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -698,7 +699,6 @@
"version": "13.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
"integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "dev": true,
"peer": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -714,14 +714,12 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
"peer": true
},
"node_modules/@eslint/eslintrc/node_modules/type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=10"
@@ -734,7 +732,6 @@
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
"integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
- "dev": true,
"peer": true,
"dependencies": {
"@humanwhocodes/object-schema": "^1.2.1",
@@ -749,7 +746,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true,
"peer": true
},
"node_modules/@intlify/bundle-utils": {
@@ -949,13 +945,13 @@
}
},
"node_modules/@intlify/vite-plugin-vue-i18n": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-3.4.0.tgz",
- "integrity": "sha512-XXcZBgwJ+3FRu11c4ARoY9N00kElPii0/jNZ49qR045Ka7/YGCwb1Ku14BBlMSEHiHDSjLQknLwrJKSQGVZLyA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-4.0.0.tgz",
+ "integrity": "sha512-bX7WgJAnYAbhmfvMp17TjCzg4e4T68O7iqAcNo6TOS+oHK0kAJAN9AJfEMTdpDrAwURCw0VwZ0kgMFWDbJkY4g==",
"dev": true,
"dependencies": {
- "@intlify/bundle-utils": "^2.2.2",
- "@intlify/shared": "^9.1.0",
+ "@intlify/bundle-utils": "next",
+ "@intlify/shared": "next",
"@rollup/pluginutils": "^4.1.0",
"debug": "^4.3.1",
"fast-glob": "^3.2.5",
@@ -965,9 +961,9 @@
"node": ">= 12"
},
"peerDependencies": {
- "petite-vue-i18n": "^9.1.0",
- "vite": "^2.0.0",
- "vue-i18n": "^9.1.0"
+ "petite-vue-i18n": "next",
+ "vite": "^2.9.0",
+ "vue-i18n": "next"
},
"peerDependenciesMeta": {
"petite-vue-i18n": {
@@ -2636,7 +2632,6 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"peerDependencies": {
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
@@ -2814,7 +2809,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
"peer": true
},
"node_modules/array-includes": {
@@ -3128,7 +3122,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=6"
@@ -3689,7 +3682,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
"peer": true
},
"node_modules/deepmerge": {
@@ -3795,7 +3787,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
"peer": true,
"dependencies": {
"esutils": "^2.0.2"
@@ -4436,7 +4427,6 @@
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz",
"integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==",
- "dev": true,
"peer": true,
"dependencies": {
"@eslint/eslintrc": "^1.3.0",
@@ -4485,6 +4475,17 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint-config-prettier": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
+ "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
"node_modules/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",
@@ -4729,6 +4730,26 @@
"eslint": ">=7.0.0"
}
},
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
"node_modules/eslint-plugin-promise": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz",
@@ -4906,7 +4927,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
"dependencies": {
"eslint-visitor-keys": "^2.0.0"
},
@@ -4924,7 +4944,6 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
"integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true,
"engines": {
"node": ">=10"
}
@@ -4933,7 +4952,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
"integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
@@ -4942,7 +4960,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"peer": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -4959,7 +4976,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
"peer": true,
"dependencies": {
"ansi-styles": "^4.1.0",
@@ -4976,7 +4992,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=10"
@@ -4989,7 +5004,6 @@
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
"peer": true,
"dependencies": {
"esrecurse": "^4.3.0",
@@ -5003,7 +5017,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=4.0"
@@ -5013,7 +5026,6 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
"peer": true,
"dependencies": {
"is-glob": "^4.0.3"
@@ -5026,7 +5038,6 @@
"version": "13.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
"integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "dev": true,
"peer": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -5042,14 +5053,12 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
"peer": true
},
"node_modules/eslint/node_modules/type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=10"
@@ -5062,7 +5071,6 @@
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
"integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
- "dev": true,
"dependencies": {
"acorn": "^8.7.1",
"acorn-jsx": "^5.3.2",
@@ -5076,7 +5084,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
"integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
"dependencies": {
"estraverse": "^5.1.0"
},
@@ -5088,7 +5095,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
"engines": {
"node": ">=4.0"
}
@@ -5097,7 +5103,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "devOptional": true,
"dependencies": {
"estraverse": "^5.2.0"
},
@@ -5109,7 +5114,6 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "devOptional": true,
"engines": {
"node": ">=4.0"
}
@@ -5132,7 +5136,6 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5211,6 +5214,11 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="
+ },
"node_modules/fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
@@ -5230,14 +5238,12 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "devOptional": true,
"peer": true
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
"peer": true
},
"node_modules/fastq": {
@@ -5296,7 +5302,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
"peer": true,
"dependencies": {
"flat-cache": "^3.0.4"
@@ -5353,7 +5358,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
"peer": true,
"dependencies": {
"flatted": "^3.1.0",
@@ -5367,7 +5371,6 @@
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
"integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==",
- "dev": true,
"peer": true
},
"node_modules/follow-redirects": {
@@ -5495,8 +5498,7 @@
"node_modules/functional-red-black-tree": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
},
"node_modules/functions-have-names": {
"version": "1.2.3",
@@ -5954,7 +5956,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
"peer": true,
"dependencies": {
"parent-module": "^1.0.0",
@@ -5971,7 +5972,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
"peer": true,
"dependencies": {
"callsites": "^3.0.0"
@@ -5984,7 +5984,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=4"
@@ -5994,7 +5993,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=0.8.19"
@@ -6518,7 +6516,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
"peer": true,
"dependencies": {
"argparse": "^2.0.1"
@@ -6553,7 +6550,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
"peer": true
},
"node_modules/json5": {
@@ -6669,7 +6665,6 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
"peer": true,
"dependencies": {
"prelude-ls": "^1.2.1",
@@ -6790,7 +6785,6 @@
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
"peer": true
},
"node_modules/lodash.pick": {
@@ -7173,8 +7167,7 @@
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
"node_modules/neo-async": {
"version": "2.6.2",
@@ -8013,7 +8006,6 @@
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
"peer": true,
"dependencies": {
"deep-is": "^0.1.3",
@@ -8780,12 +8772,36 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
"peer": true,
"engines": {
"node": ">= 0.8.0"
}
},
+ "node_modules/prettier": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/pretty-bytes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz",
@@ -9127,7 +9143,6 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true,
"engines": {
"node": ">=8"
},
@@ -9856,7 +9871,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=8"
@@ -10119,7 +10133,6 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true,
"peer": true
},
"node_modules/through": {
@@ -10229,7 +10242,6 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
"peer": true,
"dependencies": {
"prelude-ls": "^1.2.1"
@@ -10425,7 +10437,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true,
"peer": true
},
"node_modules/validate-npm-package-license": {
@@ -10894,7 +10905,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
"peer": true,
"engines": {
"node": ">=0.10.0"
@@ -11507,7 +11517,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz",
"integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==",
- "dev": true,
"peer": true,
"requires": {
"ajv": "^6.12.4",
@@ -11525,7 +11534,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"peer": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -11538,7 +11546,6 @@
"version": "13.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
"integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "dev": true,
"peer": true,
"requires": {
"type-fest": "^0.20.2"
@@ -11548,14 +11555,12 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
"peer": true
},
"type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
"peer": true
}
}
@@ -11564,7 +11569,6 @@
"version": "0.9.5",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
"integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
- "dev": true,
"peer": true,
"requires": {
"@humanwhocodes/object-schema": "^1.2.1",
@@ -11576,7 +11580,6 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true,
"peer": true
},
"@intlify/bundle-utils": {
@@ -11721,13 +11724,13 @@
"integrity": "sha512-Om54xJeo1Vw+K1+wHYyXngE8cAbrxZHpWjYzMR9wCkqbhGtRV5VLhVc214Ze2YatPrWlS2WSMOWXR8JktX/IgA=="
},
"@intlify/vite-plugin-vue-i18n": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-3.4.0.tgz",
- "integrity": "sha512-XXcZBgwJ+3FRu11c4ARoY9N00kElPii0/jNZ49qR045Ka7/YGCwb1Ku14BBlMSEHiHDSjLQknLwrJKSQGVZLyA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@intlify/vite-plugin-vue-i18n/-/vite-plugin-vue-i18n-4.0.0.tgz",
+ "integrity": "sha512-bX7WgJAnYAbhmfvMp17TjCzg4e4T68O7iqAcNo6TOS+oHK0kAJAN9AJfEMTdpDrAwURCw0VwZ0kgMFWDbJkY4g==",
"dev": true,
"requires": {
- "@intlify/bundle-utils": "^2.2.2",
- "@intlify/shared": "^9.1.0",
+ "@intlify/bundle-utils": "next",
+ "@intlify/shared": "next",
"@rollup/pluginutils": "^4.1.0",
"debug": "^4.3.1",
"fast-glob": "^3.2.5",
@@ -13034,7 +13037,6 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"requires": {}
},
"agent-base": {
@@ -13164,7 +13166,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
- "dev": true,
"peer": true
},
"array-includes": {
@@ -13375,7 +13376,6 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
"peer": true
},
"camelcase": {
@@ -13771,7 +13771,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
- "dev": true,
"peer": true
},
"deepmerge": {
@@ -13849,7 +13848,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
"integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
- "dev": true,
"peer": true,
"requires": {
"esutils": "^2.0.2"
@@ -14221,7 +14219,6 @@
"version": "8.18.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz",
"integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==",
- "dev": true,
"peer": true,
"requires": {
"@eslint/eslintrc": "^1.3.0",
@@ -14265,7 +14262,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"peer": true,
"requires": {
"fast-deep-equal": "^3.1.1",
@@ -14278,7 +14274,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
"peer": true,
"requires": {
"ansi-styles": "^4.1.0",
@@ -14289,14 +14284,12 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
- "dev": true,
"peer": true
},
"eslint-scope": {
"version": "7.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
"integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
- "dev": true,
"peer": true,
"requires": {
"esrecurse": "^4.3.0",
@@ -14307,14 +14300,12 @@
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
"peer": true
},
"glob-parent": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
"integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
- "dev": true,
"peer": true,
"requires": {
"is-glob": "^4.0.3"
@@ -14324,7 +14315,6 @@
"version": "13.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz",
"integrity": "sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==",
- "dev": true,
"peer": true,
"requires": {
"type-fest": "^0.20.2"
@@ -14334,18 +14324,22 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
"peer": true
},
"type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
"peer": true
}
}
},
+ "eslint-config-prettier": {
+ "version": "8.5.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz",
+ "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==",
+ "requires": {}
+ },
"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",
@@ -14534,6 +14528,14 @@
"semver": "^7.3.7"
}
},
+ "eslint-plugin-prettier": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
+ "requires": {
+ "prettier-linter-helpers": "^1.0.0"
+ }
+ },
"eslint-plugin-promise": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz",
@@ -14660,7 +14662,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
"integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
- "dev": true,
"requires": {
"eslint-visitor-keys": "^2.0.0"
},
@@ -14668,22 +14669,19 @@
"eslint-visitor-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
- "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
- "dev": true
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw=="
}
}
},
"eslint-visitor-keys": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
- "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
- "dev": true
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA=="
},
"espree": {
"version": "9.3.2",
"resolved": "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz",
"integrity": "sha512-D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==",
- "dev": true,
"requires": {
"acorn": "^8.7.1",
"acorn-jsx": "^5.3.2",
@@ -14694,7 +14692,6 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
"integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
- "dev": true,
"requires": {
"estraverse": "^5.1.0"
},
@@ -14702,8 +14699,7 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
}
}
},
@@ -14711,7 +14707,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
"integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "devOptional": true,
"requires": {
"estraverse": "^5.2.0"
},
@@ -14719,8 +14714,7 @@
"estraverse": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "devOptional": true
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
}
}
},
@@ -14738,8 +14732,7 @@
"esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
},
"etag": {
"version": "1.8.1",
@@ -14800,6 +14793,11 @@
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
+ "fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w=="
+ },
"fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
@@ -14816,14 +14814,12 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "devOptional": true,
"peer": true
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
- "dev": true,
"peer": true
},
"fastq": {
@@ -14862,7 +14858,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
"integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
- "dev": true,
"peer": true,
"requires": {
"flat-cache": "^3.0.4"
@@ -14904,7 +14899,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
- "dev": true,
"peer": true,
"requires": {
"flatted": "^3.1.0",
@@ -14915,7 +14909,6 @@
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz",
"integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==",
- "dev": true,
"peer": true
},
"follow-redirects": {
@@ -15000,8 +14993,7 @@
"functional-red-black-tree": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
- "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
- "dev": true
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g=="
},
"functions-have-names": {
"version": "1.2.3",
@@ -15325,7 +15317,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
"peer": true,
"requires": {
"parent-module": "^1.0.0",
@@ -15336,7 +15327,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
"peer": true,
"requires": {
"callsites": "^3.0.0"
@@ -15346,7 +15336,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true,
"peer": true
}
}
@@ -15355,7 +15344,6 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
- "dev": true,
"peer": true
},
"indent-string": {
@@ -15719,7 +15707,6 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
- "dev": true,
"peer": true,
"requires": {
"argparse": "^2.0.1"
@@ -15745,7 +15732,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
- "dev": true,
"peer": true
},
"json5": {
@@ -15840,7 +15826,6 @@
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
"integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
- "dev": true,
"peer": true,
"requires": {
"prelude-ls": "^1.2.1",
@@ -15943,7 +15928,6 @@
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
- "dev": true,
"peer": true
},
"lodash.pick": {
@@ -16246,8 +16230,7 @@
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
- "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
- "dev": true
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw=="
},
"neo-async": {
"version": "2.6.2",
@@ -16894,7 +16877,6 @@
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
"integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
- "dev": true,
"peer": true,
"requires": {
"deep-is": "^0.1.3",
@@ -17403,9 +17385,21 @@
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
"integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
- "dev": true,
"peer": true
},
+ "prettier": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz",
+ "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g=="
+ },
+ "prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "requires": {
+ "fast-diff": "^1.1.2"
+ }
+ },
"pretty-bytes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz",
@@ -17655,8 +17649,7 @@
"regexpp": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
- "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
- "dev": true
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg=="
},
"require-directory": {
"version": "2.1.1",
@@ -18204,7 +18197,6 @@
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
- "dev": true,
"peer": true
},
"strip-literal": {
@@ -18381,7 +18373,6 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
- "dev": true,
"peer": true
},
"through": {
@@ -18474,7 +18465,6 @@
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
"integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
- "dev": true,
"peer": true,
"requires": {
"prelude-ls": "^1.2.1"
@@ -18621,7 +18611,6 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
"integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
- "dev": true,
"peer": true
},
"validate-npm-package-license": {
@@ -18950,7 +18939,6 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
"peer": true
},
"wrap-ansi": {
diff --git a/packages/nc-gui-v2/package.json b/packages/nc-gui-v2/package.json
index 156db5626d..b285380344 100644
--- a/packages/nc-gui-v2/package.json
+++ b/packages/nc-gui-v2/package.json
@@ -9,14 +9,17 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.25.2",
- "@intlify/vite-plugin-vue-i18n": "^3.4.0",
+ "@intlify/vite-plugin-vue-i18n": "^4.0.0",
"@vueuse/nuxt": "^8.6.0",
"nuxt": "3.0.0-rc.4",
"sass": "^1.53.0"
},
"dependencies": {
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-plugin-prettier": "^4.0.0",
"nocodb-sdk": "file:../nocodb-sdk",
"nuxt3-store": "^1.0.0",
+ "prettier": "^2.7.1",
"socket.io-client": "^4.5.1",
"vue-i18n": "^9.1.10",
"vue-toastification": "^2.0.0-rc.5",
diff --git a/packages/nc-gui-v2/pages/dashboard/[projectId].vue b/packages/nc-gui-v2/pages/dashboard/[projectId].vue
index 26b92ed5f5..f73ba3c5f6 100644
--- a/packages/nc-gui-v2/pages/dashboard/[projectId].vue
+++ b/packages/nc-gui-v2/pages/dashboard/[projectId].vue
@@ -13,13 +13,16 @@ onMounted(async () => {
await loadTables()
})
-watch(() => route.params.projectId, async (newVal, oldVal) => {
- if (newVal && newVal !== oldVal) {
- clearTabs()
- await loadProject(newVal as string)
- await loadTables()
- }
-})
+watch(
+ () => route.params.projectId,
+ async (newVal, oldVal) => {
+ if (newVal && newVal !== oldVal) {
+ clearTabs()
+ await loadProject(newVal as string)
+ await loadTables()
+ }
+ },
+)
diff --git a/packages/nc-gui-v2/pages/index.vue b/packages/nc-gui-v2/pages/index.vue
index 480710557a..1f2c1a34b3 100644
--- a/packages/nc-gui-v2/pages/index.vue
+++ b/packages/nc-gui-v2/pages/index.vue
@@ -10,6 +10,4 @@ router.replace('/projects')
-
+
diff --git a/packages/nc-gui-v2/pages/projects/create-external.vue b/packages/nc-gui-v2/pages/projects/create-external.vue
index 53e7209d32..6003cfce8f 100644
--- a/packages/nc-gui-v2/pages/projects/create-external.vue
+++ b/packages/nc-gui-v2/pages/projects/create-external.vue
@@ -22,10 +22,7 @@ const { user } = useUser()
const toast = useToast()
const { t: $t } = useI18n()
-const titleValidationRule = [
- v => !!v || 'Title is required',
- v => v.length <= 50 || 'Project name exceeds 50 characters',
-]
+const titleValidationRule = [(v) => !!v || 'Title is required', (v) => v.length <= 50 || 'Project name exceeds 50 characters']
const createProject = async () => {
loading.value = true
@@ -44,8 +41,7 @@ const createProject = async () => {
})
await $router.push(`/dashboard/${result.id}`)
- }
- catch (e) {
+ } catch (e) {
// todo: toast
toast.error(await extractSdkResponseErrorMsg(e))
}
@@ -59,8 +55,7 @@ const testConnection = async () => {
if (projectDatasource.value.client === 'sqlite3') {
testSuccess.value = true
- }
- else {
+ } else {
const testConnectionConfig = {
...projectDatasource,
connection: {
@@ -73,14 +68,12 @@ const testConnection = async () => {
if (result.code === 0) {
testSuccess.value = true
- }
- else {
+ } else {
testSuccess.value = false
toast.error($t('msg.error.dbConnectionFailed') + result.message)
}
}
- }
- catch (e) {
+ } catch (e) {
testSuccess.value = false
toast.error(await extractSdkResponseErrorMsg(e))
}
@@ -89,24 +82,19 @@ const testConnection = async () => {
-
+
-
+
-
+
Create Project
-
+
-
+
@@ -124,26 +112,13 @@ const testConnection = async () => {
/>
-
+
-
+
-
+
{
/>
-
+
-
{{ $t("general.create") }}
+
{{ $t('general.create') }}
- {{ $t("activity.testDbConn") }}
+ {{ $t('activity.testDbConn') }}
@@ -207,5 +169,4 @@ const testConnection = async () => {
-
+
diff --git a/packages/nc-gui-v2/pages/projects/create.vue b/packages/nc-gui-v2/pages/projects/create.vue
index 69974f8d88..1538f7fd81 100644
--- a/packages/nc-gui-v2/pages/projects/create.vue
+++ b/packages/nc-gui-v2/pages/projects/create.vue
@@ -10,21 +10,17 @@ const { $api, $toast } = useNuxtApp()
const $router = useRouter()
const { user } = useUser()
-const titleValidationRule = [
- v => !!v || 'Title is required',
- v => v.length <= 50 || 'Project name exceeds 50 characters',
-]
+const titleValidationRule = [(v) => !!v || 'Title is required', (v) => v.length <= 50 || 'Project name exceeds 50 characters']
const createProject = async () => {
loading.value = true
try {
- const result = (await $api.project.create({
+ const result = await $api.project.create({
title: name.value,
- }))
+ })
await $router.push(`/dashboard/${result.id}`)
- }
- catch (e) {
+ } catch (e) {
// todo: toast
$toast.error(await this._extractSdkResponseErrorMsg(e)).goAway(3000)
}
@@ -33,36 +29,24 @@ const createProject = async () => {
-
+
-
+
-
+
Create Project
-
+
-
+
-
-
- mdi-rocket-launch-outline
-
+
+ mdi-rocket-launch-outline
Create project
@@ -76,7 +60,7 @@ const createProject = async () => {
diff --git a/packages/nc-gui-v2/pages/signin.vue b/packages/nc-gui-v2/pages/signin.vue
index 235ae5b67b..0f84db1a5d 100644
--- a/packages/nc-gui-v2/pages/signin.vue
+++ b/packages/nc-gui-v2/pages/signin.vue
@@ -21,8 +21,7 @@ const signIn = async () => {
const { token } = await $api.auth.signin(form)
await setToken(token)
await $router.push('/projects')
- }
- catch (e) {
+ } catch (e) {
error.value = await extractSdkResponseErrorMsg(e)
}
}
@@ -37,20 +36,17 @@ const signIn = async () => {
{{ error }}
-
-
+
+
-
-
+
+
-
+
Sign In
@@ -59,6 +55,4 @@ const signIn = async () => {
-
+
diff --git a/packages/nc-gui-v2/pages/signup.vue b/packages/nc-gui-v2/pages/signup.vue
index 9b05bda90c..767ca936ce 100644
--- a/packages/nc-gui-v2/pages/signup.vue
+++ b/packages/nc-gui-v2/pages/signup.vue
@@ -18,8 +18,7 @@ const signUp = async () => {
const { token } = await $api.auth.signup(form)
await setToken(token)
$router.push('/projects')
- }
- catch (e) {
+ } catch (e) {
error.value = await extractSdkResponseErrorMsg(e)
}
}
@@ -34,20 +33,17 @@ const signUp = async () => {
{{ error }}
-
-
+
+
-
-
+
+
-
+
Sign Up
@@ -56,6 +52,4 @@ const signUp = async () => {
-
+
diff --git a/packages/nc-gui-v2/plugins/api.ts b/packages/nc-gui-v2/plugins/api.ts
index 0d6745c321..17c6285858 100644
--- a/packages/nc-gui-v2/plugins/api.ts
+++ b/packages/nc-gui-v2/plugins/api.ts
@@ -19,27 +19,25 @@ function addAxiosInterceptors(api: Api
) {
api.instance.interceptors.request.use((config) => {
config.headers['xc-gui'] = 'true'
- if (user?.token)
- config.headers['xc-auth'] = user?.token
+ if (user?.token) config.headers['xc-auth'] = user?.token
if (!config.url?.endsWith('/user/me') && !config.url?.endsWith('/admin/roles')) {
// config.headers['xc-preview'] = store.state.users.previewAs
}
if (!config.url?.endsWith('/user/me') && !config.url?.endsWith('/admin/roles')) {
- if (route && route.params && route.params.shared_base_id)
- config.headers['xc-shared-base-id'] = route.params.shared_base_id
+ if (route && route.params && route.params.shared_base_id) config.headers['xc-shared-base-id'] = route.params.shared_base_id
}
return config
})
// Return a successful response back to the calling service
- api.instance.interceptors.response.use(response => response,
+ api.instance.interceptors.response.use(
+ (response) => response,
// Handle Error
(error) => {
- if (error.response && error.response.data && error.response.data.msg === DbNotFoundMsg)
- return router.replace('/project/0')
+ if (error.response && error.response.data && error.response.data.msg === DbNotFoundMsg) return router.replace('/project/0')
// Return any error which is not due to authentication back to the calling service
if (!error.response || error.response.status !== 401) {
@@ -50,7 +48,7 @@ function addAxiosInterceptors(api: Api) {
// Logout user if token refresh didn't work or user is disabled
if (error.config.url === '/auth/refresh-token') {
- // todo: clear token
+ // todo: clear token
setToken(null)
return new Promise((resolve, reject) => {
@@ -59,26 +57,30 @@ function addAxiosInterceptors(api: Api) {
}
// Try request again with new token
- return api.instance.post('/auth/refresh-token', null, {
- withCredentials: true,
- })
+ return api.instance
+ .post('/auth/refresh-token', null, {
+ withCredentials: true,
+ })
.then((token) => {
- // New request with new token
+ // New request with new token
const config = error.config
config.headers['xc-auth'] = token.data.token
user.token = token.data.token
return new Promise((resolve, reject) => {
- api.instance.request(config).then((response) => {
- resolve(response)
- }).catch((error) => {
- reject(error)
- })
+ api.instance
+ .request(config)
+ .then((response) => {
+ resolve(response)
+ })
+ .catch((error) => {
+ reject(error)
+ })
})
})
.catch(async (error) => {
- // todo: clear token
- // await store.dispatch('users/ActSignOut')
+ // todo: clear token
+ // await store.dispatch('users/ActSignOut')
setToken(null)
// todo: handle new user
// if (store.state.project.appInfo.firstUser) {
@@ -93,7 +95,8 @@ function addAxiosInterceptors(api: Api) {
// }
return Promise.reject(error)
})
- })
+ },
+ )
}
export function getApi(store: any, axios: any) {
diff --git a/packages/nc-gui-v2/plugins/i18n.ts b/packages/nc-gui-v2/plugins/i18n.ts
index 5fe42008d0..86726c17f2 100644
--- a/packages/nc-gui-v2/plugins/i18n.ts
+++ b/packages/nc-gui-v2/plugins/i18n.ts
@@ -1,19 +1,20 @@
import { defineNuxtPlugin } from 'nuxt/app'
import { createI18n } from 'vue-i18n'
+import type en from '~/lang/en.json'
+
+// Type-define 'en' as the master schema for the resource
+type MessageSchema = typeof en
+
export default defineNuxtPlugin(async (nuxtApp) => {
- // Set the i18n instance on app
- // This way we can use it globally in our components through this.$i18n
const i18n = createI18n({
- // Set the initial locale
- locale: 'en',
+ locale: 'en', // Set the initial locale
- // Set the fallback locale in case the current locale can't be found
- fallbackLocale: 'en',
+ fallbackLocale: 'en', // Set the fallback locale in case the current locale can't be found
- legacy: false,
+ legacy: false, // disable legacy API (we use the composition API and inject utilities)
- globalInjection: true,
+ globalInjection: true, // enable global injection, so all utilities are injected into all components
// Associate each locale to a content file
messages: {
@@ -45,9 +46,9 @@ export default defineNuxtPlugin(async (nuxtApp) => {
fa: await import('~/lang/fa.json'),
tr: await import('~/lang/tr.json'),
},
- });
+ })
- (nuxtApp.vueApp as any).i18n = i18n
+ ;(nuxtApp.vueApp as any).i18n = i18n
nuxtApp.vueApp.use(i18n)
})
/**
diff --git a/packages/nc-gui-v2/plugins/tele.ts b/packages/nc-gui-v2/plugins/tele.ts
index fd4e33ea17..6b3790372c 100644
--- a/packages/nc-gui-v2/plugins/tele.ts
+++ b/packages/nc-gui-v2/plugins/tele.ts
@@ -12,8 +12,7 @@ export default defineNuxtPlugin(async (nuxtApp) => {
const init = async (token: string) => {
try {
- if (socket)
- socket.disconnect()
+ if (socket) socket.disconnect()
// todo: extract base url
const url = 'http://localhost:8080' // new URL($axios.defaults.baseURL, window.location.href.split(/[?#]/)[0]).href
@@ -24,14 +23,11 @@ export default defineNuxtPlugin(async (nuxtApp) => {
socket.on('connect_error', () => {
socket.disconnect()
})
- }
- catch {
- }
+ } catch {}
}
router.afterEach((to, from) => {
- if (!socket || (to.path === from.path && (to.query && to.query.type) === (from.query && from.query.type)))
- return
+ if (!socket || (to.path === from.path && (to.query && to.query.type) === (from.query && from.query.type))) return
socket.emit('page', {
path: to.matched[0].path + (to.query && to.query.type ? `?type=${to.query.type}` : ''),
@@ -65,38 +61,32 @@ export default defineNuxtPlugin(async (nuxtApp) => {
nuxtApp.vueApp.directive('t', {
created(el, binding, vnode) {
- if (vnode.el)
- vnode.el.addEventListener('click', getListener(binding))
- else
- el.addEventListener('click', getListener(binding))
+ if (vnode.el) vnode.el.addEventListener('click', getListener(binding))
+ else el.addEventListener('click', getListener(binding))
},
})
function getListener(binding: any) {
return function () {
- if (!socket)
- return
+ if (!socket) return
const event = binding.value && binding.value[0]
const data = binding.value && binding.value[1]
const extra = binding.value && binding.value.slice(2)
- tele.emit(event,
- {
- data,
- extra,
- })
+ tele.emit(event, {
+ data,
+ extra,
+ })
}
}
- if (user.token)
- await init(user.token)
+ if (user.token) await init(user.token)
- watch(() => user.token, (newToken, oldToken) => {
- if (newToken !== oldToken)
- init(newToken)
-
- else if (!newToken)
- socket.disconnect()
- })
+ watch(
+ () => user.token,
+ (newToken, oldToken) => {
+ if (newToken !== oldToken) init(newToken)
+ else if (!newToken) socket.disconnect()
+ },
+ )
})
-