Skip to content

Commit c7a602b

Browse files
committed
fresh quasar v4 webpack app
0 parents  commit c7a602b

39 files changed

+7708
-0
lines changed

.editorconfig

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}]
2+
charset = utf-8
3+
indent_size = 2
4+
indent_style = space
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true

.gitignore

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.DS_Store
2+
.thumbs.db
3+
node_modules
4+
5+
# Quasar core related directories
6+
.quasar
7+
/dist
8+
/quasar.config.*.temporary.compiled*
9+
10+
# Cordova related directories and files
11+
/src-cordova/node_modules
12+
/src-cordova/platforms
13+
/src-cordova/plugins
14+
/src-cordova/www
15+
16+
# Capacitor related directories and files
17+
/src-capacitor/www
18+
/src-capacitor/node_modules
19+
20+
# Log files
21+
npm-debug.log*
22+
yarn-debug.log*
23+
yarn-error.log*
24+
25+
# Editor directories and files
26+
.idea
27+
*.suo
28+
*.ntvs*
29+
*.njsproj
30+
*.sln
31+
32+
# local .env files
33+
.env.local*

.npmrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# pnpm-related options
2+
shamefully-hoist=true
3+
strict-peer-dependencies=false
4+
# to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5+
resolution-mode=highest

.prettierrc.json

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"$schema": "https://json.schemastore.org/prettierrc",
3+
"semi": false,
4+
"singleQuote": true,
5+
"printWidth": 100
6+
}

.vscode/extensions.json

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"recommendations": [
3+
"dbaeumer.vscode-eslint",
4+
"esbenp.prettier-vscode",
5+
"editorconfig.editorconfig",
6+
"vue.volar",
7+
"wayou.vscode-todo-highlight"
8+
],
9+
"unwantedRecommendations": [
10+
"octref.vetur",
11+
"hookyqr.beautify",
12+
"dbaeumer.jshint",
13+
"ms-vscode.vscode-typescript-tslint-plugin"
14+
]
15+
}

.vscode/settings.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"editor.bracketPairColorization.enabled": true,
3+
"editor.guides.bracketPairs": true,
4+
"editor.formatOnSave": true,
5+
"editor.defaultFormatter": "esbenp.prettier-vscode",
6+
"editor.codeActionsOnSave": [
7+
"source.fixAll.eslint"
8+
],
9+
"eslint.validate": [
10+
"javascript",
11+
"javascriptreact",
12+
"typescript",
13+
"vue"
14+
],
15+
"typescript.tsdk": "node_modules/typescript/lib"
16+
}

