@myelophone/nuxt 0.20.0 → 0.21.0

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.
package/.yarnrc.yml CHANGED
@@ -5,4 +5,4 @@ enableScripts: true
5
5
 
6
6
  nodeLinker: node-modules
7
7
 
8
- yarnPath: .yarn/releases/yarn-4.18.0.cjs
8
+ yarnPath: .yarn/releases/yarn-4.18.1.cjs
package/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 📦 Release 0.21.0 (2026-10-08)
2
+ ### ✨ Features
3
+ - update to nuxt v4.6.0
4
+
5
+ ## 📦 Release 0.20.1 (2026-09-23)
6
+ ### 🐛 Bug Fixes
7
+ - update dependencies
8
+
1
9
  ## 📦 Release 0.20.0 (2026-09-04)
2
10
  ### ✨ Features
3
11
  - add ssr stream
@@ -42,7 +42,7 @@ const props = defineProps({
42
42
  containerClass: { type: String, default: "" },
43
43
  });
44
44
 
45
- const settingsStore = useSettingsStore();
45
+ const settingsStore = useSettingsStore(useNuxtApp().$pinia);
46
46
  const now = ref(new Date());
47
47
  const isMounted = ref(false);
48
48
  let timer = null;
@@ -9,7 +9,7 @@ const props = defineProps({
9
9
  short: { type: Boolean, default: false },
10
10
  });
11
11
 
