Initialize dev

This commit is contained in:
Joururi
2023-04-25 11:28:02 +02:00
committed by GitHub
commit 77207ff039
22 changed files with 4806 additions and 0 deletions

5
.editorconfig Normal file
View File

@@ -0,0 +1,5 @@
root = true
[*/**]
indent_style = space
indent_size = 2

26
.eslintrc.cjs Normal file
View File

@@ -0,0 +1,26 @@
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution");
module.exports = {
root: true,
extends: [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/eslint-config-typescript/recommended",
"@vue/eslint-config-prettier",
],
env: {
browser: true,
amd: true,
node: true,
},
rules: {
"prettier/prettier": [
"error",
{
endOfLine: "auto",
},
],
"vue/multi-word-component-names": "off",
},
};

28
.gitignore vendored Normal file
View File

@@ -0,0 +1,28 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# maple
Small app to export and share project structures.

1
env.d.ts vendored Normal file
View File

@@ -0,0 +1 @@
/// <reference types="vite/client" />

13
index.html Normal file
View File

@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>

4545
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

38
package.json Normal file
View File

@@ -0,0 +1,38 @@
{
"name": "maple",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "run-p type-check build-only",
"preview": "vite preview --port 4173",
"build-only": "vite build",
"type-check": "vue-tsc --noEmit",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
},
"dependencies": {
"@tailwindcss/typography": "^0.5.4",
"@vueuse/core": "^10.1.0",
"pinia": "^2.0.35",
"vue": "^3.2.47",
"vue-router": "^4.1.6"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.1.0",
"@types/node": "^16.11.45",
"@vitejs/plugin-vue": "^4.1.0",
"@vue/eslint-config-prettier": "^7.1.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/tsconfig": "^0.1.3",
"autoprefixer": "^10.4.8",
"eslint": "^8.39.0",
"eslint-plugin-vue": "^9.0.0",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.23",
"prettier": "^2.5.1",
"sass": "^1.62.0",
"tailwindcss": "^3.3.1",
"typescript": "~4.7.4",
"vite": "^4.3.1",
"vue-tsc": "^0.38.8"
}
}

6
postcss.config.js Normal file
View File

@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
};

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

22
src/App.vue Normal file
View File

@@ -0,0 +1,22 @@
<script setup lang="ts">
import Navbar from "./components/navbar/Navbar.vue";
</script>
<template>
<div id="wrapper">
<Navbar />
<div id="content">
<RouterView />
</div>
</div>
</template>
<style scoped>
#wrapper {
min-height: 100dvh;
min-height: 100vh;
display: grid;
grid-template-rows: auto 1fr;
}
</style>

9
src/assets/main.css Normal file
View File

@@ -0,0 +1,9 @@
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
body {
@apply text-slate-300 bg-slate-950
}

View File

@@ -0,0 +1,5 @@
<template>
<nav class="bg-slate-900">
<div class="container py-4">Menu</div>
</nav>
</template>

14
src/main.ts Normal file
View File

@@ -0,0 +1,14 @@
import { createApp } from "vue";
import { createPinia } from "pinia";
import App from "./App.vue";
import router from "./router";
import "./assets/main.css";
const app = createApp(App);
app.use(createPinia());
app.use(router);
app.mount("#app");

15
src/router/index.ts Normal file
View File

@@ -0,0 +1,15 @@
import { createRouter, createWebHistory } from "vue-router";
import HomeView from "../views/HomeView.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/",
name: "home",
component: HomeView,
},
],
});
export default router;

14
src/stores/project.ts Normal file
View File

@@ -0,0 +1,14 @@
import { defineStore } from "pinia";
import type { JSONContent } from "@tiptap/vue-3";
export const useProjectStore = defineStore("projects", {
state: () => ({
project: [] as JSONContent[],
}),
actions: {
setProjectData(project: Array<JSONContent>) {
this.$state.project = project;
},
},
});

7
src/views/HomeView.vue Normal file
View File

@@ -0,0 +1,7 @@
<script lang="ts" setup></script>
<template>
<div>
<main class="container py-4">Main</main>
</div>
</template>

14
tailwind.config.js Normal file
View File

@@ -0,0 +1,14 @@
/** @type {import('tailwindcss').Config} */
module.exports = {
content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
theme: {
fontFamily: {
sans: ["Open Sans", "system-ui", "Lato", "sans-serif"],
},
container: {
padding: "2rem",
center: true,
},
},
plugins: [],
};

8
tsconfig.config.json Normal file
View File

@@ -0,0 +1,8 @@
{
"extends": "@vue/tsconfig/tsconfig.node.json",
"include": ["vite.config.*", "vitest.config.*", "cypress.config.*"],
"compilerOptions": {
"composite": true,
"types": ["node"]
}
}

16
tsconfig.json Normal file
View File

@@ -0,0 +1,16 @@
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"]
}
},
"references": [
{
"path": "./tsconfig.config.json"
}
]
}

14
vite.config.ts Normal file
View File

@@ -0,0 +1,14 @@
import { fileURLToPath, URL } from "node:url";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
});