README.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Taskyon App (taskyon)
2+
3+
A Quasar Project
4+
5+
## Install the dependencies
6+
```bash
7+
yarn
8+
# or
9+
npm install
10+
```
11+
12+
### Start the app in development mode (hot-code reloading, error reporting, etc.)
13+
```bash
14+
quasar dev
15+
```
16+
17+
18+
### Lint the files
19+
```bash
20+
yarn lint
21+
# or
22+
npm run lint
23+
```
24+
25+
26+
### Format the files
27+
```bash
28+
yarn format
29+
# or
30+
npm run format
31+
```
32+
33+
34+
### Build the app for production
35+
```bash
36+
quasar build
37+
```
38+
39+
### Customize the configuration
40+
See [Configuring quasar.config.js](https://v2.quasar.dev/quasar-cli-webpack/quasar-config-js).

babel.config.cjs

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module.exports = api => {
2+
return {
3+
presets: [
4+
[
5+
'@quasar/babel-preset-app',
6+
api.caller(caller => caller && caller.target === 'node')
7+
? { targets: { node: 'current' } }
8+
: {}
9+
]
10+
]
11+
}
12+
}

eslint.config.js

+94
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
import js from '@eslint/js'
2+
import globals from 'globals'
3+
import pluginVue from 'eslint-plugin-vue'
4+
import pluginQuasar from '@quasar/app-webpack/eslint'
5+
import vueTsEslintConfig from '@vue/eslint-config-typescript'
6+
import prettierSkipFormatting from '@vue/eslint-config-prettier/skip-formatting'
7+
8+
export default [
9+
{
10+
/**
11+
* Ignore the following files.
12+
* Please note that pluginQuasar.configs.recommended already ignores
13+
* the "node_modules" folder for you (and all other Quasar project
14+
* relevant folders and files).
15+
*
16+
* ESLint requires "ignores" key to be the only one in this object
17+
*/
18+
// ignores: []
19+
},
20+
21+
...pluginQuasar.configs.recommended(),
22+
js.configs.recommended,
23+
24+
/**
25+
* https://eslint.vuejs.org
26+
*
27+
* pluginVue.configs.base
28+
* -> Settings and rules to enable correct ESLint parsing.
29+
* pluginVue.configs[ 'flat/essential']
30+
* -> base, plus rules to prevent errors or unintended behavior.
31+
* pluginVue.configs["flat/strongly-recommended"]
32+
* -> Above, plus rules to considerably improve code readability and/or dev experience.
33+
* pluginVue.configs["flat/recommended"]
34+
* -> Above, plus rules to enforce subjective community defaults to ensure consistency.
35+
*/
36+
...pluginVue.configs[ 'flat/essential' ],
37+
38+
// https://github.com/vuejs/eslint-config-typescript
39+
...vueTsEslintConfig({
40+
// Optional: extend additional configurations from typescript-eslint'.
41+
// Supports all the configurations in
42+
// https://typescript-eslint.io/users/configs#recommended-configurations
43+
extends: [
44+
// By default, only the recommended rules are enabled.
45+
'recommended'
46+
// You can also manually enable the stylistic rules.
47+
// "stylistic",
48+
49+
// Other utility configurations, such as 'eslintRecommended', (note that it's in camelCase)
50+
// are also extendable here. But we don't recommend using them directly.
51+
]
52+
}),
53+
54+
{
55+
languageOptions: {
56+
ecmaVersion: 'latest',
57+
sourceType: 'module',
58+
59+
globals: {
60+
...globals.browser,
61+
...globals.node, // SSR, Electron, config files
62+
process: 'readonly', // process.env.*
63+
ga: 'readonly', // Google Analytics
64+
cordova: 'readonly',
65+
Capacitor: 'readonly',
66+
chrome: 'readonly', // BEX related
67+
browser: 'readonly' // BEX related
68+
}
69+
},
70+
71+
// add your custom rules here
72+
rules: {
73+
'prefer-promise-reject-errors': 'off',
74+
'@typescript-eslint/consistent-type-imports': [
75+
'error',
76+
{ prefer: 'type-imports' }
77+
],
78+
79+
// allow debugger during development only
80+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
81+
}
82+
},
83+
84+
{
85+
files: [ 'src-pwa/custom-service-worker.ts' ],
86+
languageOptions: {
87+
globals: {
88+
...globals.serviceworker
89+
}
90+
}
91+
},
92+
93+
prettierSkipFormatting
94+
]

index.html

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title><%= productName %></title>
5+
6+
<meta charset="utf-8">
7+
<meta name="description" content="<%= productDescription %>">
8+
<meta name="format-detection" content="telephone=no">
9+
<meta name="msapplication-tap-highlight" content="no">
10+
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">
11+
12+
<link rel="icon" type="image/png" sizes="128x128" href="icons/favicon-128x128.png">
13+
<link rel="icon" type="image/png" sizes="96x96" href="icons/favicon-96x96.png">
14+
<link rel="icon" type="image/png" sizes="32x32" href="icons/favicon-32x32.png">
15+
<link rel="icon" type="image/png" sizes="16x16" href="icons/favicon-16x16.png">
16+
<link rel="icon" type="image/ico" href="favicon.ico">
17+
</head>
18+
<body>
19+
<!-- quasar:entry-point -->
20+
</body>
21+
</html>

package.json

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"name": "taskyon",
3+
"version": "0.0.1",
4+
"description": "A Quasar Project",
5+
"productName": "Taskyon App",
6+
"author": "yeus <[email protected]>",
7+
"private": true,
8+
"type": "module",
9+
"scripts": {
10+
"lint": "eslint -c ./eslint.config.js './src*/**/*.{ts,js,cjs,mjs,vue}'",
11+
"format": "prettier --write \"**/*.{js,ts,vue,,html,md,json}\" --ignore-path .gitignore",
12+
"test": "echo \"No test specified\" && exit 0",
13+
"dev": "quasar dev",
14+
"build": "quasar build",
15+
"postinstall": "quasar prepare"
16+
},
17+
"dependencies": {
18+
"vue-i18n": "^9.2.2",
19+
"pinia": "^2.0.11",
20+
"@quasar/extras": "^1.16.4",
21+
"core-js": "^3.6.5",
22+
"quasar": "^2.16.0",
23+
"vue": "^3.4.18",
24+
"vue-router": "^4.0.0"
25+
},
26+
"devDependencies": {
27+
"@eslint/js": "^9.14.0",
28+
"eslint": "^9.14.0",
29+
"eslint-plugin-vue": "^9.30.0",
30+
"eslint-webpack-plugin": "^4.2.0",
31+
"@vue/eslint-config-typescript": "^14.1.3",
32+
"globals": "^15.12.0",
33+
"@vue/eslint-config-prettier": "^10.1.0",
34+
"prettier": "^3.3.3",
35+
"@types/node": "^20.5.9",
36+
"@quasar/app-webpack": "^4.0.0",
37+
"autoprefixer": "^10.4.2",
38+
"ts-loader": "^9.4.2",
39+
"typescript": "~5.5.3"
40+
},
41+
"browserslist": [
42+
"last 10 Chrome versions",
43+
"last 10 Firefox versions",
44+
"last 4 Edge versions",
45+
"last 7 Safari versions",
46+
"last 8 Android versions",
47+
"last 8 ChromeAndroid versions",
48+
"last 8 FirefoxAndroid versions",
49+
"last 10 iOS versions",
50+
"last 5 Opera versions"
51+
],
52+
"engines": {
53+
"node": "^28 || ^26 || ^24 || ^22 || ^20 || ^18",
54+
"npm": ">= 6.13.4",
55+
"yarn": ">= 1.21.1"
56+
}
57+
}

postcss.config.cjs

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// https://github.com/michael-ciniawsky/postcss-load-config
2+
3+
module.exports = {
4+
plugins: [
5+
// to edit target browsers: use "browserslist" field in package.json
6+
require('autoprefixer')
7+
]
8+
}

public/favicon.ico

63 KB
Binary file not shown.

public/icons/favicon-128x128.png

12 KB
Loading

public/icons/favicon-16x16.png

859 Bytes
Loading

public/icons/favicon-32x32.png

1.99 KB
Loading

public/icons/favicon-96x96.png

9.42 KB
Loading

0 commit comments

Comments
 (0)