12
- const settingsStore = useSettingsStore();
12
+ const settingsStore = useSettingsStore(useNuxtApp().$pinia);
13
13
  const currentLocale = computed(
14
14
  () =>
15
15
  props.locale ||
@@ -43,7 +43,7 @@ const rawDomain = props.domain || config.tally?.domain || "tally.so";
43
43
  const baseUrl = `https://${rawDomain}`;
44
44
  const scriptSrc = `${baseUrl}/widgets/embed.js`;
45
45
 
46
- const settingsStore = useSettingsStore();
46
+ const settingsStore = useSettingsStore(useNuxtApp().$pinia);
47
47
  const currentTheme = computed(() => settingsStore.theme || "light");
48
48
 
49
49
  const getPayload = (isFullscreenOverride = false) => {
@@ -5,7 +5,7 @@ import {
5
5
  } from '~/types/cookie';
6
6
 
7
7
  export const useCookieControl = () => {
8
- const store = useSettingsStore();
8
+ const store = useSettingsStore(useNuxtApp().$pinia);
9
9
  const { cookiePreferences, isCookieBannerVisible } = storeToRefs(store);
10
10
 
11
11
  const config = useMyelophoneConfig();
@@ -1,5 +1,3 @@
1
- import { version } from 'nuxt/package.json';
2
-
3
1
  export function useNuxtVersion() {
4
- return version || 'v4.x';
2
+ return useRuntimeConfig().public.nuxtVersion;
5
3
  }
@@ -8,7 +8,7 @@ import {
8
8
  defineNuxtModule,
9
9
  } from '@nuxt/kit';
10
10
 
11
- import { getBlogPostUrls } from '../default-blog/posts';
11
+ import { getBlogPostUrls } from '../default-blog/posts.ts';
12
12
 
13
13
  export default defineNuxtModule({
14
14
  meta: {
@@ -8,7 +8,7 @@ export default defineNuxtModule({
8
8
  nuxt.hook('nitro:build:public-assets', () => {
9
9
  if (!process.env.NUXT_STATIC) return;
10
10
 
11
- const src = join(__dirname, '.htaccess');
11
+ const src = join(import.meta.dirname, '.htaccess');
12
12
  if (!existsSync(src)) return;
13
13
 
14
14
  const destDir = join(nuxt.options.rootDir, '.output/public');
@@ -1,4 +1,4 @@
1
1
  export default defineNuxtPlugin(() => {
2
- const version = import.meta.env.PACKAGE_VERSION || '4.x';
2
+ const version = useNuxtVersion();
3
3
  return { provide: { nuxtVersion: version } };
4
4
  });
package/biome.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://biomejs.dev/schemas/2.5.12/schema.json",
2
+ "$schema": "https://biomejs.dev/schemas/2.5.15/schema.json",
3
3
  "assist": {
4
4
  "actions": {
5
5
  "source": {
package/nuxt.config.ts CHANGED
@@ -1,26 +1,26 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
- import multi18n from './app/modules/multi18n/module';
5
- import myelophoneConfig from './app/modules/myelophone-config/module';
4
+ import multi18n from './app/modules/multi18n/module.ts';
5
+ import myelophoneConfig from './app/modules/myelophone-config/module.ts';
6
6
  import i18nTreeShaker from './app/modules/i18n-shaker.mjs';
7
- import nuxtHtaccess from './app/modules/htaccess';
8
- import fullscreenPreloader from './app/modules/fullscreen-preloader/module';
9
- import defaultBlog from './app/modules/default-blog';
10
- import defaultSitemap from './app/modules/default-sitemap';
7
+ import nuxtHtaccess from './app/modules/htaccess/index.ts';
8
+ import fullscreenPreloader from './app/modules/fullscreen-preloader/module.ts';
9
+ import defaultBlog from './app/modules/default-blog/index.ts';
10
+ import defaultSitemap from './app/modules/default-sitemap/index.ts';
11
11
 
12
- import { cleanEmptyCssPlugin } from './vite/plugins/clean-css';
12
+ import { cleanEmptyCssPlugin } from './vite/plugins/clean-css.ts';
13
13
  import {
14
14
  blogContentPlugin,
15
15
  defaultBlogContentDirectories,
16
- } from './vite/plugins/blog-content';
17
- import postcssViewportFallback from './vite/plugins/postcss-viewport-fallback';
16
+ } from './vite/plugins/blog-content.ts';
17
+ import postcssViewportFallback from './vite/plugins/postcss-viewport-fallback.ts';
18
18
  import noImportant from 'postcss-no-important';
19
- import postcssAddViewportUnits from './vite/plugins/postcss-add-viewportunits';
19
+ import postcssAddViewportUnits from './vite/plugins/postcss-add-viewportunits.ts';
20
20
 
21
21
  import tailwindcss from '@tailwindcss/vite';
22
22
 
23
- import { createResolver, useNuxt, extendViteConfig } from '@nuxt/kit';
23
+ import { createResolver, useNuxt, extendViteConfig, getNuxtVersion } from '@nuxt/kit';
24
24
 
25
25
  const pkg = JSON.parse(
26
26
  readFileSync(new URL('./package.json', import.meta.url), 'utf8'),
@@ -28,7 +28,7 @@ const pkg = JSON.parse(
28
28
 
29
29
  const version = pkg.version;
30
30
 
31
- const dateActuality = '2026-09-05';
31
+ const dateActuality = '2026-10-10';
32
32
  const banner = `/* © 2025 Aliaksandr Ivanou (https://aleksivanov.me/). All rights reserved. @MyelophOne/Nuxt v${version}. This app bundle licenses: /_nuxt/licenses.md */\n`;
33
33
  const defaultSeo = {
34
34
  title: 'Our Nuxt WebSite | by MyelophOne/Nuxt',
@@ -148,7 +148,15 @@ export default defineNuxtConfig({
148
148
  preset: isSSG ? 'static' : process.env.NITRO_PRESET || 'node-cluster',
149
149
  compressPublicAssets: true,
150
150
  externals: {
151
- inline: ['h3', '@vue/shared'],
151
+ inline: [
152
+ 'h3',
153
+ '@vue/shared',
154
+ // Keep Nuxt and Colada on the same Pinia injection symbols.
155
+ 'pinia',
156
+ // The renderer needs Nitro's import.meta and virtual module transforms.
157
+ 'nuxt/internal',
158
+ /[\\/]nuxt[\\/]dist[\\/]runtime[\\/]server[\\/]/,
159
+ ],
152
160
  },
153
161
  experimental: {
154
162
  tasks: true,
@@ -191,6 +199,26 @@ export default defineNuxtConfig({
191
199
  devSourcemap: true,
192
200
  },
193
201
  plugins: [
202
+ {
203
+ name: 'server-output-comments',
204
+ apply: 'build',
205
+ configEnvironment(name) {
206
+ if (name !== 'ssr') return;
207
+ return {
208
+ build: {
209
+ rolldownOptions: {
210
+ output: {
211
+ comments: {
212
+ legal: true,
213
+ jsdoc: true,
214
+ annotation: false,
215
+ },
216
+ },
217
+ },
218
+ },
219
+ };
220
+ },
221
+ },
194
222
  tailwindcss(),
195
223
  blogContentPlugin(
196
224
  defaultBlogContentDirectories(
@@ -491,6 +519,7 @@ export default defineNuxtConfig({
491
519
  },
492
520
  'modules:done'() {
493
521
  const nuxt = useNuxt();
522
+ nuxt.options.runtimeConfig.public.nuxtVersion = getNuxtVersion(nuxt);
494
523
  const bundleTranslations =
495
524
  nuxt.options.myelophone?.bundleTranslations ?? true;
496
525
 
@@ -505,6 +534,7 @@ export default defineNuxtConfig({
505
534
  output.codeSplitting = {
506
535
  groups: [
507
536
  {
537
+ debugName: 'myelophone-shared-chunks',
508
538
  name(id: string): string | null {
509
539
  if (id.includes('vue-sonner')) {
510
540
  return 'sonner';
@@ -565,6 +595,7 @@ export default defineNuxtConfig({
565
595
  runtimeConfig: {
566
596
  public: {
567
597
  version,
598
+ nuxtVersion: '',
568
599
  },
569
600
  },
570
601
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myelophone/nuxt",
3
- "version": "0.20.0",
3
+ "version": "0.21.0",
4
4
  "type": "module",
5
5
  "author": "Aliaksandr Ivanou <aleksivanov.me@gmail.com> (https://github.com/aleksivanou)",
6
6
  "maintainers": [
@@ -36,60 +36,60 @@
36
36
  "lock-update": "yarn dedupe --strategy highest"
37
37
  },
38
38
  "devDependencies": {
39
- "@biomejs/biome": "^2.5.12",
40
- "@commitlint/cli": "^21.2.2",
41
- "@commitlint/config-conventional": "^21.2.2",
39
+ "@biomejs/biome": "^2.5.15",
40
+ "@commitlint/cli": "^21.2.3",
41
+ "@commitlint/config-conventional": "^21.2.3",
42
42
  "@nuxt/fonts": "^0.14.0",
43
43
  "@nuxt/image": "^2.1.0",
44
- "@nuxt/schema": "^4.5.2",
45
- "@nuxt/scripts": "^1.3.8",
44
+ "@nuxt/schema": "^4.6.0",
45
+ "@nuxt/scripts": "^1.3.12",
46
46
  "@nuxt/types": "^2.18.1",
47
47
  "@nuxtjs/fontaine": "^0.5.0",
48
- "@nuxtjs/robots": "^6.2.0",
49
- "@pinia/colada": "^1.4.4",
50
- "@pinia/colada-nuxt": "^1.1.0",
48
+ "@nuxtjs/robots": "^6.2.4",
49
+ "@pinia/colada": "^1.4.7",
50
+ "@pinia/colada-nuxt": "^1.2.0",
51
51
  "@pinia/nuxt": "^1.0.2",
52
- "@playwright/test": "^1.62.1",
52
+ "@playwright/test": "^1.63.0",
53
53
  "@semantic-release/changelog": "^7.0.0",
54
54
  "@semantic-release/commit-analyzer": "^13.0.1",
55
55
  "@semantic-release/git": "^11.0.1",
56
- "@semantic-release/github": "^12.0.9",
57
- "@semantic-release/npm": "^13.1.5",
56
+ "@semantic-release/github": "^12.0.10",
57
+ "@semantic-release/npm": "^13.2.0",
58
58
  "@semantic-release/release-notes-generator": "^14.1.1",
59
59
  "@tailwindcss/vite": "^4.3.3",
60
- "@types/node": "^26.4.1",
61
- "@unhead/vue": "^3.4.0",
60
+ "@types/node": "^26.6.4",
61
+ "@unhead/vue": "^3.4.2",
62
62
  "@vue/devtools-api": "^8.2.1",
63
- "@vueuse/core": "^14.4.0",
64
- "commitlint": "^21.2.2",
65
- "conventional-changelog-conventionalcommits": "^10.4.0",
66
- "markdown-it": "^15.0.1",
67
- "nuxt": "^4.5.2",
68
- "nuxt-api-party": "^4.0.0",
63
+ "@vueuse/core": "^15.0.0",
64
+ "commitlint": "^21.2.3",
65
+ "conventional-changelog-conventionalcommits": "^10.4.1",
66
+ "markdown-it": "^15.0.2",
67
+ "nuxt": "^4.6.0",
68
+ "nuxt-api-party": "^4.0.1",
69
69
  "nuxt-link-checker": "^5.3.0",
70
- "nuxt-og-image": "^6.7.8",
70
+ "nuxt-og-image": "^6.10.3",
71
71
  "nuxt-payload-analyzer": "^0.1.4",
72
72
  "nuxt-security": "^2.6.0",
73
- "nuxt-seo-utils": "^8.5.0",
73
+ "nuxt-seo-utils": "^8.6.1",
74
74
  "nuxt-vitalizer": "^3.0.0",
75
75
  "pinia": "^4.0.3",
76
- "postcss": "^8.5.27",
76
+ "postcss": "^8.5.29",
77
77
  "postcss-no-important": "^11.0.0",
78
78
  "purgecss": "^8.0.0",
79
- "rolldown": "^1.2.7",
79
+ "rolldown": "^1.2.13",
80
80
  "semantic-release": "^25.0.9",
81
81
  "tailwindcss": "^4.3.3",
82
82
  "typescript": "^7.0.2",
83
83
  "unstorage": "^1.17.5",
84
- "valibot": "^1.4.2",
85
- "vite": "^8.2.2",
86
- "vue": "^3.5.42",
84
+ "valibot": "^1.5.0",
85
+ "vite": "^8.3.3",
86
+ "vue": "^3.5.43",
87
87
  "vue-easy-lightbox": "^1.19.0",
88
88
  "vue-sonner": "^2.0.9",
89
- "vue-tsc": "^3.3.11",
90
- "yaml": "^2.9.0"
89
+ "vue-tsc": "^3.3.12",
90
+ "yaml": "^2.9.1"
91
91
  },
92
- "packageManager": "yarn@4.18.0",
92
+ "packageManager": "yarn@4.18.1",
93
93
  "repository": {
94
94
  "type": "git",
95
95
  "url": "git+https://github.com/MyelophOne/nuxt.git"