remove icons, decrease bundle size

This commit is contained in:
Ludvík Prokopec 2022-12-04 00:24:44 +01:00
parent a137a9bd5a
commit 42acf5f658
8 changed files with 61 additions and 115 deletions

View File

@ -2,6 +2,8 @@
Blazing fast development with done backend and fully-prepared frontend. Blazing fast development with done backend and fully-prepared frontend.
CMS ready!
## Appwrite installation ## Appwrite installation
[Appwrite installation](https://appwrite.io/docs/installation) [Appwrite installation](https://appwrite.io/docs/installation)
@ -17,11 +19,11 @@ Blazing fast development with done backend and fully-prepared frontend.
* oauth * oauth
* folder structure * folder structure
* common components * common components
* simple icons
* service worker * service worker
* path aliases * path aliases
* database realtime subscribers * database realtime subscribers
* i18n * i18n
* cms
* vite * vite
* prettier * prettier
* editorconfig * editorconfig
@ -73,18 +75,17 @@ Blazing fast development with done backend and fully-prepared frontend.
</main> </main>
``` ```
## Social auth icons ## Social auth
```svelte ```svelte
<script> <script>
import { Github } from '@icons-pack/svelte-simple-icons'
import Layout from '$lib/components/Layout' import Layout from '$lib/components/Layout'
import { account, url } from '$lib/stores/appwrite' import { account, url } from '$lib/stores/appwrite'
</script> </script>
<Layout> <Layout>
<button on:click={() => account.createOAuth2Session('github', url.oauth.success, url.oauth.failure)}> <button on:click={() => account.createOAuth2Session('github', url.oauth.success, url.oauth.failure)}>
<Github /> Github
</button> </button>
</Layout> </Layout>
``` ```
@ -127,5 +128,39 @@ Locale file `src/locales/en.json`
## path aliases ## path aliases
`$lib` = `src/lib` `$lib` = `src/lib`
`$root` = `/` `$root` = `/`
`$src` = `src` `$src` = `src`
`$cms` = `cms`
## commands
```bash
npm run dev
```
```bash
npm run build
```
```bash
npm run preview
```
```bash
npm run appwrite
```
```bash
npm run cms:dev
```
```bash
npm run cms:build
```
```bash
npm run cms:preview
```

View File

@ -17,7 +17,7 @@
<main> <main>
{#if !$isLoading} {#if !$isLoading}
<Router basepath="/cms"> <Router>
<Route path="/" component={Index} /> <Route path="/" component={Index} />
</Router> </Router>
{/if} {/if}

10
cms/vite.config.js Normal file
View File

@ -0,0 +1,10 @@
import { defineConfig } from 'vite'
import { config } from '../vite.config'
// https://vitejs.dev/config/
export default defineConfig({
...config,
server: {
port: 3000
}
})

90
package-lock.json generated
View File

@ -9,7 +9,6 @@
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"@bytemd/plugin-gfm": "^1.17.4", "@bytemd/plugin-gfm": "^1.17.4",
"@icons-pack/svelte-simple-icons": "^3.0.0",
"appwrite": "^10.1.0", "appwrite": "^10.1.0",
"bytemd": "^1.17.4", "bytemd": "^1.17.4",
"svelte-i18n": "^3.6.0", "svelte-i18n": "^3.6.0",
@ -40,30 +39,6 @@
"bytemd": "^1.5.0" "bytemd": "^1.5.0"
} }
}, },
"node_modules/@changesets/changelog-github": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz",
"integrity": "sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew==",
"dependencies": {
"@changesets/get-github-info": "^0.5.1",
"@changesets/types": "^5.2.0",
"dotenv": "^8.1.0"
}
},
"node_modules/@changesets/get-github-info": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz",
"integrity": "sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw==",
"dependencies": {
"dataloader": "^1.4.0",
"node-fetch": "^2.5.0"
}
},
"node_modules/@changesets/types": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz",
"integrity": "sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA=="
},
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.15.16", "version": "0.15.16",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.16.tgz",
@ -149,15 +124,6 @@
"npm": ">= 5.0.0" "npm": ">= 5.0.0"
} }
}, },
"node_modules/@icons-pack/svelte-simple-icons": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@icons-pack/svelte-simple-icons/-/svelte-simple-icons-3.0.0.tgz",
"integrity": "sha512-jMa219mov56aUieU3n0HujxYc9NEv9aPusFN4B7tF+2+xFNpUNJ/RaHpvXnhEdBYsq8R/HnxCdmYnAx/XPjKIA==",
"dependencies": {
"@changesets/changelog-github": "^0.4.4",
"svelte": "^3.23.2"
}
},
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -721,11 +687,6 @@
"type": "^1.0.1" "type": "^1.0.1"
} }
}, },
"node_modules/dataloader": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw=="
},
"node_modules/debug": { "node_modules/debug": {
"version": "4.3.4", "version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@ -838,14 +799,6 @@
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
"dev": true "dev": true
}, },
"node_modules/dotenv": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
"integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==",
"engines": {
"node": ">=10"
}
},
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.284", "version": "1.4.284",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",
@ -3927,30 +3880,6 @@
"remark-gfm": "^3.0.1" "remark-gfm": "^3.0.1"
} }
}, },
"@changesets/changelog-github": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.4.7.tgz",
"integrity": "sha512-UUG5sKwShs5ha1GFnayUpZNcDGWoY7F5XxhOEHS62sDPOtoHQZsG3j1nC5RxZ3M1URHA321cwVZHeXgu99Y3ew==",
"requires": {
"@changesets/get-github-info": "^0.5.1",
"@changesets/types": "^5.2.0",
"dotenv": "^8.1.0"
}
},
"@changesets/get-github-info": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.5.1.tgz",
"integrity": "sha512-w2yl3AuG+hFuEEmT6j1zDlg7GQLM/J2UxTmk0uJBMdRqHni4zXGe/vUlPfLom5KfX3cRfHc0hzGvloDPjWFNZw==",
"requires": {
"dataloader": "^1.4.0",
"node-fetch": "^2.5.0"
}
},
"@changesets/types": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/@changesets/types/-/types-5.2.0.tgz",
"integrity": "sha512-km/66KOqJC+eicZXsm2oq8A8bVTSpkZJ60iPV/Nl5Z5c7p9kk8xxh6XGRTlnludHldxOOfudhnDN2qPxtHmXzA=="
},
"@esbuild/android-arm": { "@esbuild/android-arm": {
"version": "0.15.16", "version": "0.15.16",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.16.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.16.tgz",
@ -4014,15 +3943,6 @@
"resolved": "https://registry.npmjs.org/@icon-park/svg/-/svg-1.4.2.tgz", "resolved": "https://registry.npmjs.org/@icon-park/svg/-/svg-1.4.2.tgz",
"integrity": "sha512-1X0DA+1e0R0liYvw+Nb2BQmF1oEo/wS3o/JYkQYifPJXCGYij2vN9sJf/NNhbzDsJWTg4W2bbzZjJvC7Q4w4oQ==" "integrity": "sha512-1X0DA+1e0R0liYvw+Nb2BQmF1oEo/wS3o/JYkQYifPJXCGYij2vN9sJf/NNhbzDsJWTg4W2bbzZjJvC7Q4w4oQ=="
}, },
"@icons-pack/svelte-simple-icons": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@icons-pack/svelte-simple-icons/-/svelte-simple-icons-3.0.0.tgz",
"integrity": "sha512-jMa219mov56aUieU3n0HujxYc9NEv9aPusFN4B7tF+2+xFNpUNJ/RaHpvXnhEdBYsq8R/HnxCdmYnAx/XPjKIA==",
"requires": {
"@changesets/changelog-github": "^0.4.4",
"svelte": "^3.23.2"
}
},
"@nodelib/fs.scandir": { "@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -4441,11 +4361,6 @@
"type": "^1.0.1" "type": "^1.0.1"
} }
}, },
"dataloader": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw=="
},
"debug": { "debug": {
"version": "4.3.4", "version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@ -4522,11 +4437,6 @@
"integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
"dev": true "dev": true
}, },
"dotenv": {
"version": "8.6.0",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz",
"integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g=="
},
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.284", "version": "1.4.284",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz",

