nuxt-ignis 0.1.10 → 0.2.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 (2025-02-17)
4
+ - feat: `@nuxt/fonts` included into built-in dependencies
5
+ - fix: added default content.config.ts to avoid warning on startup
6
+ - build: fixed couple of version issues in lock file
7
+
8
+ ## 0.2.0 (2025-02-09)
9
+ - feat: breaking change update to `@nuxt/content v3` - in case of problems, see [migration guide](https://content.nuxt.com/docs/getting-started/migration)
10
+ - feat: `@nuxt/scripts` included into built-in dependencies
11
+ - build: Vite and Nuxt Kit version fix
12
+
3
13
  ## 0.1.10 (2025-02-06)
4
14
  - feat: update `nuxt-neon` to allow server-side exports
5
15
  - feat: remove `useIgnisI18n` again as it is NOT needed
package/README.md CHANGED
@@ -20,7 +20,7 @@ Aside from being "forked", `nuxt-ignis` is also available as [NPM package](https
20
20
 
21
21
  1) Add following dependency into your `package.json`:
22
22
  ```
23
- "nuxt-ignis": "0.1.10"
23
+ "nuxt-ignis": "0.2.1"
24
24
  ```
25
25
 
26
26
  2) Add following section into your `nuxt.config.ts`:
@@ -60,7 +60,9 @@ Without this workaround the project builds and deploys but will hit runtime erro
60
60
  - zero-config OWASP security patterns for Nuxt via [`nuxt-security`](https://nuxt-security.vercel.app/)
61
61
  - de-facto standard state management library for Vue apps via [`@pinia/nuxt`](https://pinia.vuejs.org/ssr/nuxt.html)
62
62
  - integration with utility functions library for Vue apps via [`@vueuse/nuxt`](https://vueuse.org/nuxt/README.html)
63
- - handful tools for working with images via [`@nuxt/image`](https://image.nuxt.com/)
63
+ - handful tools for working with images via [`@nuxt/image`](https://image.nuxt.com/)
64
+ - simple integration of various fonts via [`@nuxt/fonts`](https://fonts.nuxt.com/)
65
+ - optimized scripts loading via [`@nuxt/scripts`](https://scripts.nuxt.com/)
64
66
  - SSR-friendly component for rendering dynamic date/time via [`nuxt-time`](https://nuxt.com/modules/time)
65
67
  - logging via [`consola](https://github.com/unjs/consola)
66
68
 
@@ -8,7 +8,9 @@
8
8
  "features" : {
9
9
  "nuxt" : "Nuxt application framework atop Vue.js",
10
10
  "security" : "Nuxt Security module helping with OWASP patterns",
11
- "image" : "NuxtImage to optimize use of images",
11
+ "image" : "Nuxt Image to optimize use of images",
12
+ "scripts" : "Nuxt Scripts to allow simple execution of external scripts",
13
+ "fonts" : "Nuxt Fonts to allow simple integration of various fonts",
12
14
  "pinia" : "Pinia for state management",
13
15
  "vueuse" : "VueUse utils available",
14
16
  "i18n" : "I18n for translations",
@@ -14,6 +14,8 @@
14
14
  <AppFeature :text="useT('features.nuxt')" />
15
15
  <AppFeature :text="useT('features.security')" />
16
16
  <AppFeature :text="useT('features.image')" />
17
+ <AppFeature :text="useT('features.scripts')" />
18
+ <AppFeature :text="useT('features.fonts')" class="fonts" />
17
19
  <AppFeature :text="useT('features.pinia')" />
18
20
  <AppFeature :text="useT('features.vueuse')" />
19
21
  <AppFeature :text="useT('features.consola')" />
@@ -48,3 +50,10 @@ const content = setup.content
48
50
  const openprops = setup.openprops
49
51
  const pages = setup.pages
50
52
  </script>
53
+
54
+ <style scoped>
55
+ /* demo for @nuxt/fonts */
56
+ .fonts {
57
+ font-family: "Kurale";
58
+ }
59
+ </style>
@@ -0,0 +1,7 @@
1
+ ## H2 Nuxt Content Demo
2
+ This is rendered from `.md` source file
3
+ ### H3 Sub-header
4
+ You can have **bold text**, _italic text_ or [link](http://localhost:3000)
5
+ #### H4 Sub-header
6
+ - list item 1
7
+ - list item 2
@@ -0,0 +1,12 @@
1
+ import { defineCollection, defineContentConfig } from '@nuxt/content'
2
+
3
+ export default defineContentConfig({
4
+ // while it is not strictily necessary to have a default config file
5
+ // it produces warning during startup when not presented
6
+ collections: {
7
+ content: defineCollection({
8
+ source: '**',
9
+ type: 'page',
10
+ }),
11
+ },
12
+ })
package/features.ts CHANGED
@@ -20,6 +20,8 @@ export function setFeatures() {
20
20
  'nuxt-security',
21
21
  '@nuxt/eslint',
22
22
  '@nuxt/image',
23
+ '@nuxt/fonts',
24
+ '@nuxt/scripts',
23
25
  '@pinia/nuxt',
24
26
  '@vueuse/nuxt',
25
27
  )
@@ -101,7 +103,7 @@ export function setFeatures() {
101
103
  // CSS processor for Open Props
102
104
  postcss: {
103
105
  plugins: {
104
- 'postcss-jit-props': OpenProps,
106
+ 'elrh-postcss-jit-props': OpenProps,
105
107
  },
106
108
  },
107
109
  }, nuxtConfig)
package/nuxt.config.ts CHANGED
@@ -12,7 +12,7 @@ const nuxtConfig = defu(ignisFeatures, {
12
12
  ],
13
13
 
14
14
  // https://nuxt.com/docs/api/nuxt-config#compatibilitydate
15
- compatibilityDate: '2025-01-18',
15
+ compatibilityDate: '2025-02-09',
16
16
 
17
17
  // simple eslint config - see eslint.config.mjs
18
18
  eslint: {
@@ -21,6 +21,16 @@ const nuxtConfig = defu(ignisFeatures, {
21
21
  },
22
22
  },
23
23
 
24
+ security: {
25
+ headers: {
26
+ contentSecurityPolicy: {
27
+ 'script-src': ['\'self\'', 'https:', '\'strict-dynamic\'', '\'nonce-{{nonce}}\'', '\'wasm-unsafe-eval\''],
28
+ },
29
+ crossOriginEmbedderPolicy: 'require-corp',
30
+ crossOriginOpenerPolicy: 'same-origin',
31
+ },
32
+ },
33
+
24
34
  // app configuration
25
35
  runtimeConfig: {
26
36
  // nitro-only secret env-like variables go here
package/package.json CHANGED
@@ -1,55 +1,79 @@
1
- {
2
- "name": "nuxt-ignis",
3
- "version": "0.1.10",
4
- "description": "Enhanced and customizable Nuxt application starter pack",
5
- "repository": "github:AloisSeckar/nuxt-ignis",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "./nuxt.config.ts",
9
- "scripts": {
10
- "analyze": "nuxt analyze",
11
- "eslint": "eslint .",
12
- "build": "nuxt build",
13
- "dev": "nuxt dev",
14
- "generate": "nuxt generate",
15
- "preview": "nuxt preview",
16
- "start": "nuxt start",
17
- "test": "vitest run"
18
- },
19
- "dependencies": {
20
- "@formkit/nuxt": "1.6.9",
21
- "@nuxt/content": "2.13.4",
22
- "@nuxt/eslint": "0.7.6",
23
- "@nuxt/image": "1.9.0",
24
- "@nuxt/ui": "2.21.0",
25
- "@nuxtjs/i18n": "9.1.1",
26
- "@nuxtjs/supabase": "1.4.6",
27
- "@nuxtjs/tailwindcss": "6.13.1",
28
- "@pinia/nuxt": "0.9.0",
29
- "@vueuse/core": "12.5.0",
30
- "@vueuse/nuxt": "12.5.0",
31
- "consola": "3.4.0",
32
- "defu": "6.1.4",
33
- "elrh-pslo": "1.1.6",
34
- "nuxt-neon": "0.3.1",
35
- "nuxt-security": "2.1.5",
36
- "nuxt-spec": "0.0.3",
37
- "nuxt-time": "1.0.3",
38
- "open-props": "1.7.12",
39
- "pinia": "2.3.1",
40
- "postcss-jit-props": "1.0.15",
41
- "typescript": "latest",
42
- "vue": "latest",
43
- "vue-router": "latest"
44
- },
45
- "pnpm": {
46
- "overrides": {
47
- "vite": "latest",
48
- "@nuxtjs/mdc": "^0.13.3"
49
- }
50
- },
51
- "devDependencies": {
52
- "nuxt": "3.15.4"
53
- },
54
- "packageManager": "pnpm@9.15.4"
55
- }
1
+ {
2
+ "name": "nuxt-ignis",
3
+ "version": "0.2.1",
4
+ "description": "Enhanced and customizable Nuxt application starter pack",
5
+ "keywords": [
6
+ "nuxt",
7
+ "nuxtjs",
8
+ "nuxt3",
9
+ "starter"
10
+ ],
11
+ "author": "Alois Seckar <alois.seckar@gmail.com>",
12
+ "homepage": "https://github.com/AloisSeckar/nuxt-ignis",
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/AloisSeckar/nuxt-ignis.git"
16
+ },
17
+ "bugs": {
18
+ "url": "https://github.com/AloisSeckar/nuxt-ignis/issues",
19
+ "email": "alois.seckar@gmail.com"
20
+ },
21
+ "license": "MIT",
22
+ "type": "module",
23
+ "main": "./nuxt.config.ts",
24
+ "engines": {
25
+ "node": ">=18.0.0"
26
+ },
27
+ "scripts": {
28
+ "analyze": "nuxt analyze",
29
+ "eslint": "eslint .",
30
+ "build": "nuxt build",
31
+ "dev": "nuxt dev",
32
+ "generate": "nuxt generate",
33
+ "preview": "nuxt preview",
34
+ "start": "nuxt start",
35
+ "test": "vitest run"
36
+ },
37
+ "dependencies": {
38
+ "@formkit/nuxt": "1.6.9",
39
+ "@nuxt/content": "3.1.0",
40
+ "@nuxt/eslint": "0.7.6",
41
+ "@nuxt/fonts": "0.10.3",
42
+ "@nuxt/image": "1.9.0",
43
+ "@nuxt/scripts": "0.10.1",
44
+ "@nuxt/ui": "2.21.0",
45
+ "@nuxtjs/i18n": "9.1.1",
46
+ "@nuxtjs/supabase": "1.4.6",
47
+ "@nuxtjs/tailwindcss": "6.13.1",
48
+ "@pinia/nuxt": "0.9.0",
49
+ "@vueuse/core": "12.5.0",
50
+ "@vueuse/nuxt": "12.5.0",
51
+ "consola": "3.4.0",
52
+ "defu": "6.1.4",
53
+ "elrh-postcss-jit-props": "1.0.1",
54
+ "elrh-pslo": "1.1.6",
55
+ "nuxt-neon": "0.3.1",
56
+ "nuxt-security": "2.1.5",
57
+ "nuxt-spec": "0.0.3",
58
+ "nuxt-time": "1.0.3",
59
+ "open-props": "1.7.12",
60
+ "pinia": "2.3.1",
61
+ "typescript": "latest",
62
+ "vue": "latest",
63
+ "vue-router": "latest"
64
+ },
65
+ "pnpm": {
66
+ "overrides": {
67
+ "esbuild": "^0.25.0",
68
+ "ioredis": "^5.4.2",
69
+ "koa": "^2.15.4",
70
+ "vite": "^6.1.0",
71
+ "@nuxtjs/mdc": "^0.13.3",
72
+ "@nuxt/kit": "3.15.4"
73
+ }
74
+ },
75
+ "devDependencies": {
76
+ "nuxt": "3.15.4"
77
+ },
78
+ "packageManager": "pnpm@9.15.4"
79
+ }
package/pages/second.vue CHANGED
@@ -26,6 +26,15 @@
26
26
  <div class="mb-4 text-justify">
27
27
  {{ processedText }}
28
28
  </div>
29
+ <div class="mt-6 mb-2">
30
+ <strong>elrh-content test</strong>
31
+ </div>
32
+ <div class="mb-4 text-justify">
33
+ <div v-if="content">
34
+ <ContentRenderer v-if="contentData" :value="contentData" />
35
+ </div>
36
+ <span v-else>nuxt-content not enabled</span>
37
+ </div>
29
38
  <div class="link">
30
39
  <NuxtLink to="/">
31
40
  {{ useT("goto1") }}
@@ -41,4 +50,10 @@ const rawText = 'Veřejné s autorská počítačové vyhotovení, popis vzorec
41
50
  // this will or will not add non-brakable spaces
42
51
  // based on NUXT_PUBLIC_IGNIS_PSLO_CONTENT setting
43
52
  const processedText = pslo(rawText)
53
+
54
+ // data for nuxt-content rendering
55
+ const content = useRuntimeConfig().public.ignis.content
56
+ const { data: contentData } = await useAsyncData('second', () => {
57
+ return queryCollection('content').path('/second').first()
58
+ })
44
59
  </script>