├── layouts
├── default.vue
└── complicated.vue
├── tsconfig.json
├── .gitignore
├── app.vue
├── assets
├── styles
│ ├── quasar.sass
│ └── quasar-variables.sass
└── logo.svg
├── .vscode
└── settings.json
├── plugins
├── quasar.ts
└── fake-dom.server.ts
├── pages
├── index.vue
└── complicated.vue
├── nuxt.config.ts
├── README.md
├── package.json
└── components
├── HelloWorld.vue
└── LeftDrawer.vue
/layouts/default.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.nuxt/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | *.log
3 | .nuxt
4 | nuxt.d.ts
5 | .output
6 | .env
--------------------------------------------------------------------------------
/app.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/assets/styles/quasar.sass:
--------------------------------------------------------------------------------
1 | @import './quasar-variables.sass'
2 | @import 'quasar/src/css/index.sass'
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "yaml.schemas": {
3 | "kubernetes": "*.kube.yaml",
4 | "https://json.schemastore.org/github-workflow.json": "file:///Users/alex/Desktop/nuxt-app/.github/workflows/deploy.yml"
5 | }
6 | }
--------------------------------------------------------------------------------
/plugins/quasar.ts:
--------------------------------------------------------------------------------
1 | import * as components from 'quasar'
2 |
3 | export default defineNuxtPlugin((nuxtApp) => {
4 |
5 | nuxtApp.vueApp.use(components.Quasar, {
6 | plugins: {},
7 | components,
8 | });
9 | });
10 |
--------------------------------------------------------------------------------
/pages/index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
--------------------------------------------------------------------------------
/assets/styles/quasar-variables.sass:
--------------------------------------------------------------------------------
1 | $primary : #1976D2
2 | $secondary : #26A69A
3 | $accent : #9C27B0
4 |
5 | $dark : #1D1D1D
6 |
7 | $positive : #21BA45
8 | $negative : #C10015
9 | $info : #31CCEC
10 | $warning : #F2C037
--------------------------------------------------------------------------------
/pages/complicated.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
--------------------------------------------------------------------------------
/nuxt.config.ts:
--------------------------------------------------------------------------------
1 | import { quasar } from "@quasar/vite-plugin";
2 |
3 | export default defineNuxtConfig({
4 | build: {
5 | transpile: ["quasar"],
6 | },
7 | css: [
8 | "@quasar/extras/roboto-font/roboto-font.css",
9 | "@quasar/extras/material-icons/material-icons.css",
10 | "@quasar/extras/fontawesome-v6/fontawesome-v6.css",
11 | "~/assets/styles/quasar.sass",
12 | ],
13 | vite: {
14 | define: {
15 | // "process.env.DEBUG": false,
16 | },
17 | plugins: [
18 | quasar({
19 | sassVariables: "assets/styles/quasar-variables.sass",
20 | }),
21 | ],
22 | },
23 | });
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Nuxt 3 + Quasar 2.10 - Starter Template
2 |
3 | We recommend to look at the [documentation](https://v3.nuxtjs.org).
4 |
5 | **Demo:** https://quasar-nuxt3-ssr.vercel.app/
6 |
7 | ## Prerequisits
8 |
9 | - NodeJS 16.x
10 |
11 | ## Setup
12 |
13 | Make sure to install the dependencies
14 |
15 | ```bash
16 | yarn install
17 | ```
18 |
19 | ## Development
20 |
21 | Start the development server on http://localhost:3000
22 |
23 | ```bash
24 | yarn dev
25 | ```
26 |
27 | ## Production
28 |
29 | Build the application for production:
30 |
31 | ```bash
32 | yarn build
33 | ```
34 |
35 | Checkout the [deployment documentation](https://v3.nuxtjs.org/docs/deployment).
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "scripts": {
4 | "build": "nuxt build",
5 | "dev": "nuxt dev",
6 | "start": "node .output/server/index.mjs",
7 | "generate": "nuxt generate",
8 | "preview": "nuxt preview",
9 | "postinstall": "nuxt prepare",
10 | "test": "echo 'test'",
11 | "lint": "echo 'lint'"
12 | },
13 | "engines": {
14 | "node": "16"
15 | },
16 | "dependencies": {
17 | "@quasar/extras": "^1.15.5",
18 | "@vueuse/core": "^9.5.0",
19 | "jsdom": "^20.0.2",
20 | "quasar": "^2.10.2"
21 | },
22 | "devDependencies": {
23 | "@quasar/vite-plugin": "^1.2.3",
24 | "@types/jsdom": "^20.0.1",
25 | "nuxt": "3.0.0-rc.14",
26 | "sass": "1.32.12"
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/plugins/fake-dom.server.ts:
--------------------------------------------------------------------------------
1 | import { JSDOM } from "jsdom";
2 |
3 | const dom = new JSDOM(
4 | "
FAKE DOM