@dargmuesli/nuxt-vio 23.1.0 → 23.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,11 @@
5
5
  {{ description }}
6
6
  </div>
7
7
  <pre
8
- v-if="stack && !runtimeConfig.public.vio.isInProduction"
8
+ v-if="
9
+ stack &&
10
+ !runtimeConfig.public.vio.isInProduction &&
11
+ !runtimeConfig.public.vio.isTesting
12
+ "
9
13
  class="overflow-auto wrap-break-word whitespace-pre-wrap"
10
14
  >
11
15
  {{ stack }}
package/nuxt.config.ts CHANGED
@@ -21,6 +21,15 @@ import {
21
21
  } from './shared/utils/constants'
22
22
 
23
23
  const { resolve } = createResolver(import.meta.url)
24
+ // mirrors the suffix `mkcert.sh` and the node and static test servers use for the local certificates
25
+ const CERTIFICATE_SUFFIX = process.env.CI ? '-ci' : '-dev'
26
+ // `nuxt dev` serves local HTTPS for direct browser access, as in local development and the
27
+ // e2e test server. A stack deploy also runs `nuxt dev`, but behind traefik, which talks
28
+ // plain HTTP to the backend, so local HTTPS would break it. The stack and the e2e both set
29
+ // `NUXT_PUBLIC_I18N_BASE_URL` (making `IS_IN_STACK` true); only the e2e also sets the
30
+ // testing flag, so that is what separates the two.
31
+ const IS_IN_STACK_DEPLOY =
32
+ IS_IN_STACK && process.env.NUXT_PUBLIC_VIO_IS_TESTING !== 'true'
24
33
  const SHARED_TYPE_REFERENCES = [
25
34
  { path: resolve('shared/types/app-config.d.ts') },
26
35
  { path: resolve('shared/types/request-event-context.d.ts') },
@@ -40,14 +49,14 @@ export default defineNuxtConfig(
40
49
  },
41
50
  },
42
51
  compatibilityDate: '2024-04-03',
43
- ...(IS_IN_STACK
52
+ ...(IS_IN_STACK_DEPLOY
44
53
  ? {}
45
54
  : {
46
55
  devServer: {
47
56
  host: 'app.localhost',
48
57
  https: {
49
- key: './.config/certificates/ssl-dev.key',
50
- cert: './.config/certificates/ssl-dev.crt',
58
+ key: `./.config/certificates/ssl${CERTIFICATE_SUFFIX}.key`,
59
+ cert: `./.config/certificates/ssl${CERTIFICATE_SUFFIX}.crt`,
51
60
  },
52
61
  },
53
62
  }),
@@ -335,6 +344,11 @@ export default defineNuxtConfig(
335
344
  },
336
345
  strict: true,
337
346
  },
347
+ ogImage: {
348
+ // nuxt-og-image falls back to `seo.automaticTwitterTags` for this; keep it explicit,
349
+ // because `automaticTwitterTags` is disabled below to stop the conflicting inferred tag.
350
+ includeTwitter: true,
351
+ },
338
352
  sentry: {
339
353
  release: {
340
354
  name: process.env.RELEASE_NAME || undefined,
@@ -346,6 +360,10 @@ export default defineNuxtConfig(
346
360
  // `org`, `project` and `authToken` are read from the `SENTRY_ORG`, `SENTRY_PROJECT` and `SENTRY_AUTH_TOKEN` environment variables by the module itself.
347
361
  },
348
362
  seo: {
363
+ // nuxt-og-image already renders `twitter:card` (`summary_large_image`) per page; seo-utils'
364
+ // inferred `twitter:card` duplicates it and, with unhead >= 3.4.3, can resolve to `summary`
365
+ // after hydration, conflicting with the og-image tag.
366
+ automaticTwitterTags: false,
349
367
  minify: false, // TODO: enable (https://github.com/harlan-zw/nuxt-seo-utils/issues/103)
350
368
  validateAppHead: false, // `app.head.htmlAttrs.lang` is only a fallback for the routeless SPA pages, as i18n sets the correct language per locale everywhere else.
351
369
  },
package/package.json CHANGED
@@ -5,8 +5,8 @@
5
5
  "@heroicons/vue": "2.2.0",
6
6
  "@http-util/status-i18n": "0.9.1",
7
7
  "@intlify/eslint-plugin-vue-i18n": "4.5.1",
8
- "@lucide/vue": "1.57.0",
9
- "@nuxt/devtools": "3.4.3",
8
+ "@lucide/vue": "1.59.0",
9
+ "@nuxt/devtools": "3.4.4",
10
10
  "@nuxt/eslint": "1.17.0",
11
11
  "@nuxt/image": "2.1.0",
12
12
  "@nuxtjs/color-mode": "4.0.1",
@@ -19,7 +19,7 @@
19
19
  "@tailwindcss/forms": "0.5.11",
20
20
  "@tailwindcss/typography": "0.5.20",
21
21
  "@tailwindcss/vite": "4.3.3",
22
- "@takumi-rs/core": "2.16.2",
22
+ "@takumi-rs/core": "2.16.3",
23
23
  "@types/lodash-es": "4.17.12",
24
24
  "@types/nodemailer": "8.0.2",
25
25
  "@urql/core": "6.0.3",
@@ -29,7 +29,7 @@
29
29
  "@vueuse/core": "15.0.0",
30
30
  "class-variance-authority": "0.7.1",
31
31
  "clsx": "2.1.1",
32
- "eslint": "10.12.0",
32
+ "eslint": "10.13.0",
33
33
  "eslint-config-prettier": "10.1.8",
34
34
  "eslint-plugin-compat": "7.0.2",
35
35
  "eslint-plugin-prettier": "5.5.7",
@@ -37,7 +37,7 @@
37
37
  "globals": "17.13.0",
38
38
  "jiti": "2.7.0",
39
39
  "jose": "6.2.12",
40
- "nodemailer": "10.1.1",
40
+ "nodemailer": "10.1.7",
41
41
  "nuxt-gtag": "5.0.0",
42
42
  "nuxt-security": "2.6.0",
43
43
  "reka-ui": "2.11.0",
@@ -56,7 +56,7 @@
56
56
  "consola": "3.4.2",
57
57
  "defu": "6.1.7",
58
58
  "lodash-es": "4.18.1",
59
- "nuxt": "4.6.1",
59
+ "nuxt": "4.6.2",
60
60
  "nuxtseo-devtools-host": "1.0.2",
61
61
  "pinia": "4.1.0",
62
62
  "postcss-html": "2.0.0",
@@ -104,7 +104,7 @@
104
104
  "url": "git+https://github.com/dargmuesli/vio.git"
105
105
  },
106
106
  "type": "module",
107
- "version": "23.1.0",
107
+ "version": "23.1.2",
108
108
  "scripts": {
109
109
  "build": "pnpm run build:node",
110
110
  "build:node": "NUXT_PUBLIC_I18N_BASE_URL=https://app.localhost:3001 nuxt build playground",