From 98a6ce636127c9a1b39311809cb796861e9158ee Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Wed, 11 Jan 2023 17:25:39 -0500 Subject: [PATCH] boilerplate files --- .eslintignore | 13 +++++++++++ .eslintrc.cjs | 15 +++++++++++++ .gitignore | 11 ++++++++++ README.md | 38 +++++++++++++++++++++++++++++++++ histoire.config.js | 6 ++++++ jsconfig.json | 17 +++++++++++++++ package.json | 31 ++++++++++++++++++++++++--- playwright.config.js | 10 +++++++++ src/app.d.ts | 9 ++++++++ src/app.html | 12 +++++++++++ src/histoire.setup.svelte | 5 +++++ src/index.test.js | 7 ++++++ src/lib/components/Beer.svelte | 11 ++++++++++ static/favicon.png | Bin 0 -> 1571 bytes svelte.config.js | 10 +++++++++ tests/test.js | 6 ++++++ vite.config.js | 11 ++++++++++ 17 files changed, 209 insertions(+), 3 deletions(-) create mode 100644 .eslintignore create mode 100644 .eslintrc.cjs create mode 100644 .gitignore create mode 100644 README.md create mode 100644 histoire.config.js create mode 100644 jsconfig.json create mode 100644 playwright.config.js create mode 100644 src/app.d.ts create mode 100644 src/app.html create mode 100644 src/histoire.setup.svelte create mode 100644 src/index.test.js create mode 100644 src/lib/components/Beer.svelte create mode 100644 static/favicon.png create mode 100644 svelte.config.js create mode 100644 tests/test.js create mode 100644 vite.config.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..3897265 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,13 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example + +# Ignore files for PNPM, NPM and YARN +pnpm-lock.yaml +package-lock.json +yarn.lock diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..fab32bf --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,15 @@ +module.exports = { + root: true, + extends: ['eslint:recommended', 'prettier'], + plugins: ['svelte3'], + overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020 + }, + env: { + browser: true, + es2017: true, + node: true + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b8901d0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,11 @@ +.DS_Store +node_modules +/build +/.svelte-kit +/package +.env +.env.* +!.env.example +vite.config.js.timestamp-* +vite.config.ts.timestamp-* +pnpm-lock.yaml diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c91169 --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# create-svelte + +Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). + +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npm create svelte@latest + +# create a new project in my-app +npm create svelte@latest my-app +``` + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```bash +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +## Building + +To create a production version of your app: + +```bash +npm run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/histoire.config.js b/histoire.config.js new file mode 100644 index 0000000..a4288f9 --- /dev/null +++ b/histoire.config.js @@ -0,0 +1,6 @@ +import { defineConfig } from 'histoire'; +import { HstSvelte } from '@histoire/plugin-svelte'; + +export default defineConfig({ + plugins: [HstSvelte()] +}); diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..fbf28d5 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": false + } + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias and https://kit.svelte.dev/docs/configuration#files + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} diff --git a/package.json b/package.json index 4b6dfe5..beb1c72 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,36 @@ "name": "under-falling-skies", "version": "0.0.1", "private": true, - "scripts": {}, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", + "test": "playwright test", + "test:unit": "vitest", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "format": "prettier --plugin-search-dir . --write ." + }, "devDependencies": { + "@histoire/plugin-svelte": "^0.12.4", + "@playwright/test": "^1.28.1", + "@sveltejs/adapter-auto": "^1.0.0", + "@sveltejs/kit": "^1.0.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte3": "^4.0.0", + "histoire": "^0.12.4", "prettier": "^2.8.2", - "prettier-plugin-svelte": "^2.8.1" + "prettier-plugin-svelte": "^2.8.1", + "svelte": "^3.54.0", + "svelte-check": "^2.9.2", + "vite": "^4.0.0", + "vitest": "^0.25.3" }, "type": "module", - "dependencies": {} + "dependencies": { + "beercss": "^3.0.4", + "material-dynamic-colors": "^0.1.5" + } } diff --git a/playwright.config.js b/playwright.config.js new file mode 100644 index 0000000..f0ba5d2 --- /dev/null +++ b/playwright.config.js @@ -0,0 +1,10 @@ +/** @type {import('@playwright/test').PlaywrightTestConfig} */ +const config = { + webServer: { + command: 'npm run build && npm run preview', + port: 4173 + }, + testDir: 'tests' +}; + +export default config; diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..26a9569 --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,9 @@ +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +// and what to do when importing types +declare namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface Platform {} +} diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..effe0d0 --- /dev/null +++ b/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/src/histoire.setup.svelte b/src/histoire.setup.svelte new file mode 100644 index 0000000..42c2b83 --- /dev/null +++ b/src/histoire.setup.svelte @@ -0,0 +1,5 @@ + + +; // import 'material-dynamic-colors'; diff --git a/src/index.test.js b/src/index.test.js new file mode 100644 index 0000000..e07cbbd --- /dev/null +++ b/src/index.test.js @@ -0,0 +1,7 @@ +import { describe, it, expect } from 'vitest'; + +describe('sum test', () => { + it('adds 1 + 2 to equal 3', () => { + expect(1 + 2).toBe(3); + }); +}); diff --git a/src/lib/components/Beer.svelte b/src/lib/components/Beer.svelte new file mode 100644 index 0000000..7a80208 --- /dev/null +++ b/src/lib/components/Beer.svelte @@ -0,0 +1,11 @@ + + diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH { + await page.goto('/'); + expect(await page.textContent('h1')).toBe('Welcome to SvelteKit'); +}); diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..652979f --- /dev/null +++ b/vite.config.js @@ -0,0 +1,11 @@ +import { sveltekit } from '@sveltejs/kit/vite'; + +/** @type {import('vite').UserConfig} */ +const config = { + plugins: [sveltekit()], + test: { + include: ['src/**/*.{test,spec}.{js,ts}'] + } +}; + +export default config;