Compare commits

..
Author SHA1 Message Date
github-actions[bot]GitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
880cb1972d Version Packages (#60)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2023-09-11 20:05:29 +02:00
Sasha Sorokin 979f2bdedd Add more SEO options 2023-09-11 19:59:11 +02:00
Sasha Sorokin 7cb833df1e Switch to bundler module resolution 2023-09-11 19:35:14 +02:00
Sasha SorokinandGitHub 682133f893 Add Bing verification file (#53) 2023-08-21 05:00:27 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
9bff4db4c1 Update typescript-eslint monorepo to v6 (#52)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 03:47:58 +02:00
12 changed files with 430 additions and 109 deletions
@@ -154,8 +154,10 @@ Represents options for the automatic head tags.
By default VIntl will add `<link>` tags for every language to make search engines aware of other languages, you can disable this by setting `enabled` to `false`.
| Property | Default | Description |
| :----------------------- | :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | `true` | A boolean value representing whether VIntl should automatically add `<link>` tags to `<head>` of the site. These tags make search engines aware that your site is provided in different languages. |
| `hostLanguageParameter`: | `hl` | A string value representing the query parameter that VIntl would use to configure the language of the site. |
| `baseURL` | | **Recommended.** An optional string value representing the base URL of the site. If not set, VIntl will try to guess the URL based on inital request URL or the current `window.location`. |
| Property | Default | Description |
| :-------------------------- | :-----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `enabled` | `true` | A boolean value representing whether VIntl should automatically add `<link>` tags to `<head>` of the site. These tags make search engines aware that your site is provided in different languages. |
| `hostLanguageParameter`: | `hl` | A string value representing the query parameter that VIntl would use to configure the language of the site. |
| `baseURL` | | **Recommended.** An optional string value representing the base URL of the site. If not set, VIntl will try to guess the URL based on inital request URL or the current `window.location`. |
| `defaultLocaleHasParameter` | `true` | A boolean value representing whether the default locale should have a host language parameter. Disabling this may make URLs of visitors cleaner, however it is not correct, because lack of host language instructs VIntl to use user's language (either the one they've used before or browser's one). |
| `xDefaultHreflang` | `true` | A boolean value representing whether the `x-default` hreflang is present. |
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0"?>
<users>
<user>9491DAF6E17F64A987F923EC70F0BAEE</user>
</users>
+9
View File
@@ -16,6 +16,11 @@ export default defineNuxtConfig({
format: 'crowdin',
},
],
meta: {
static: {
iso: 'en',
},
},
},
{
tag: 'uk',
@@ -30,5 +35,9 @@ export default defineNuxtConfig({
storage: 'cookie',
broadcastLocaleChange: true,
parserless: 'always',
seo: {
xDefaultHreflang: false,
defaultLocaleHasParameter: false,
},
},
})
+2 -2
View File
@@ -27,8 +27,8 @@
],
"dependencies": {
"@rushstack/eslint-patch": "^1.3.0",
"@typescript-eslint/eslint-plugin": "^5.59.9",
"@typescript-eslint/parser": "^5.59.9",
"@typescript-eslint/eslint-plugin": "^6.3.0",
"@typescript-eslint/parser": "^6.3.0",
"eslint-plugin-vue": "^9.14.1",
"typescript": "^5.1.3"
},
+14
View File
@@ -1,5 +1,19 @@
# @vintl/nuxt
## 1.5.0
### Minor Changes
- 979f2bd: Add more SEO options
Two options have been added to the SEO configuration:
- `defaultLocaleHasParameter` allows to disable the host language parameter for the default locale.
This is not recommended and not correct, because lack of the host language parameter instructs VIntl to use user's language (either the one they've used before or browser's one). However, it may be useful in some cases.
- `xDefaultHreflang` allows to disable the `x-default` hreflang in case it's not useful to have (e.g. you disable the automatic language detection), although this is quite rare.
## 1.4.0
### Minor Changes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@vintl/nuxt",
"version": "1.4.0",
"version": "1.5.0",
"description": "Nuxt Module for VIntl integration",
"keywords": [
"i18n",
+17 -13
View File
@@ -1,9 +1,10 @@
import { useHead } from '#imports'
import type { SEOOptions } from '@vintl/nuxt-runtime/options'
import type { IntlController } from '@vintl/vintl/controller'
import { computed } from 'vue'
import type { LocationQuery, useRouter as _useRouter$type } from 'vue-router'
import { useRouter as _useRouter, useRequestURL } from 'nuxt/app'
import { joinURL } from 'ufo'
import { computed } from 'vue'
import type { LocationQuery, useRouter as _useRouter$type } from 'vue-router'
const useRouter = _useRouter as typeof _useRouter$type
@@ -35,10 +36,7 @@ type LangHrefLink = {
href: string
}
interface HeadOptions {
hostLanguageParameter: string
baseURL?: string
}
type HeadOptions = Omit<SEOOptions, 'enabled'>
export function initHead(
controller: IntlController<any>,
@@ -72,27 +70,33 @@ export function initHead(
const query = String(getSeachParams(route.query))
const { path } = route
let defaultEntry: LangHrefLink
const hrefLangs: Map<string, LangHrefLink> = new Map()
{
if (options.xDefaultHreflang) {
const sp = new URLSearchParams(query)
sp.delete(options.hostLanguageParameter)
defaultEntry = {
hrefLangs.set('x-default', {
// key: `hreflang-default`,
rel: 'alternate',
hreflang: 'x-default',
href: normalizeURL(withQueryParams(path, sp.toString())),
}
})
}
const hrefLangs: Map<string, LangHrefLink> = new Map()
for (const locale of controller.availableLocales) {
const hrefLang = locale.meta?.static?.iso ?? locale.tag
if (hrefLangs.has(hrefLang)) continue
const sp = new URLSearchParams(query)
sp.set(options.hostLanguageParameter, locale.tag)
if (
controller.defaultLocale === locale.tag &&
!options.defaultLocaleHasParameter
) {
sp.delete(options.hostLanguageParameter)
} else {
sp.set(options.hostLanguageParameter, locale.tag)
}
hrefLangs.set(hrefLang, {
// key: `hreflang-${locale.tag}`,
@@ -102,7 +106,7 @@ export function initHead(
})
}
return [defaultEntry, ...hrefLangs.values()]
return Array.from(hrefLangs.values())
},
})
}
+13
View File
@@ -29,4 +29,17 @@ export const seoOptions = t.object({
'Base URL at which the site will be available. This is required to generate absolute hreflang links. ',
)
.optional(),
/**
* Whether to use the host language parameter for the default locale.
*
* This options helps keep URLs for your default language clean, however it is
* not correct, and is not recommended, because lack of the host language
* parameter tells VIntl to use the user locale (whether it's the one they've
* choosen before or their browser's one).
*/
defaultLocaleHasParameter: t.boolean().default(true),
/** Whether to enable `x-default` hreflang. */
xDefaultHreflang: t.boolean().default(true),
})
+4 -2
View File
@@ -1,8 +1,10 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"module": "ESNext",
"moduleResolution": "nodenext",
"module": "esnext",
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"types": ["./types/nuxt"],
+1 -1
View File
@@ -3,7 +3,7 @@
"compilerOptions": {
"composite": true,
"module": "ESNext",
"module": "nodenext",
"moduleResolution": "nodenext",
"types": ["./types/nuxt"],
+9 -3
View File
@@ -82,11 +82,17 @@ declare module '@vintl/nuxt-runtime/options' {
hostLanguageParameter: string
/**
* Base URL at which the site will be available. This is required to generate
* absolute hreflang links. Without this, VIntl must try to guess the URL
* based on the server request URL / current `window.location`.
* Base URL at which the site will be available. This is required to
* generate absolute hreflang links. Without this, VIntl must try to guess
* the URL based on the server request URL / current `window.location`.
*/
baseURL?: string
/** Whether to use the host language parameter for the default locale. */
defaultLocaleHasParameter: boolean
/** Whether to enable `x-default` hreflang. */
xDefaultHreflang: boolean
}
/** SEO options. */
+349 -82
View File
@@ -69,7 +69,7 @@ importers:
version: 3.5.3
nuxt:
specifier: ^3.5.3
version: 3.5.3(@types/node@18.16.16)(eslint@8.42.0)(rollup@3.23.0)(typescript@4.9.5)
version: 3.5.3(@types/node@18.16.16)(eslint@8.42.0)
packages/eslint-config:
dependencies:
@@ -77,11 +77,11 @@ importers:
specifier: ^1.3.0
version: 1.3.0
'@typescript-eslint/eslint-plugin':
specifier: ^5.59.9
version: 5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@5.1.3)
specifier: ^6.3.0
version: 6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/parser':
specifier: ^5.59.9
version: 5.59.9(eslint@8.42.0)(typescript@5.1.3)
specifier: ^6.3.0
version: 6.3.0(eslint@8.42.0)(typescript@5.1.3)
eslint-plugin-vue:
specifier: ^9.14.1
version: 9.14.1(eslint@8.42.0)
@@ -1187,7 +1187,7 @@ packages:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
semver: 7.5.1
semver: 7.5.4
tar: 6.1.15
transitivePeerDependencies:
- encoding
@@ -1405,7 +1405,7 @@ packages:
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
semver: 7.5.1
semver: 7.5.4
unctx: 2.3.1
unimport: 3.0.7(rollup@3.23.0)
untyped: 1.3.2
@@ -1419,6 +1419,68 @@ packages:
- webpack-cli
dev: true
/@nuxt/kit@3.5.3:
resolution: {integrity: sha512-QzoOGqa1zjKQfg7Y50TrrFAL9DhtIpYYs10gihcM1ISPrn9ROht+VEjqsaMvT+L8JuQbNf8wDYl8qzsdWGU29Q==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
'@nuxt/schema': 3.5.3(rollup@3.23.0)
c12: 1.4.1
consola: 3.1.0
defu: 6.1.2
globby: 13.1.4
hash-sum: 2.0.0
ignore: 5.2.4
jiti: 1.18.2
knitwork: 1.0.0
mlly: 1.3.0
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
semver: 7.5.4
unctx: 2.3.1
unimport: 3.0.7(rollup@3.23.0)
untyped: 1.3.2
webpack: 5.83.1
transitivePeerDependencies:
- '@swc/core'
- esbuild
- rollup
- supports-color
- uglify-js
- webpack-cli
dev: true
/@nuxt/kit@3.5.3(esbuild@0.17.19):
resolution: {integrity: sha512-QzoOGqa1zjKQfg7Y50TrrFAL9DhtIpYYs10gihcM1ISPrn9ROht+VEjqsaMvT+L8JuQbNf8wDYl8qzsdWGU29Q==}
engines: {node: ^14.18.0 || >=16.10.0}
dependencies:
'@nuxt/schema': 3.5.3(rollup@3.23.0)
c12: 1.4.1
consola: 3.1.0
defu: 6.1.2
globby: 13.1.4
hash-sum: 2.0.0
ignore: 5.2.4
jiti: 1.18.2
knitwork: 1.0.0
mlly: 1.3.0
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
semver: 7.5.4
unctx: 2.3.1
unimport: 3.0.7(rollup@3.23.0)
untyped: 1.3.2
webpack: 5.83.1(esbuild@0.17.19)
transitivePeerDependencies:
- '@swc/core'
- esbuild
- rollup
- supports-color
- uglify-js
- webpack-cli
dev: true
/@nuxt/kit@3.5.3(esbuild@0.17.19)(rollup@3.23.0):
resolution: {integrity: sha512-QzoOGqa1zjKQfg7Y50TrrFAL9DhtIpYYs10gihcM1ISPrn9ROht+VEjqsaMvT+L8JuQbNf8wDYl8qzsdWGU29Q==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -1436,7 +1498,7 @@ packages:
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
semver: 7.5.1
semver: 7.5.4
unctx: 2.3.1
unimport: 3.0.7(rollup@3.23.0)
untyped: 1.3.2
@@ -1538,6 +1600,39 @@ packages:
- rollup
- supports-color
/@nuxt/telemetry@2.2.0:
resolution: {integrity: sha512-Z2UmPkBy5WjxvHKuUcl1X6vKWnIyWSP+9UGde1F+MzzZxYgAQybFud1uL2B3KCowxZdoqT1hd2WklV7EtyCwrQ==}
hasBin: true
dependencies:
'@nuxt/kit': 3.5.3
chalk: 5.2.0
ci-info: 3.8.0
consola: 3.1.0
create-require: 1.1.1
defu: 6.1.2
destr: 1.2.2
dotenv: 16.0.3
fs-extra: 10.1.0
git-url-parse: 13.1.0
inquirer: 9.2.6
is-docker: 3.0.0
jiti: 1.18.2
mri: 1.2.0
nanoid: 4.0.2
node-fetch: 3.3.1
ofetch: 1.0.1
parse-git-config: 3.0.0
rc9: 2.1.0
std-env: 3.3.3
transitivePeerDependencies:
- '@swc/core'
- esbuild
- rollup
- supports-color
- uglify-js
- webpack-cli
dev: true
/@nuxt/telemetry@2.2.0(rollup@3.23.0):
resolution: {integrity: sha512-Z2UmPkBy5WjxvHKuUcl1X6vKWnIyWSP+9UGde1F+MzzZxYgAQybFud1uL2B3KCowxZdoqT1hd2WklV7EtyCwrQ==}
hasBin: true
@@ -1639,6 +1734,70 @@ packages:
- webpack-cli
dev: true
/@nuxt/vite-builder@3.5.3(@types/node@18.16.16)(eslint@8.42.0)(vue@3.3.4):
resolution: {integrity: sha512-7zEKpGh3iWGRDwbWUa8eRxdLMxZtPzetelmdmXPjtYKGwUebZOcBhpeJ+VgJKOIf4OEj9E7BZS+it/Ji9UG9qw==}
engines: {node: ^14.18.0 || >=16.10.0}
peerDependencies:
vue: ^3.3.4
dependencies:
'@nuxt/kit': 3.5.3(esbuild@0.17.19)
'@rollup/plugin-replace': 5.0.2(rollup@3.23.0)
'@vitejs/plugin-vue': 4.2.3(vite@4.3.9)(vue@3.3.4)
'@vitejs/plugin-vue-jsx': 3.0.1(vite@4.3.9)(vue@3.3.4)
autoprefixer: 10.4.14(postcss@8.4.24)
clear: 0.1.0
consola: 3.1.0
cssnano: 6.0.1(postcss@8.4.24)
defu: 6.1.2
esbuild: 0.17.19
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
externality: 1.0.0
fs-extra: 11.1.1
get-port-please: 3.0.1
h3: 1.6.6
knitwork: 1.0.0
magic-string: 0.30.0
mlly: 1.3.0
ohash: 1.1.2
pathe: 1.1.1
perfect-debounce: 1.0.0
pkg-types: 1.0.3
postcss: 8.4.24
postcss-import: 15.1.0(postcss@8.4.24)
postcss-url: 10.1.3(postcss@8.4.24)
rollup-plugin-visualizer: 5.9.0(rollup@3.23.0)
std-env: 3.3.3
strip-literal: 1.0.1
ufo: 1.1.2
unplugin: 1.3.1
vite: 4.3.9(@types/node@18.16.16)
vite-node: 0.31.4(@types/node@18.16.16)
vite-plugin-checker: 0.6.0(eslint@8.42.0)(typescript@4.9.5)(vite@4.3.9)
vue: 3.3.4
vue-bundle-renderer: 1.0.3
transitivePeerDependencies:
- '@swc/core'
- '@types/node'
- eslint
- less
- meow
- optionator
- rollup
- sass
- stylelint
- stylus
- sugarss
- supports-color
- terser
- typescript
- uglify-js
- vls
- vti
- vue-tsc
- webpack-cli
dev: true
/@nuxthq/studio@0.13.2(rollup@3.23.0):
resolution: {integrity: sha512-lSjMDSq0yxX3I3O8EVJWoU+kA9iEwUuTS1sZfyha625FhiU2qDIGGkc7gEeA1ubBNeZmJMXTl2hIauxOVTSfgQ==}
dependencies:
@@ -1894,6 +2053,9 @@ packages:
/@types/json-schema@7.0.11:
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
/@types/json-schema@7.0.12:
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
/@types/json-stable-stringify@1.0.34:
resolution: {integrity: sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw==}
dev: false
@@ -1975,36 +2137,38 @@ packages:
grapheme-splitter: 1.0.4
ignore: 5.2.4
natural-compare-lite: 1.4.0
semver: 7.5.1
semver: 7.5.4
tsutils: 3.21.0(typescript@4.9.5)
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/eslint-plugin@5.59.9(@typescript-eslint/parser@5.59.9)(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/eslint-plugin@6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@eslint-community/regexpp': 4.5.1
'@typescript-eslint/parser': 5.59.9(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/scope-manager': 5.59.9
'@typescript-eslint/type-utils': 5.59.9(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/parser': 6.3.0(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/scope-manager': 6.3.0
'@typescript-eslint/type-utils': 6.3.0(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/utils': 6.3.0(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/visitor-keys': 6.3.0
debug: 4.3.4
eslint: 8.42.0
grapheme-splitter: 1.0.4
graphemer: 1.4.0
ignore: 5.2.4
natural-compare: 1.4.0
natural-compare-lite: 1.4.0
semver: 7.5.1
tsutils: 3.21.0(typescript@5.1.3)
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
- supports-color
@@ -2030,19 +2194,20 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser@5.59.9(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/parser@6.3.0(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.59.9
'@typescript-eslint/types': 5.59.9
'@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.3)
'@typescript-eslint/scope-manager': 6.3.0
'@typescript-eslint/types': 6.3.0
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.3)
'@typescript-eslint/visitor-keys': 6.3.0
debug: 4.3.4
eslint: 8.42.0
typescript: 5.1.3
@@ -2058,12 +2223,12 @@ packages:
'@typescript-eslint/visitor-keys': 5.59.0
dev: true
/@typescript-eslint/scope-manager@5.59.9:
resolution: {integrity: sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/scope-manager@6.3.0:
resolution: {integrity: sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 5.59.9
'@typescript-eslint/visitor-keys': 5.59.9
'@typescript-eslint/types': 6.3.0
'@typescript-eslint/visitor-keys': 6.3.0
dev: false
/@typescript-eslint/type-utils@5.59.0(eslint@8.42.0)(typescript@4.9.5):
@@ -2086,21 +2251,21 @@ packages:
- supports-color
dev: true
/@typescript-eslint/type-utils@5.59.9(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/type-utils@6.3.0(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: '*'
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.3)
'@typescript-eslint/utils': 5.59.9(eslint@8.42.0)(typescript@5.1.3)
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.3)
'@typescript-eslint/utils': 6.3.0(eslint@8.42.0)(typescript@5.1.3)
debug: 4.3.4
eslint: 8.42.0
tsutils: 3.21.0(typescript@5.1.3)
ts-api-utils: 1.0.1(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
- supports-color
@@ -2111,9 +2276,9 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/types@5.59.9:
resolution: {integrity: sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/types@6.3.0:
resolution: {integrity: sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==}
engines: {node: ^16.0.0 || >=18.0.0}
dev: false
/@typescript-eslint/typescript-estree@5.59.0(typescript@4.9.5):
@@ -2130,29 +2295,29 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.1
semver: 7.5.4
tsutils: 3.21.0(typescript@4.9.5)
typescript: 4.9.5
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/typescript-estree@5.59.9(typescript@5.1.3):
resolution: {integrity: sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/typescript-estree@6.3.0(typescript@5.1.3):
resolution: {integrity: sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.59.9
'@typescript-eslint/visitor-keys': 5.59.9
'@typescript-eslint/types': 6.3.0
'@typescript-eslint/visitor-keys': 6.3.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.5.1
tsutils: 3.21.0(typescript@5.1.3)
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
- supports-color
@@ -2165,34 +2330,33 @@ packages:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0)
'@types/json-schema': 7.0.11
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.59.0
'@typescript-eslint/types': 5.59.0
'@typescript-eslint/typescript-estree': 5.59.0(typescript@4.9.5)
eslint: 8.42.0
eslint-scope: 5.1.1
semver: 7.5.1
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@typescript-eslint/utils@5.59.9(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/utils@6.3.0(eslint@8.42.0)(typescript@5.1.3):
resolution: {integrity: sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
eslint: ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0)
'@types/json-schema': 7.0.11
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.59.9
'@typescript-eslint/types': 5.59.9
'@typescript-eslint/typescript-estree': 5.59.9(typescript@5.1.3)
'@typescript-eslint/scope-manager': 6.3.0
'@typescript-eslint/types': 6.3.0
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.3)
eslint: 8.42.0
eslint-scope: 5.1.1
semver: 7.5.1
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
@@ -2206,11 +2370,11 @@ packages:
eslint-visitor-keys: 3.4.1
dev: true
/@typescript-eslint/visitor-keys@5.59.9:
resolution: {integrity: sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
/@typescript-eslint/visitor-keys@6.3.0:
resolution: {integrity: sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==}
engines: {node: ^16.0.0 || >=18.0.0}
dependencies:
'@typescript-eslint/types': 5.59.9
'@typescript-eslint/types': 6.3.0
eslint-visitor-keys: 3.4.1
dev: false
@@ -3925,7 +4089,7 @@ packages:
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.13
semver: 7.5.1
semver: 7.5.4
vue-eslint-parser: 9.3.0(eslint@8.42.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
@@ -4518,6 +4682,7 @@ packages:
/grapheme-splitter@1.0.4:
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
dev: true
/graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
@@ -6161,7 +6326,7 @@ packages:
rollup: 3.23.0
rollup-plugin-visualizer: 5.9.0(rollup@3.23.0)
scule: 1.0.0
semver: 7.5.1
semver: 7.5.4
serve-placeholder: 2.0.1
serve-static: 1.15.0
source-map-support: 0.5.21
@@ -6351,6 +6516,101 @@ packages:
- webpack-cli
dev: true
/nuxt@3.5.3(@types/node@18.16.16)(eslint@8.42.0):
resolution: {integrity: sha512-fG39BZ5N5ATtmx2vuxN8APQPSlSsCDpfkJ0k581gMc7eFztqrBzPncZX5w3RQLW7AiGBE2yYEfqiwC6AVODBBg==}
engines: {node: ^14.18.0 || >=16.10.0}
hasBin: true
peerDependencies:
'@parcel/watcher': ^2.1.0
'@types/node': ^14.18.0 || >=16.10.0
peerDependenciesMeta:
'@parcel/watcher':
optional: true
dependencies:
'@nuxt/devalue': 2.0.2
'@nuxt/kit': 3.5.3
'@nuxt/schema': 3.5.3(rollup@3.23.0)
'@nuxt/telemetry': 2.2.0
'@nuxt/ui-templates': 1.1.1
'@nuxt/vite-builder': 3.5.3(@types/node@18.16.16)(eslint@8.42.0)(vue@3.3.4)
'@types/node': 18.16.16
'@unhead/ssr': 1.1.27
'@unhead/vue': 1.1.27(vue@3.3.4)
'@vue/shared': 3.3.4
c12: 1.4.1
chokidar: 3.5.3
cookie-es: 1.0.0
defu: 6.1.2
destr: 1.2.2
devalue: 4.3.2
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
fs-extra: 11.1.1
globby: 13.1.4
h3: 1.6.6
hookable: 5.5.3
jiti: 1.18.2
klona: 2.0.6
knitwork: 1.0.0
local-pkg: 0.4.3
magic-string: 0.30.0
mlly: 1.3.0
nitropack: 2.4.1
nuxi: 3.5.3
nypm: 0.2.0
ofetch: 1.0.1
ohash: 1.1.2
pathe: 1.1.1
perfect-debounce: 1.0.0
prompts: 2.4.2
scule: 1.0.0
strip-literal: 1.0.1
ufo: 1.1.2
ultrahtml: 1.2.0
uncrypto: 0.1.2
unctx: 2.3.1
unenv: 1.5.1
unimport: 3.0.7(rollup@3.23.0)
unplugin: 1.3.1
unplugin-vue-router: 0.6.4(rollup@3.23.0)(vue-router@4.2.4)(vue@3.3.4)
untyped: 1.3.2
vue: 3.3.4
vue-bundle-renderer: 1.0.3
vue-devtools-stub: 0.1.0
vue-router: 4.2.4(vue@3.3.4)
transitivePeerDependencies:
- '@azure/app-configuration'
- '@azure/cosmos'
- '@azure/data-tables'
- '@azure/identity'
- '@azure/keyvault-secrets'
- '@azure/storage-blob'
- '@planetscale/database'
- '@swc/core'
- '@upstash/redis'
- '@vercel/kv'
- debug
- encoding
- esbuild
- eslint
- less
- meow
- optionator
- rollup
- sass
- stylelint
- stylus
- sugarss
- supports-color
- terser
- typescript
- uglify-js
- vls
- vti
- vue-tsc
- webpack-cli
dev: true
/nuxt@3.5.3(@types/node@18.16.16)(eslint@8.42.0)(rollup@3.23.0)(typescript@4.9.5):
resolution: {integrity: sha512-fG39BZ5N5ATtmx2vuxN8APQPSlSsCDpfkJ0k581gMc7eFztqrBzPncZX5w3RQLW7AiGBE2yYEfqiwC6AVODBBg==}
engines: {node: ^14.18.0 || >=16.10.0}
@@ -7642,7 +7902,7 @@ packages:
resolution: {integrity: sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==}
engines: {node: '>= 10.13.0'}
dependencies:
'@types/json-schema': 7.0.11
'@types/json-schema': 7.0.12
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
@@ -7665,6 +7925,13 @@ packages:
dependencies:
lru-cache: 6.0.0
/semver@7.5.4:
resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
engines: {node: '>=10'}
hasBin: true
dependencies:
lru-cache: 6.0.0
/send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
@@ -8244,8 +8511,18 @@ packages:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
dev: true
/ts-api-utils@1.0.1(typescript@5.1.3):
resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==}
engines: {node: '>=16.13.0'}
peerDependencies:
typescript: '>=4.2.0'
dependencies:
typescript: 5.1.3
dev: false
/tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true
/tslib@2.5.2:
resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==}
@@ -8260,16 +8537,6 @@ packages:
typescript: 4.9.5
dev: true
/tsutils@3.21.0(typescript@5.1.3):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'}
peerDependencies:
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
dependencies:
tslib: 1.14.1
typescript: 5.1.3
dev: false
/tty-table@4.2.1:
resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==}
engines: {node: '>=8.0.0'}
@@ -8812,7 +9079,7 @@ packages:
lodash.debounce: 4.0.8
lodash.pick: 4.4.0
npm-run-path: 4.0.1
semver: 7.5.1
semver: 7.5.4
strip-ansi: 6.0.1
tiny-invariant: 1.3.1
typescript: 4.9.5
@@ -8866,7 +9133,7 @@ packages:
engines: {vscode: ^1.52.0}
dependencies:
minimatch: 3.1.2
semver: 7.5.1
semver: 7.5.4
vscode-languageserver-protocol: 3.16.0
dev: true