diff --git a/.github/assets/readme/assert-node.png b/.github/assets/readme/assert-node.png
deleted file mode 100644
index 84ea5ff1..00000000
Binary files a/.github/assets/readme/assert-node.png and /dev/null differ
diff --git a/.github/assets/readme/assert-poku.png b/.github/assets/readme/assert-poku.png
deleted file mode 100644
index b28d0279..00000000
Binary files a/.github/assets/readme/assert-poku.png and /dev/null differ
diff --git a/.github/assets/readme/bun.svg b/.github/assets/readme/bun.svg
deleted file mode 100644
index 697768cb..00000000
--- a/.github/assets/readme/bun.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/.github/assets/readme/deno.svg b/.github/assets/readme/deno.svg
deleted file mode 100644
index dbe90261..00000000
--- a/.github/assets/readme/deno.svg
+++ /dev/null
@@ -1 +0,0 @@
-Deno
\ No newline at end of file
diff --git a/.github/assets/readme/node-js.svg b/.github/assets/readme/node-js.svg
deleted file mode 100644
index a81076f3..00000000
--- a/.github/assets/readme/node-js.svg
+++ /dev/null
@@ -1 +0,0 @@
-Node.js
\ No newline at end of file
diff --git a/.github/assets/readme/parallel.png b/.github/assets/readme/parallel.png
deleted file mode 100644
index 1b8b55a9..00000000
Binary files a/.github/assets/readme/parallel.png and /dev/null differ
diff --git a/.github/assets/readme/plus.svg b/.github/assets/readme/plus.svg
deleted file mode 100644
index 348a761a..00000000
--- a/.github/assets/readme/plus.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.github/assets/readme/sequential.png b/.github/assets/readme/sequential.png
deleted file mode 100644
index 19c0e1d5..00000000
Binary files a/.github/assets/readme/sequential.png and /dev/null differ
diff --git a/.github/assets/readme/typescript.svg b/.github/assets/readme/typescript.svg
deleted file mode 100644
index 76dbcf59..00000000
--- a/.github/assets/readme/typescript.svg
+++ /dev/null
@@ -1 +0,0 @@
-TypeScript
\ No newline at end of file
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 0773d261..43a5b56e 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -4,8 +4,8 @@ updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
- interval: 'daily'
+ interval: 'weekly'
- package-ecosystem: 'npm'
directory: '/website'
schedule:
- interval: 'daily'
+ interval: 'weekly'
diff --git a/website/docs/roadmaps/beginner.mdx b/website/docs/roadmaps/beginner.mdx
index 8a1b7117..5b6f10b1 100644
--- a/website/docs/roadmaps/beginner.mdx
+++ b/website/docs/roadmaps/beginner.mdx
@@ -1,12 +1,25 @@
---
+title: Beginner
+description: From a basic assertion test to its execution.
tags: [assert, assertion, tutorial, beginner, roadmap]
---
import Junior from '@site/static/img/junior.svg';
+
+
+
# Beginner Tutorial
-
+- From a basic assertion test to its execution.
+
+
+
+
+
+
## Assertions
@@ -28,7 +41,7 @@ Each _tester_ may have a different way of doing this, but the end is usually the
### In Practice
-#### Understanding ()
+#### Understanding conditions and assertions
In **JavaScript**, we can compare using `===`, right?
diff --git a/website/docs/roadmaps/mid-level.mdx b/website/docs/roadmaps/mid-level.mdx
index 63a4f7c7..c5f24aa0 100644
--- a/website/docs/roadmaps/mid-level.mdx
+++ b/website/docs/roadmaps/mid-level.mdx
@@ -1,12 +1,25 @@
---
-tags: [assert, assertion, tutorial, mid level, roadmap]
+title: Good Practices
+description: Organizing tests for different needs, requirements and approaches.
+tags: [assert, assertion, test, describe, it, tutorial, mid level, roadmap]
---
import MidLevel from '@site/static/img/mid-level.svg';
-# Mid Level Tutorial
+
+
-
+# Good Practices
+
+- Organizing tests for different needs, requirements and approaches.
+
+
+
+
+
+
## Organizing the tests
@@ -164,32 +177,6 @@ test(async () => {
-## Running "Promise Tests" in parallel in the same file
-
-```js
-import { test, assert, sleep } from 'poku';
-
-test(async () => {
- const actual = 1;
- const expected = 1;
-
- await sleep(2000);
-
- assert.strictEqual(actual, expected);
-});
-
-test(async () => {
- const actual = 2;
- const expected = 2;
-
- await sleep(1000);
-
- assert.strictEqual(actual, expected);
-});
-```
-
-
-
## Running "Promise Tests" one-by-one in the same file (await top-level)
```js
diff --git a/website/sidebars.ts b/website/sidebars.ts
index 3d78166b..f5fbd833 100644
--- a/website/sidebars.ts
+++ b/website/sidebars.ts
@@ -23,6 +23,15 @@ const sidebars: SidebarsConfig = {
},
items: [{ type: 'autogenerated', dirName: 'examples' }],
},
+ {
+ type: 'category',
+ label: 'Quick Tutorials',
+ collapsed: true,
+ link: {
+ type: 'generated-index',
+ },
+ items: [{ type: 'autogenerated', dirName: 'roadmaps' }],
+ },
],
};
diff --git a/website/src/css/home.scss b/website/src/css/home.scss
index a402b2dc..6d9a699a 100644
--- a/website/src/css/home.scss
+++ b/website/src/css/home.scss
@@ -25,7 +25,7 @@
right: 0;
z-index: -2;
background-image: url('@site/static/img/bg.svg');
- opacity: 0.75;
+ opacity: 0.5;
}
&::after {
@@ -48,7 +48,6 @@
width: 100%;
margin: 0;
padding: 0;
- color: #fff;
overflow-y: auto;
overflow-x: hidden;
@@ -80,6 +79,7 @@
fill: #fff;
stroke: #fff;
opacity: 0.5;
+ filter: grayscale(1);
transition:
opacity 0.25s,
fill 0.25s,
@@ -90,6 +90,7 @@
color: #ff84df;
svg {
+ filter: none;
opacity: 1;
stroke: #ff84df;
fill: #ff84df;
@@ -142,11 +143,20 @@
font-style: normal;
font-variation-settings: 'wdth' 100;
text-shadow: 2px 2px 1px #242743ab;
+ color: #fff;
- @media (max-width: 720px) {
+ @media (max-width: 920px) {
font-size: 50px;
}
+ @media (max-width: 760px) {
+ max-width: 480px;
+ }
+
+ @media (max-width: 440px) {
+ font-size: 36px;
+ }
+
.typing {
animation-name: color-title;
animation-duration: 25s;
@@ -160,6 +170,22 @@
gap: 25px;
padding: 50px;
+ small {
+ @include flex(row, center, center);
+ gap: 5px;
+ text-align: center;
+
+ svg {
+ width: 20px;
+ height: 20px;
+ stroke-width: 1.5px;
+ animation-name: color-title;
+ animation-duration: 25s;
+ animation-timing-function: ease-in-out;
+ animation-iteration-count: infinite;
+ }
+ }
+
a {
@include flex(row, center, space-between);
gap: 10px;
@@ -169,6 +195,7 @@
font-size: 14px;
text-decoration: none;
text-transform: uppercase;
+ text-shadow: 1px 1px 1px #24274356;
color: #fff;
animation-name: bg-start;
animation-duration: 25s;
@@ -179,6 +206,7 @@
svg {
width: 18px;
height: 18px;
+ filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
&:hover {
@@ -187,9 +215,26 @@
}
}
+ & > p {
+ width: calc(25px + 480px * 2);
+ max-width: 100%;
+ margin: 0;
+ font-size: 14px;
+ font-weight: 500;
+ font-family: var(--ifm-font-family-base);
+ text-align: left;
+
+ a {
+ animation-name: color-title;
+ animation-duration: 25s;
+ animation-timing-function: ease-in-out;
+ animation-iteration-count: infinite;
+ }
+ }
+
& > nav {
@include flex(row, stretch, center, wrap);
- gap: 15px;
+ gap: 35px 25px;
width: 100%;
section {
@@ -197,22 +242,26 @@
width: 480px;
max-width: 100%;
border-radius: 15px;
- background-color: #1e263b;
+ background-color: rgba(30, 38, 59, 0.35);
+ backdrop-filter: blur(2px);
padding: 15px 20px;
- box-shadow: 2.5px 2.5px 5px #00000069;
+ box-shadow: 1.5px 1.5px 7.5px #00000069;
h2,
h3 {
+ position: relative;
@include flex(row, flex-end, space-between);
- gap: 15px;
width: 100%;
padding-bottom: 10px;
margin-bottom: 10px;
border-bottom: 2px dashed #ffffff10;
+ text-align: left;
font-size: 16px;
color: #d5daea;
span {
+ padding-right: 60px;
+
em {
font-weight: 400;
color: #98a1bc;
@@ -220,16 +269,30 @@
}
svg {
- width: 80px;
- min-width: 80px;
+ width: 50px;
+ min-width: 50px;
filter: drop-shadow(2.5px 2.5px 2.5px #00000025);
}
+
+ &.float {
+ margin-top: 40px;
+
+ svg {
+ position: absolute;
+ top: -70px;
+ right: -25px;
+ width: 80px;
+ min-width: 80px;
+ filter: drop-shadow(2.5px 2.5px 2.5px #00000025);
+ }
+ }
}
h3 {
svg {
- width: 70px;
- min-width: 70px;
+ padding: 10px;
+ width: 72px;
+ min-width: 72px;
}
}
@@ -241,43 +304,54 @@
p {
color: #98a1bc;
+
+ svg {
+ height: 14px;
+ transform: translate(-3.5px, 1px);
+ }
}
}
- button,
a {
font-size: 14px;
animation-name: color-title;
animation-duration: 25s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
- }
-
- button {
- background-color: unset;
- border: none;
- cursor: pointer;
- &:hover {
- text-decoration: underline;
+ svg {
+ transform: translateY(3px);
+ height: 16px;
}
}
}
}
& > h2 {
- padding: 50px;
+ padding: 25px 0;
+ margin-top: 50px;
+ text-align: left;
+ width: calc(25px + 480px * 2);
+ max-width: 100%;
+
+ @media (max-width: 1034px) {
+ width: 480px;
+ }
span {
&.feat {
color: #ff84df;
}
}
+
+ &:first-of-type {
+ margin-top: 25px;
+ }
}
& > menu {
@include flex(row, stretch, center, wrap);
- gap: 30px 15px;
+ gap: 35px 25px;
width: 100%;
margin: 0;
padding: 0;
@@ -288,9 +362,24 @@
max-width: 100%;
h3 {
+ @include flex(row, center, flex-start);
+ width: 100%;
font-size: 16px;
color: #d5daea;
padding-bottom: 10px;
+
+ svg {
+ height: 24px;
+ fill: #435a8a96 !important;
+
+ path {
+ fill: #435a8a96 !important;
+ }
+
+ & + svg {
+ margin-left: 10px;
+ }
+ }
}
}
}
@@ -301,6 +390,7 @@
gap: 5px;
width: 100%;
font-size: 13px;
+ margin-top: 50px;
margin-bottom: 50px;
h4 {
@@ -332,8 +422,8 @@
width: 100%;
padding: 15px 20px;
border-radius: 10px;
- box-shadow: inset 1px 1px 5px 1px #150e208d;
- background-color: #1e263b;
+ box-shadow: 2.5px 2.5px 5px #00000037;
+ background-color: #1e263bbf;
font-family: Monaco, monospace;
font-size: 13px;
text-shadow: 2px 2px 2px #13152dab;
diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx
index d5ea3a4c..34413e48 100644
--- a/website/src/pages/index.tsx
+++ b/website/src/pages/index.tsx
@@ -3,15 +3,27 @@ import Head from '@docusaurus/Head';
import Heading from '@theme/Heading';
import { ReactTyped } from 'react-typed';
import { ConfettiButton } from '@site/src/components/Confetti';
-import { Album, Github, Heart } from 'lucide-react';
+import {
+ Album,
+ DatabaseZap,
+ Github,
+ Heart,
+ HeartHandshake,
+ Notebook,
+ PiggyBank,
+ Plus,
+} from 'lucide-react';
import Junior from '@site/static/img/junior.svg';
import MidLevel from '@site/static/img/mid-level.svg';
import Senior from '@site/static/img/senior.svg';
import Maintainer from '@site/static/img/maintainer.svg';
-import MySQL from '@site/static/img/mysql.svg';
import Silhouette from '@site/static/img/silhouette-darker.svg';
import SilhouetteOriginal from '@site/static/img/silhouette.svg';
import NPM from '@site/static/img/npm.svg';
+import NodeJS from '@site/static/img/node-js.svg';
+import TypeScript from '@site/static/img/typescript.svg';
+import Bun from '@site/static/img/bun.svg';
+import Deno from '@site/static/img/deno.svg';
// Asserts
import '@site/src/css/home.scss';
@@ -87,18 +99,32 @@ const Home = () => {
.
-
- Poku is and always will be{' '}
- free and open-source .
-
Start Here
+
+
+ Poku is and always will be{' '}
+ free and open-source
+
+
+
+
+ 🐷 What's Poku?
+
+ A cross-platform test runner that{' '}
+
+ brings the JavaScript essence back to testing
+
+ .
+
+
+ ⚡️ Quick Tutorials
-
+
Beginner (aka Junior)
@@ -112,79 +138,83 @@ const Home = () => {
- Beginner Assertion Tutorial 🧑🏻🎓
+ Beginner Assertion Tutorial
-
+
Mid Level
Organize your tests using test ,{' '}
- describe , and/or it .
+ describe , and/or it and
+ see how simple it is to create TDD and BDD {' '}
+ approaches with Poku .
- Tutorial on How to Organize Your Tests 🧙🏻
+ (Beta) Organizing Tests and Good Practices
-
+
- Package / Library Maintainer
+ Expert (aka Senior)
-
+
- Since Poku bings the{' '}
-
- native JavaScript syntax for testing
-
- , it's possible to run the same test suite for{' '}
- Node.js , Bun , and{' '}
- Deno to ensure that your package is
- compatible with the necessary platforms.
+ See how simple it's to handle your APIs , servers,
+ services, ports, processes, and even containers in the
+ background, plus mocks, coverage and end-to-end {' '}
+ tests.
- (Soon) Cross-Platform Tutorial 🔧
+
+ (Soon) Tutorial on Handling Processes and
+ Services
+
-
+
- Expert (aka Senior)
+ Library and Package Maintainer
-
+
- Feel right at home and see how simple it is to create{' '}
- TDD and BDD approaches with{' '}
- Poku , plus mocks with Poku {' '}
- +{' '}
-
- quibble
- {' '}
- and how to start your APIs , servers, services, and
- containers in the background ☕️
+ Run the exact same test suite for Node.js ,{' '}
+ Bun , and Deno (including
+ different versions) to ensure that your package is
+ compatible with the platforms you want.
+
+
+ There's no problem if your project is CJS ,{' '}
+ ESM or TypeScript .
- (Soon) Tutorial on Handling Processes and Services 🔬
+ (Soon) Cross-Platform Tutorial
- Who uses Poku?
+ 👥 Who uses Poku?
MySQL2 (node-mysql2)
-
+
@@ -193,7 +223,7 @@ const Home = () => {
MySQL2
{' '}
test suite, the first open-source project to adopt{' '}
- Poku 💙
+ Poku
@@ -205,20 +235,6 @@ const Home = () => {
and ES Modules , plus requiring different
versions of all platforms.
-
-
-
- {' '}
-
-
-
-
@@ -230,48 +246,62 @@ const Home = () => {
- Poku uses itself to test itself 🐷
+ After all,{' '}
+
+ Poku
+ {' '}
+ uses itself to test itself
- The tests guarantee 100% coverage whenever possible and are
- run with TypeScript without the need for
- compilation.
+ The tests are run with TypeScript without
+ the need for compilation.
- Poku is intended to be fully compatible
- from Node.js v8.10.0
onwards
- (although it is fully tested from Node.js {' '}
- v6.x.x
onwards), Deno {' '}
- v1.x.x
, and Bun {' '}
- v1.x.x
.
+ It's intended to be fully compatible from{' '}
+ Node.js v8.x
,{' '}
+ Deno v1.x
, and{' '}
+ Bun v1.x
onwards.
- And who knows? You could be next ⬇️
+ ⬇️ You Can Be Next
- Node.js + TypesScript
+
+
+
+
+
- Deno
+
+
+
diff --git a/website/static/img/bun.svg b/website/static/img/bun.svg
new file mode 100644
index 00000000..ba87d57a
--- /dev/null
+++ b/website/static/img/bun.svg
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/website/static/img/deno.svg b/website/static/img/deno.svg
new file mode 100644
index 00000000..da0cf5b6
--- /dev/null
+++ b/website/static/img/deno.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
diff --git a/website/static/img/mysql.svg b/website/static/img/mysql.svg
deleted file mode 100644
index 06fa8c3e..00000000
--- a/website/static/img/mysql.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/website/static/img/node-js.svg b/website/static/img/node-js.svg
new file mode 100644
index 00000000..61c82d76
--- /dev/null
+++ b/website/static/img/node-js.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/website/static/img/open.svg b/website/static/img/open.svg
deleted file mode 100644
index f1443722..00000000
--- a/website/static/img/open.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/website/static/img/social.png b/website/static/img/social.png
index 85e4a635..6a1b7217 100644
Binary files a/website/static/img/social.png and b/website/static/img/social.png differ
diff --git a/website/static/img/typescript.svg b/website/static/img/typescript.svg
new file mode 100644
index 00000000..01ed9867
--- /dev/null
+++ b/website/static/img/typescript.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+