View File

@ -7,7 +7,10 @@
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "preview": "vite preview",
"appwrite": "docker compose -f ./appwrite/docker-compose.yml up" "appwrite": "docker compose -f ./appwrite/docker-compose.yml up",
"dev:cms": "vite ./cms",
"build:cms": "vite build ./cms",
"preview:cms": "vite preview ./cms"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/vite-plugin-svelte": "^1.1.0", "@sveltejs/vite-plugin-svelte": "^1.1.0",
@ -23,7 +26,6 @@
}, },
"dependencies": { "dependencies": {
"@bytemd/plugin-gfm": "^1.17.4", "@bytemd/plugin-gfm": "^1.17.4",
"@icons-pack/svelte-simple-icons": "^3.0.0",
"appwrite": "^10.1.0", "appwrite": "^10.1.0",
"bytemd": "^1.17.4", "bytemd": "^1.17.4",
"svelte-i18n": "^3.6.0", "svelte-i18n": "^3.6.0",

View File

@ -3,7 +3,7 @@
import { navigate } from 'svelte-routing' import { navigate } from 'svelte-routing'
export let to: string export let to: string
export let state: any export let state: any = null
export let replace = false export let replace = false
onMount(() => navigate(to, { replace, state })) onMount(() => navigate(to, { replace, state }))

View File

@ -1,13 +1,8 @@
<script lang="ts"> <script lang="ts">
import { Github } from '@icons-pack/svelte-simple-icons'
import { account, url } from '$lib/stores/appwrite' import { account, url } from '$lib/stores/appwrite'
import Layout from '$lib/components/Layout.svelte' import Layout from '$lib/components/Layout.svelte'
</script> </script>
<Layout> <Layout>
<h1>Sign in</h1> <h1>Sign in</h1>
<button on:click={() => account.createOAuth2Session('github', url.oauth.success, url.oauth.failure)}>
<Github />
</button>
</Layout> </Layout>

View File

@ -3,8 +3,7 @@ import { svelte } from '@sveltejs/vite-plugin-svelte'
import preprocess from "svelte-preprocess" import preprocess from "svelte-preprocess"
import path from 'path' import path from 'path'
// https://vitejs.dev/config/ export const config = {
export default defineConfig({
resolve: { resolve: {
alias: { alias: {
'$lib': path.resolve(__dirname, 'src', 'lib'), '$lib': path.resolve(__dirname, 'src', 'lib'),
@ -20,13 +19,8 @@ export default defineConfig({
postcss: true postcss: true
}) })
}) })
], ]
build: { }
rollupOptions: {
input: { // https://vitejs.dev/config/
app: path.resolve(__dirname, 'index.html'), export default defineConfig(config)
cms: path.resolve(__dirname, 'cms', 'index.html')
}
}
}
})