From 8d99a63648d2ef58a5c21ca4b27316b4dced37e9 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:21:50 -0400 Subject: [PATCH 01/13] add vitest and testing-library --- package.json | 6 +++++- vitest.config.js | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 vitest.config.js diff --git a/package.json b/package.json index 710e89f..bfa5b6b 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,8 @@ "@sveltejs/adapter-static": "^1.0.0-next.28", "@sveltejs/kit": "^1.0.0-next.288", "@sveltejs/vite-plugin-svelte": "^1.0.0-next.38", + "@testing-library/svelte": "^3.1.1", + "@testing-library/user-event": "^13.5.0", "eslint": "^8.10.0", "eslint-config-prettier": "^8.4.0", "eslint-plugin-svelte3": "^3.4.1", @@ -25,7 +27,9 @@ "prettier-plugin-svelte": "^2.6.0", "standard-version": "^9.3.2", "storybook-builder-vite": "0.1.21", - "svelte": "^3.46.4" + "svelte": "^3.46.4", + "vitest": "^0.9.3", + "vitest-svelte-kit": "^0.0.6" }, "dependencies": { "@storybook/addon-essentials": "^6.4.19", diff --git a/vitest.config.js b/vitest.config.js new file mode 100644 index 0000000..78214f1 --- /dev/null +++ b/vitest.config.js @@ -0,0 +1,9 @@ +import { extractFromSvelteConfig } from "vitest-svelte-kit"; + +export default extractFromSvelteConfig().then((config) => ({ + ...config, + test: { + globals: true, + environment: "jsdom", + }, + })); From 6e819dbce6a373eca840b06dea7a632b213d88a4 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:22:28 -0400 Subject: [PATCH 02/13] set original thrust to 0 --- src/lib/shipDux/propulsion/drive.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/shipDux/propulsion/drive.js b/src/lib/shipDux/propulsion/drive.js index f165e7d..c6fbb48 100644 --- a/src/lib/shipDux/propulsion/drive.js +++ b/src/lib/shipDux/propulsion/drive.js @@ -7,7 +7,7 @@ import reqs from "../reqs.js"; const dux = new Updux({ subduxes: { reqs }, initial: { - rating: 1, + rating: 0, advanced: false, }, actions: { @@ -20,7 +20,7 @@ dux.setMutation("setDrive", (changes) => u(changes)); dux.setMutation("setDriveReqs", (reqs) => u({ reqs })); // needs to be at the top level -export const calculateDriveReqs = store => +export const calculateDriveReqs = (store) => createSelector( [ (ship) => ship.reqs.mass, @@ -29,7 +29,7 @@ export const calculateDriveReqs = store => ], (ship_mass, rating, advanced) => store.dispatch.setDriveReqs(calcDriveReqs(ship_mass, rating, advanced)) - ); + ); export function calcDriveReqs(shipMass, rating, advanced = false) { const mass = Math.ceil(rating * 0.05 * shipMass); From f9228916f336334461b766a7542f217925b0941c Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:23:25 -0400 Subject: [PATCH 03/13] add dux action 'resetShip' --- src/lib/shipDux/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/lib/shipDux/index.js b/src/lib/shipDux/index.js index bae5914..16f884c 100644 --- a/src/lib/shipDux/index.js +++ b/src/lib/shipDux/index.js @@ -25,6 +25,7 @@ const dux = new Updux({ setShipReqs: null, setUITransform: null, resetLayout: null, + resetShip: null, }, }); @@ -37,6 +38,8 @@ function resetUITransform(thing) { ); } +dux.setMutation("resetShip", () => () => dux.initial); + dux.setMutation("resetLayout", () => resetUITransform); dux.setMutation("setShipMass", (mass) => u({ reqs: { mass } })); From 9a37720c86c1ca50284f1655286329224b5c44c9 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:26:25 -0400 Subject: [PATCH 04/13] add test --- src/lib/components/Header.test.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/lib/components/Header.test.js diff --git a/src/lib/components/Header.test.js b/src/lib/components/Header.test.js new file mode 100644 index 0000000..1270067 --- /dev/null +++ b/src/lib/components/Header.test.js @@ -0,0 +1,10 @@ +import { test, expect } from "vitest"; +import { render } from "@testing-library/svelte"; + +import App from "./Header.svelte"; + +test("reset ship link is present", () => { + const { queryByText } = render(App); + + expect(queryByText("reset ship")).toBeTruthy(); +}); From 255b29601234e5c42180f51b70cb4dcd47abb550 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:27:33 -0400 Subject: [PATCH 05/13] remove a console.log --- src/lib/components/App.svelte | 69 +++++++++++++++++------------------ 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/src/lib/components/App.svelte b/src/lib/components/App.svelte index 2dd8b48..162c76b 100644 --- a/src/lib/components/App.svelte +++ b/src/lib/components/App.svelte @@ -1,54 +1,51 @@ - +
+ +
(activeTab = detail)} /> - -
activeTab = detail}/> - -
+
-
-
+
+
-
- -{#if activeTab === 'print'} - -{/if} +
+ {#if activeTab === "print"} + + {/if}
From ea3d36292cb03c484bb86f04eb775e64e9f27aae Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:28:36 -0400 Subject: [PATCH 06/13] add 'reset ship' link --- src/lib/components/Header.svelte | 136 +++++++++++++++++-------------- 1 file changed, 77 insertions(+), 59 deletions(-) diff --git a/src/lib/components/Header.svelte b/src/lib/components/Header.svelte index 26ecf9b..c0c9657 100644 --- a/src/lib/components/Header.svelte +++ b/src/lib/components/Header.svelte @@ -1,76 +1,94 @@
-

The Docks

-

- a Full Thrust ship builder -

- (showAbout = true)}>about the app +

The Docks

+

+ a Full Thrust ship + builder +

+ (showAbout = true)}>about the app
-
- - editor - json view - print view - + - + From 78af4eac2843a1b8e0649f142185f886d540c238 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 12:59:37 -0400 Subject: [PATCH 07/13] add version to the about component --- src/lib/components/About.svelte | 51 ++++++++++++-------------------- src/lib/components/About.test.js | 11 +++++++ svelte.config.js | 5 ++++ 3 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 src/lib/components/About.test.js diff --git a/src/lib/components/About.svelte b/src/lib/components/About.svelte index 74a4977..421f42a 100644 --- a/src/lib/components/About.svelte +++ b/src/lib/components/About.svelte @@ -1,5 +1,9 @@ -

Welcome to the docks

+
+

Welcome to the docks

+ +

version {import.meta.env.PACKAGE_VERSION}

+

This app is a ship builder for the game @@ -25,47 +29,30 @@ Written by Yanick Champoux . Code available on - Github + Github.

-
diff --git a/src/lib/components/About.test.js b/src/lib/components/About.test.js new file mode 100644 index 0000000..e25dfe2 --- /dev/null +++ b/src/lib/components/About.test.js @@ -0,0 +1,11 @@ +import { test, expect } from "vitest"; +import { render } from "@testing-library/svelte"; + +import About from "./About.svelte"; + +test("version is present", () => { + import.meta.env.PACKAGE_VERSION = '1.2.3'; + const { queryByText } = render(About); + + expect(queryByText(/version 1.2.3/)).toBeTruthy(); +}); diff --git a/svelte.config.js b/svelte.config.js index 8940ae6..da83039 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -8,6 +8,11 @@ export default { adapter: adapter({ fallback: "index.html" }), paths: { base: dev ? "" : "/aotds-docks" }, vite: { + define: { + "import.meta.env.PACKAGE_VERSION": JSON.stringify( + process.env.npm_package_version + ), + }, build: { rollupOptions: { plugins: [analyze()], From 49cc4eb4b2ebcd2452e31f187596cde2f75a37f1 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 17:50:05 -0400 Subject: [PATCH 09/13] add showdown for the markdown conversion --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index bfa5b6b..fac5e60 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "eslint-plugin-svelte3": "^3.4.1", "prettier": "~2.5.1", "prettier-plugin-svelte": "^2.6.0", + "showdown": "^2.0.3", "standard-version": "^9.3.2", "storybook-builder-vite": "0.1.21", "svelte": "^3.46.4", From f44de3ab6ba9c701d683cb7d757019821a719960 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 17:50:37 -0400 Subject: [PATCH 10/13] incorporate the changelog comp generation to standard-version --- .versionrc.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.versionrc.json b/.versionrc.json index b4a1cf4..b49c3dc 100644 --- a/.versionrc.json +++ b/.versionrc.json @@ -1,4 +1,7 @@ { + "scripts": { + "postchangelog": "gotask changelog" + }, "types": [ { "type": "feat", "section": "Features" }, { "type": "fix", "section": "Bug Fixes" }, From d4743390c74e387aa3d23af1620a26c1fd6db425 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 17:51:19 -0400 Subject: [PATCH 11/13] add a Taskfile --- .gitignore | 1 + Taskfile.yml | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 Taskfile.yml diff --git a/.gitignore b/.gitignore index 7d5a785..4b43a61 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ package-lock.json .temp node_modules/ dist/yarn-error.log +.task/ diff --git a/Taskfile.yml b/Taskfile.yml new file mode 100644 index 0000000..cddf613 --- /dev/null +++ b/Taskfile.yml @@ -0,0 +1,22 @@ +# https://taskfile.dev + +version: "3" + +vars: + GREETING: Hello, World! + +tasks: + release: + cmds: + - standard-version -a + changelog: + sources: [CHANGELOG.md] + generates: [src/lib/components/Changelog.svelte] + cmds: + - pnpx showdown makehtml -i CHANGELOG.md -o src/lib/components/Changelog.svelte + - git add src/lib/components/Changelog.svelte + + default: + cmds: + - echo "{{.GREETING}}" + silent: true From 89fb27ff9fb8794b4a19d20bff17c0d08e355d1c Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 17:51:31 -0400 Subject: [PATCH 12/13] add Changelog component --- src/lib/components/About.svelte | 94 ++++++++++++++------- src/lib/components/Changelog.stories.svelte | 15 ++++ src/lib/components/Changelog.svelte | 38 +++++++++ 3 files changed, 117 insertions(+), 30 deletions(-) create mode 100644 src/lib/components/Changelog.stories.svelte create mode 100644 src/lib/components/Changelog.svelte diff --git a/src/lib/components/About.svelte b/src/lib/components/About.svelte index 421f42a..364478c 100644 --- a/src/lib/components/About.svelte +++ b/src/lib/components/About.svelte @@ -1,40 +1,55 @@ - -
-

Welcome to the docks

+{#if showChangelog} + +

Changelog for the Docks

+
+ +
+
+{:else} + +
+

Welcome to the docks

-

version {import.meta.env.PACKAGE_VERSION}

-
+
+
version {import.meta.env.PACKAGE_VERSION}
+ (showChangelog = true)}>changelog +
+
-

- This app is a ship builder for the game - Full Thrust - . -

+

+ This app is a ship builder for the game + Full Thrust + . +

-

- The contruction rules are following the - - Cross Dimensions rules - - as closely as possible. -

+

+ The contruction rules are following the + + Cross Dimensions rules + + as closely as possible. +

-

- The app is mostly developed for Firefox. I also check as much as I can that - I don't mess things too badly on Chrome. For the other browsers... caveat - emptor. -

+

+ The app is mostly developed for Firefox. I also check as much as I can + that I don't mess things too badly on Chrome. For the other browsers... + caveat emptor. +

-

- Written by - Yanick Champoux - . Code available on - Github. -

-
+

+ Written by + Yanick Champoux + . Code available on + Github. +

+ +{/if} diff --git a/src/lib/components/Changelog.stories.svelte b/src/lib/components/Changelog.stories.svelte new file mode 100644 index 0000000..183f8b9 --- /dev/null +++ b/src/lib/components/Changelog.stories.svelte @@ -0,0 +1,15 @@ + + + + + + + diff --git a/src/lib/components/Changelog.svelte b/src/lib/components/Changelog.svelte new file mode 100644 index 0000000..0cf664c --- /dev/null +++ b/src/lib/components/Changelog.svelte @@ -0,0 +1,38 @@ +

Changelog

+

+ All notable changes to this project will be documented in this file. See standard-version for commit guidelines. +

+

+ 2.3.0 (2022-04-17) +

+

Features

+
    +
  • +

    + add 'reset ship' button [GH#15] 49fc8d5 +

    +
  • +
  • add version to About component 919f286, closes #6

  • +
  • release: 2.3.0 4d10119

  • +
+

+ 2.2.0 (2022-04-11) +

+

Features

+
    +
  • allow to edit the print layout 381d497
  • +
+

+ 2.1.0 (2022-04-07) +

+

Features

+
    +
  • add localStorage memory bf7206a

  • +
  • can move main system comps in the print output b425f4a

  • +
  • add standard-version 2fd047f

  • +
From 82331d1f26cf4355dcb465c3a3391d0ab2679a56 Mon Sep 17 00:00:00 2001 From: Yanick Champoux Date: Sun, 17 Apr 2022 17:53:31 -0400 Subject: [PATCH 13/13] chore(release): 2.3.0 --- CHANGELOG.md | 21 ++++++++++----- package.json | 2 +- src/lib/components/Changelog.svelte | 41 +++++++++-------------------- 3 files changed, 28 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0452040..26f62a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,20 +2,29 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. -## [2.2.0](///compare/v2.1.0...v2.2.0) (2022-04-11) +## 2.3.0 (2022-04-17) ### Features -* allow to edit the print layout 381d497 +* add 'reset ship' button +* add changelog to app +* add version to About component -## [2.1.0](///compare/v2.0.0...v2.1.0) (2022-04-07) +## 2.2.0 (2022-04-11) ### Features -* add localStorage memory bf7206a -* can move main system comps in the print output b425f4a +* allow to edit the print layout + +## 2.1.0 (2022-04-07) -* add standard-version 2fd047f +### Features + +* add localStorage memory +* can move main system comps in the print output + + +* add standard-version diff --git a/package.json b/package.json index fac5e60..04343df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "aotds-docks", - "version": "2.2.0", + "version": "2.3.0", "type": "module", "private": true, "scripts": { diff --git a/src/lib/components/Changelog.svelte b/src/lib/components/Changelog.svelte index 0cf664c..986e393 100644 --- a/src/lib/components/Changelog.svelte +++ b/src/lib/components/Changelog.svelte @@ -1,38 +1,21 @@

Changelog

-

- All notable changes to this project will be documented in this file. See standard-version for commit guidelines. -

-

- 2.3.0 (2022-04-17) -

+

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

+

2.3.0 (2022-04-17)

Features

    -
  • -

    - add 'reset ship' button [GH#15] 49fc8d5 -

    -
  • -
  • add version to About component 919f286, closes #6

  • -
  • release: 2.3.0 4d10119

  • +
  • add 'reset ship' button
  • +
  • add changelog to app
  • +
  • add version to About component
-

- 2.2.0 (2022-04-11) -

+

2.2.0 (2022-04-11)

Features

    -
  • allow to edit the print layout 381d497
  • +
  • allow to edit the print layout
-

- 2.1.0 (2022-04-07) -

+

2.1.0 (2022-04-07)

Features

    -
  • add localStorage memory bf7206a

  • -
  • can move main system comps in the print output b425f4a

  • -
  • add standard-version 2fd047f

  • -
+
  • add localStorage memory

  • +
  • can move main system comps in the print output

  • +
  • add standard-version

  • + \ No newline at end of file