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 +10 -0
- package/README.md +4 -2
- package/assets/lang/en.json +3 -1
- package/components/AppFeatureList.vue +9 -0
- package/content/second.md +7 -0
- package/content.config.ts +12 -0
- package/features.ts +3 -1
- package/nuxt.config.ts +11 -1
- package/package.json +79 -55
- package/pages/second.vue +15 -0
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
|
|
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
|
|
package/assets/lang/en.json
CHANGED
|
@@ -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" : "
|
|
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,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-
|
|
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
|
|
4
|
-
"description": "Enhanced and customizable Nuxt application starter pack",
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
|
|
54
|
-
|
|
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>
|