nuxt-ignis 0.2.5 → 0.3.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/.nuxt/app.config.mjs +18 -0
- package/.nuxt/component-chunk.mjs +1 -0
- package/.nuxt/components.d.ts +190 -0
- package/.nuxt/dev/index.mjs +2948 -0
- package/.nuxt/dev/index.mjs.map +1 -0
- package/.nuxt/dist/server/client.manifest.json +18 -0
- package/.nuxt/dist/server/client.manifest.mjs +1 -0
- package/.nuxt/dist/server/server.mjs +1 -0
- package/.nuxt/eslint-typegen.d.ts +9401 -0
- package/.nuxt/eslint.config.d.mts +9 -0
- package/.nuxt/eslint.config.mjs +53 -0
- package/.nuxt/imports.d.ts +66 -0
- package/.nuxt/manifest/latest.json +1 -0
- package/.nuxt/manifest/meta/dev.json +1 -0
- package/.nuxt/modules/@nuxt-scripts.d.ts +13 -0
- package/.nuxt/nitro.json +17 -0
- package/.nuxt/nuxt-fonts-global.css +0 -0
- package/.nuxt/nuxt.d.ts +34 -0
- package/.nuxt/nuxt.json +9 -0
- package/.nuxt/schema/nuxt.schema.d.ts +17 -0
- package/.nuxt/schema/nuxt.schema.json +3 -0
- package/.nuxt/tsconfig.json +223 -0
- package/.nuxt/tsconfig.server.json +152 -0
- package/.nuxt/types/app-defaults.d.ts +7 -0
- package/.nuxt/types/app.config.d.ts +31 -0
- package/.nuxt/types/build.d.ts +25 -0
- package/.nuxt/types/builder-env.d.ts +1 -0
- package/.nuxt/types/imports.d.ts +829 -0
- package/.nuxt/types/layouts.d.ts +7 -0
- package/.nuxt/types/middleware.d.ts +7 -0
- package/.nuxt/types/nitro-config.d.ts +14 -0
- package/.nuxt/types/nitro-imports.d.ts +143 -0
- package/.nuxt/types/nitro-middleware.d.ts +6 -0
- package/.nuxt/types/nitro-nuxt.d.ts +34 -0
- package/.nuxt/types/nitro-routes.d.ts +20 -0
- package/.nuxt/types/nitro.d.ts +3 -0
- package/.nuxt/types/plugins.d.ts +38 -0
- package/.nuxt/types/schema.d.ts +450 -0
- package/.nuxt/types/vue-shim.d.ts +0 -0
- package/app.vue +16 -36
- package/assets/css/nuxt-ui.css +16 -0
- package/assets/css/tailwind.css +10 -44
- package/components/AppFeature.vue +47 -3
- package/components/AppFeatureList.vue +86 -26
- package/components/CurrentTime.vue +9 -9
- package/components/ignis/IgnisFooter.vue +16 -0
- package/components/ignis/IgnisHeader.vue +48 -0
- package/components/ignis/IgnisInfo.vue +26 -0
- package/composables/useTranslation.ts +11 -4
- package/content/second.md +4 -0
- package/features.ts +115 -17
- package/i18n/i18n.config.ts +2 -2
- package/{assets/lang → i18n/locales}/en.json +6 -1
- package/i18n/locales/es.json +4 -0
- package/nuxt.config.ts +26 -2
- package/package.json +70 -79
- package/pages/ignis.vue +3 -0
- package/pages/index.vue +1 -12
- package/tailwind.config.ts +2 -1
- package/utils/i18n-sources.ts +20 -2
- package/vueform.config.ts +20 -0
- package/.gitattributes +0 -2
- package/CHANGELOG.md +0 -72
- package/LICENSE +0 -21
- package/README.md +0 -147
package/package.json
CHANGED
|
@@ -1,79 +1,70 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "nuxt-ignis",
|
|
3
|
-
"version": "0.
|
|
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
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"@
|
|
39
|
-
"@nuxt
|
|
40
|
-
"@nuxt
|
|
41
|
-
"@
|
|
42
|
-
"@nuxt
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"nuxt
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
},
|
|
73
|
-
"devDependencies": {
|
|
74
|
-
"nuxt": "3.16.1",
|
|
75
|
-
"vue": "3.5.13",
|
|
76
|
-
"vue-router": "4.5.0"
|
|
77
|
-
},
|
|
78
|
-
"packageManager": "pnpm@9.15.9"
|
|
79
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "nuxt-ignis",
|
|
3
|
+
"version": "0.3.0",
|
|
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
|
+
"dependencies": {
|
|
28
|
+
"@formkit/nuxt": "1.6.9",
|
|
29
|
+
"@nuxt/content": "3.5.1",
|
|
30
|
+
"@nuxt/eslint": "1.4.1",
|
|
31
|
+
"@nuxt/fonts": "0.11.4",
|
|
32
|
+
"@nuxt/image": "1.10.0",
|
|
33
|
+
"@nuxt/scripts": "0.11.7",
|
|
34
|
+
"@nuxt/ui": "3.1.2",
|
|
35
|
+
"@nuxtjs/i18n": "9.5.4",
|
|
36
|
+
"@nuxtjs/seo": "3.0.3",
|
|
37
|
+
"@nuxtjs/supabase": "1.5.1",
|
|
38
|
+
"@nuxtjs/tailwindcss": "6.14.0",
|
|
39
|
+
"@pinia/nuxt": "0.11.0",
|
|
40
|
+
"@vueform/nuxt": "1.13.0",
|
|
41
|
+
"@vueuse/core": "13.2.0",
|
|
42
|
+
"@vueuse/nuxt": "13.2.0",
|
|
43
|
+
"consola": "3.4.2",
|
|
44
|
+
"defu": "6.1.4",
|
|
45
|
+
"elrh-pslo": "1.1.6",
|
|
46
|
+
"nuxt-auth-utils": "0.5.20",
|
|
47
|
+
"nuxt-neon": "0.6.0",
|
|
48
|
+
"nuxt-security": "2.2.0",
|
|
49
|
+
"nuxt-spec": "0.0.4",
|
|
50
|
+
"open-props": "1.7.15",
|
|
51
|
+
"pinia": "3.0.2",
|
|
52
|
+
"postcss-jit-props": "1.0.16",
|
|
53
|
+
"typescript": "5.8.3"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"nuxt": "3.17.4",
|
|
57
|
+
"vue": "3.5.14",
|
|
58
|
+
"vue-router": "4.5.1"
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"analyze": "nuxt analyze",
|
|
62
|
+
"eslint": "eslint .",
|
|
63
|
+
"build": "nuxt build",
|
|
64
|
+
"dev": "nuxt dev",
|
|
65
|
+
"generate": "nuxt generate",
|
|
66
|
+
"preview": "nuxt preview",
|
|
67
|
+
"start": "nuxt start",
|
|
68
|
+
"test": "vitest run"
|
|
69
|
+
}
|
|
70
|
+
}
|
package/pages/ignis.vue
ADDED
package/pages/index.vue
CHANGED
|
@@ -13,16 +13,5 @@
|
|
|
13
13
|
-->
|
|
14
14
|
|
|
15
15
|
<template>
|
|
16
|
-
<
|
|
17
|
-
<AppFeatureList />
|
|
18
|
-
<div class="link">
|
|
19
|
-
<NuxtLink to="/second">
|
|
20
|
-
{{ useT("goto2") }}
|
|
21
|
-
</NuxtLink>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
16
|
+
<IgnisInfo />
|
|
24
17
|
</template>
|
|
25
|
-
|
|
26
|
-
<script setup lang="ts">
|
|
27
|
-
import { useT } from '#imports' // requires explicit import for some reason
|
|
28
|
-
</script>
|
package/tailwind.config.ts
CHANGED
|
@@ -5,7 +5,8 @@ import plugin from 'tailwindcss/plugin'
|
|
|
5
5
|
|
|
6
6
|
module.exports = {
|
|
7
7
|
content: [
|
|
8
|
-
|
|
8
|
+
// include Nuxt Content files into array scanned by Tailwind CSS
|
|
9
|
+
'{srcDir}/content/**/*.{md,yml,json}',
|
|
9
10
|
],
|
|
10
11
|
theme: {
|
|
11
12
|
// example of extending Tailwind CSS with custom color
|
package/utils/i18n-sources.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
// scans @/
|
|
1
|
+
// scans @/i18n/locales/* for all .json files with i18n messages
|
|
2
2
|
// and makes them available for i18n.config.ts
|
|
3
3
|
|
|
4
4
|
import type { LocaleMessage } from '@intlify/core-base'
|
|
5
5
|
|
|
6
|
+
function getAvailableLocales() {
|
|
7
|
+
return import.meta.glob('@/i18n/locales/*.json', { eager: true })
|
|
8
|
+
}
|
|
9
|
+
|
|
6
10
|
export function scanI18NSources() {
|
|
7
|
-
const modules =
|
|
11
|
+
const modules = getAvailableLocales()
|
|
8
12
|
|
|
9
13
|
const messages = {} as { [x: string]: LocaleMessage<unknown> }
|
|
10
14
|
for (const path in modules) {
|
|
@@ -16,3 +20,17 @@ export function scanI18NSources() {
|
|
|
16
20
|
|
|
17
21
|
return messages
|
|
18
22
|
}
|
|
23
|
+
|
|
24
|
+
export function scanI18Names() {
|
|
25
|
+
const modules = getAvailableLocales()
|
|
26
|
+
|
|
27
|
+
const locales = [] as string[]
|
|
28
|
+
for (const path in modules) {
|
|
29
|
+
const locale = path.match(/\/([^/]+)\.json$/)
|
|
30
|
+
if (locale && locale[1]) {
|
|
31
|
+
locales.push(locale[1])
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return locales
|
|
36
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// this is basic "getting started" configuration example
|
|
2
|
+
// for more options check:
|
|
3
|
+
// https://vueform.com/docs/configuration
|
|
4
|
+
|
|
5
|
+
import en from '@vueform/vueform/locales/en'
|
|
6
|
+
import vueform from '@vueform/vueform/dist/vueform'
|
|
7
|
+
import { defineConfig } from '@vueform/vueform'
|
|
8
|
+
|
|
9
|
+
// add Vueform type definitions
|
|
10
|
+
import '@vueform/vueform/types/index.d.ts'
|
|
11
|
+
|
|
12
|
+
// add default CSS styles
|
|
13
|
+
// can be placed anywhere else in your project
|
|
14
|
+
import '@vueform/vueform/dist/vueform.css'
|
|
15
|
+
|
|
16
|
+
export default defineConfig({
|
|
17
|
+
theme: vueform,
|
|
18
|
+
locales: { en },
|
|
19
|
+
locale: 'en',
|
|
20
|
+
})
|
package/.gitattributes
DELETED
package/CHANGELOG.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
## 0.2.5 (2025-03-26)
|
|
4
|
-
- build: move `vue` and `vue-router` to devDepencencies (should allow smooth Netlify deployment)
|
|
5
|
-
- build: fix Vite security issue
|
|
6
|
-
|
|
7
|
-
## 0.2.4 (2025-03-20)
|
|
8
|
-
- build: bump `Nuxt` to `3.16.1`, `Nuxt Content` to `3.4.0` + update other deps
|
|
9
|
-
- build: fix some security issues
|
|
10
|
-
- fix: update necessary default config for `@nuxtjs/i18n`
|
|
11
|
-
|
|
12
|
-
## 0.2.3 (2025-03-08)
|
|
13
|
-
- build: bump `Nuxt` to `3.16.0` + update other deps
|
|
14
|
-
|
|
15
|
-
## 0.2.2 (2025-02-25)
|
|
16
|
-
- build: bump `nuxt-spec` and `nuxt-neon`
|
|
17
|
-
- build: return `postcss-jit-props` dependency after a [bug gets fixed](https://github.com/GoogleChromeLabs/postcss-jit-props/commit/0c98b5367935b9c048a547400ee8346cb6c07b00)
|
|
18
|
-
|
|
19
|
-
## 0.2.1 (2025-02-17)
|
|
20
|
-
- feat: `@nuxt/fonts` included into built-in dependencies
|
|
21
|
-
- fix: added default content.config.ts to avoid warning on startup
|
|
22
|
-
- build: fixed couple of version issues in lock file
|
|
23
|
-
|
|
24
|
-
## 0.2.0 (2025-02-09)
|
|
25
|
-
- feat: breaking change update to `@nuxt/content v3` - in case of problems, see [migration guide](https://content.nuxt.com/docs/getting-started/migration)
|
|
26
|
-
- feat: `@nuxt/scripts` included into built-in dependencies
|
|
27
|
-
- build: Vite and Nuxt Kit version fix
|
|
28
|
-
|
|
29
|
-
## 0.1.10 (2025-02-06)
|
|
30
|
-
- feat: update `nuxt-neon` to allow server-side exports
|
|
31
|
-
- feat: remove `useIgnisI18n` again as it is NOT needed
|
|
32
|
-
- fix: pin down `i18n` due to current regression
|
|
33
|
-
- build: security updates
|
|
34
|
-
|
|
35
|
-
## 0.1.9 (2025-02-03)
|
|
36
|
-
- feat: expose `useI18n` composable via custom `useIgnisI18n`
|
|
37
|
-
|
|
38
|
-
## 0.1.8 (2025-02-02)
|
|
39
|
-
- build: fix `nuxt-neon` security issue
|
|
40
|
-
- build: fix `vite` security issue
|
|
41
|
-
|
|
42
|
-
## 0.1.7 (2025-01-31)
|
|
43
|
-
- feat: unified test-pack included via separate `nuxt-spec` layer
|
|
44
|
-
- feat: support `ssr` and `pages` settings
|
|
45
|
-
- feat: display log level setting on startup
|
|
46
|
-
- refactor: log level setting moved inside `ignis` config
|
|
47
|
-
- build: updated deps
|
|
48
|
-
|
|
49
|
-
## 0.1.6 (2024-12-25)
|
|
50
|
-
- build: bump Nuxt to `3.15.0` + update other deps
|
|
51
|
-
|
|
52
|
-
## 0.1.5 (2024-12-21)
|
|
53
|
-
- feat: more flexible config for `i18n` and `formkit`
|
|
54
|
-
- docs: improved instructions for using as a layer
|
|
55
|
-
|
|
56
|
-
## 0.1.4 (2024-12-07)
|
|
57
|
-
- feat: include `elrh-pslo` text utility
|
|
58
|
-
- docs: add instructions for using as a layer
|
|
59
|
-
|
|
60
|
-
## 0.1.3 (2024-12-05)
|
|
61
|
-
- build: bump nuxt-neon to `0.2.4`
|
|
62
|
-
|
|
63
|
-
## 0.1.2 (2024-12-05)
|
|
64
|
-
- fix: update package.json according to Nuxt docs
|
|
65
|
-
|
|
66
|
-
## 0.1.1 (2024-12-05)
|
|
67
|
-
- build: bump nuxt-neon to `0.2.0`
|
|
68
|
-
- fix: features page listing
|
|
69
|
-
- docs: add CHANGELOG.md
|
|
70
|
-
|
|
71
|
-
## 0.1.0 (2024-12-02)
|
|
72
|
-
- initial release [v0.1.0](https://github.com/AloisSeckar/nuxt-ignis/releases/tag/v0.1.0)
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 Alois Sečkár
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/README.md
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# Nuxt Ignis
|
|
2
|
-
|
|
3
|
-

|
|
4
|
-
|
|
5
|
-
This is a template starter for Nuxt web applications. It is being built as the setup I'd currently use to start with a new "real world" [Nuxt](https://nuxt.com/) webapp. It will improve and grow together with my skills. I also try to include **WHAT** and **WHY** comments based on my knowledge about the framework and used libraries.
|
|
6
|
-
|
|
7
|
-
## How to use
|
|
8
|
-
|
|
9
|
-
### As standalone template
|
|
10
|
-
1. Do a `git checkout` from https://github.com/AloisSeckar/nuxt-ignis.git
|
|
11
|
-
2. Open in IDE and run `pnpm install` in terminal
|
|
12
|
-
3. Configure modules via `.env` properties
|
|
13
|
-
4. Start dev server with `pnpm dev` command
|
|
14
|
-
5. Visit `localhost:3000` in browser
|
|
15
|
-
|
|
16
|
-
You are ready to build your next awesome project in Nuxt!
|
|
17
|
-
|
|
18
|
-
### As a layer (RECOMMENDED)
|
|
19
|
-
Aside from being "forked", `nuxt-ignis` is also available as [NPM package](https://www.npmjs.com/package/nuxt-ignis) that can be referenced as a single-import with all the features incoming.
|
|
20
|
-
|
|
21
|
-
1) Add following dependency into your `package.json`:
|
|
22
|
-
```
|
|
23
|
-
"nuxt-ignis": "0.2.5"
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
2) Add following section into your `nuxt.config.ts`:
|
|
27
|
-
```
|
|
28
|
-
extends: [
|
|
29
|
-
'nuxt-ignis'
|
|
30
|
-
]
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
3) Add `.npmrc` file with following content (if you don't have it yet):
|
|
34
|
-
```
|
|
35
|
-
shamefully-hoist=true
|
|
36
|
-
strict-peer-dependencies=false
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
4) Setup your `.env` to fit your project needs. Check [Configuration](#Configuration) section for reference.
|
|
40
|
-
|
|
41
|
-
You are ready to build your next awesome project in Nuxt!
|
|
42
|
-
|
|
43
|
-
#### Netlify deployment note
|
|
44
|
-
If you use [Netlify](https://www.netlify.com/) for deployment then for some reasons [not yet clear to me](https://github.com/nuxt/nuxt/discussions/30187) after extending from Nuxt Ignis you have to add two explicit dependencies into your `package.json`, namely:
|
|
45
|
-
```
|
|
46
|
-
"vue": "latest",
|
|
47
|
-
"vue-router": "latest"
|
|
48
|
-
```
|
|
49
|
-
Without this workaround the project builds and deploys but will hit runtime error 500 upon loading the page. Hopefully, this is just a temporary issue (12/2024).
|
|
50
|
-
|
|
51
|
-
## Overview
|
|
52
|
-
|
|
53
|
-
**Fundamentals**
|
|
54
|
-
- [`pnpm`](https://pnpm.io/) based project
|
|
55
|
-
- [Nuxt](https://nuxt.com/) application framework built atop [Vue.js](https://vuejs.org/)
|
|
56
|
-
- Available as a starter template or standalone NPM package to extend from
|
|
57
|
-
|
|
58
|
-
**Built-in features**
|
|
59
|
-
- linting for maintaining coding standards and improving code quality via [`@nuxt/eslint`](https://nuxt.com/modules/eslint)
|
|
60
|
-
- zero-config OWASP security patterns for Nuxt via [`nuxt-security`](https://nuxt-security.vercel.app/)
|
|
61
|
-
- de-facto standard state management library for Vue apps via [`@pinia/nuxt`](https://pinia.vuejs.org/ssr/nuxt.html)
|
|
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/)
|
|
64
|
-
- simple integration of various fonts via [`@nuxt/fonts`](https://fonts.nuxt.com/)
|
|
65
|
-
- optimized scripts loading via [`@nuxt/scripts`](https://scripts.nuxt.com/)
|
|
66
|
-
- SSR-friendly component for rendering dynamic date/time via [`nuxt-time`](https://nuxt.com/modules/time)
|
|
67
|
-
- logging via [`consola](https://github.com/unjs/consola)
|
|
68
|
-
|
|
69
|
-
**Configurable features**
|
|
70
|
-
- UI (pick 0-1)
|
|
71
|
-
- **Nuxt UI** - UI component and CSS library via [`@nuxt/ui`](https://ui.nuxt.com/)
|
|
72
|
-
- **Tailwind CSS** - CSS library (included in Nuxt UI) via [`@nuxtjs/tailwindcss`](https://tailwindcss.nuxtjs.org/)
|
|
73
|
-
- Database (pick 0-1)
|
|
74
|
-
- **Neon** - serverless PostgreSQL database via [`nuxt-neon`](https://github.com/AloisSeckar/nuxt-neon/)
|
|
75
|
-
- **Supabase** - serverless PostgreSQL database via [`@nuxtjs/supabase`](https://supabase.nuxtjs.org/)
|
|
76
|
-
- Other (opt-in)
|
|
77
|
-
- **I18N** - translations and internalization made easy via [`@nuxtjs/i18n`](hhttps://i18n.nuxtjs.org/)
|
|
78
|
-
- **FormKit** - for handling input forms via [`@formkit/nuxt`](https://nuxt.com/modules/formkit)
|
|
79
|
-
- **Content** - for working with website content in `.md` or `.json` via [`@nuxt/content`](https://content.nuxt.com/)
|
|
80
|
-
- **Open Props** - extra CSS styles via [Open Props](https://open-props.style/)
|
|
81
|
-
- **pslo** - treating single letter words at the end of line via [elrh-pslo](https://open-props.style/)
|
|
82
|
-
|
|
83
|
-
## Configuration
|
|
84
|
-
It is possible to select which Nuxt modules will be activated in your project. All dependencies are being downloaded into local `node_modules`, but Nuxt build process will ensure only relevant packages will be bundled for production.
|
|
85
|
-
|
|
86
|
-
### UI preset
|
|
87
|
-
It is possible to pick from three options:
|
|
88
|
-
- `nuxt-ui` - full https://ui.nuxt.com/ via `@nuxt/ui` connector module **[RECOMMENDED]**
|
|
89
|
-
- `tailwind` - only https://tailwindcss.com/ via `@nuxtjs/tailwindcss` connector module
|
|
90
|
-
- `off` - no UI library preset **[DEFAULT]**
|
|
91
|
-
|
|
92
|
-
Set the value via `NUXT_PUBLIC_IGNIS_PRESET_UI` env variable.
|
|
93
|
-
|
|
94
|
-
Value other than `off` will override Optional modules setting.
|
|
95
|
-
|
|
96
|
-
### Database preset
|
|
97
|
-
It is possible to pick from three options:
|
|
98
|
-
- `neon` - https://neon.tech/ via `nuxt-neon` connector module **[RECOMMENDED]**
|
|
99
|
-
- `supabase` - https://supabase.com/ via `@nuxtjs/supabase` connector module
|
|
100
|
-
- `off` - no database module preset **[DEFAULT]**
|
|
101
|
-
|
|
102
|
-
Set the value via `NUXT_PUBLIC_IGNIS_PRESET_DB` env variable.
|
|
103
|
-
|
|
104
|
-
Value other than `off` will override Optional modules setting.
|
|
105
|
-
|
|
106
|
-
### Optional modules
|
|
107
|
-
Currently, following modules are opinionated:
|
|
108
|
-
- `@nuxt/ui` - set `NUXT_PUBLIC_IGNIS_UI` to `true | false`
|
|
109
|
-
- `@nuxtjs/tailwindcss` - set `NUXT_PUBLIC_IGNIS_TAILWIND` to `true | false` (ignored if `NUXT_PUBLIC_IGNIS_UI=true`)
|
|
110
|
-
- `nuxt-neon` - set `NUXT_PUBLIC_IGNIS_NEON` to `true | false`
|
|
111
|
-
- `@nuxtjs/supabase` - set `NUXT_PUBLIC_IGNIS_SUPABASE` to `true | false`
|
|
112
|
-
- `@nuxtjs/i18n` - set `NUXT_PUBLIC_IGNIS_I18N_ENABLED` to `true | false`
|
|
113
|
-
- `@formkit/nuxt` - set `NUXT_PUBLIC_IGNIS_FORMKIT_ENABLED` to `true | false`
|
|
114
|
-
- `@nuxt/content` - set `NUXT_PUBLIC_IGNIS_CONTENT` to `true | false`
|
|
115
|
-
|
|
116
|
-
Default values are **false** (not included) for all optional modules.
|
|
117
|
-
|
|
118
|
-
#### I18N options
|
|
119
|
-
- you can select default language locale via `NUXT_PUBLIC_IGNIS_I18N_LOCALE`
|
|
120
|
-
- all `.json` files with messages in `@assets/lang` folder will be auto-scanned
|
|
121
|
-
- if [default config file](https://github.com/AloisSeckar/nuxt-ignis/blob/main/i18n.config.ts) is not suitable for your project, you may specify path to your own using `NUXT_PUBLIC_IGNIS_I18N_CONFIG`
|
|
122
|
-
|
|
123
|
-
#### Formkit options
|
|
124
|
-
- you can select default language locale via `NUXT_PUBLIC_IGNIS_FORMKIT_LOCALE`
|
|
125
|
-
- if [default config file](https://github.com/AloisSeckar/nuxt-ignis/blob/main/i18n.config.ts) is not suitable for your project, you may specify path to your own using `NUXT_PUBLIC_IGNIS_FORMKIT_CONFIG`
|
|
126
|
-
|
|
127
|
-
### Optional features
|
|
128
|
-
Currently, following extra features (not using separate Nuxt Modules) are opinionated:
|
|
129
|
-
- `Open Props CSS` - set `NUXT_PUBLIC_IGNIS_OPENPROPS` to `true | false`
|
|
130
|
-
- `elrh-pslo` - set `NUXT_PUBLIC_IGNIS_PSLO_ENABLED` to `true | false`
|
|
131
|
-
|
|
132
|
-
Default values are **false** (not included) for all optional features.
|
|
133
|
-
|
|
134
|
-
#### elrh-pslo options
|
|
135
|
-
There are two config values for this feature:
|
|
136
|
-
- `NUXT_PUBLIC_IGNIS_PSLO_ENABLED` - setting to true will allow utility function `pslo` to treat texts in your app
|
|
137
|
-
- `NUXT_PUBLIC_IGNIS_PSLO_CONTENT` - if both `elrh-pslo` and `@nuxt/content` are enabled, this allows or disallows Markdown content pre-processing with `pslo` function
|
|
138
|
-
|
|
139
|
-
### Nuxt config overrides
|
|
140
|
-
Currently, it is possible to override following Nuxt config via .env variables:
|
|
141
|
-
- `NUXT_PUBLIC_IGNIS_SSR` - set to `false` to disable SSR (results in `ssr: false` in Nuxt Config)
|
|
142
|
-
- `NUXT_PUBLIC_IGNIS_PAGES` - set to `false` to disable multiple pages in simple projects (results in `pages: false` in Nuxt Config)
|
|
143
|
-
|
|
144
|
-
### Logging
|
|
145
|
-
Use `NUXT_PUBLIC_INGIS_LOG_LEVEL` to set level of log messages captured with `consola`. The default value is `info`.
|
|
146
|
-
|
|
147
|
-
Possible values are: `fatal`, `error`, `warn`, `log`, `info`, `success`, `debug`, `trace`, `silent`, `verbose`
|