Skip to content

jaybeeuu/jaybeeuu-dev

Repository files navigation

Jaybeeuu

CircleCI

codecov

Welcome to my monorepo! The code in here is used to build and run my blog. There are various tools in here, this readme will get you started and describe the structure of the packages.

Getting Started

You will need node.js. I use nvm for windows (since I dev on a windows machine atm). .nvmrc has the version of node.js you need.

nvm install

Once you have node.js then you will able to run the following:

npm i -g pnpm
pnpm install
pnpm build
pnpm test
pnpm gen-certs
pnpm start --filter @jaybeeuu/site

That will install pnpm, install the dependencies for the packages, build and test the packages, generate development SSL certificates and finally start the site. After that you are away. Head to https://localhost:3443 to see the site.

I use VSCode to develop and the repo contains launch configs, settings and extension recommendations to help setup and get going.

Packages

Name Path Version Description
@jaybeeuu/compost /packages/compost npm A CLI tool used to compile markdown posts into HTML.
@jaybeeuu/e2e /packages/e2e Cypress end to end tests for the blog.
@jaybeeuu/e2e-hooks /packages/e2e-hooks A collection of css classes used to hook into the application for e2e tets.
@jaybeeuu/eslint-config /packages/eslint-config npm The base eslint configurations I use throughout the repo.
@jaybeeuu/feed-webpack-plugin /packages/feed-webpack-plugin npm A webpack plugin wrapper for feed.
@jaybeeuu/posts /packages/posts The markdown source and metadata for posts on my blog.
@jaybeeuu/preact-async /packages/preact-async npm Some tools for workign with async code in Preact.
@jaybeeuu/preact-recoilless /packages/preact-recoilless npm Preact bindings for recoilless.
@jaybeeuu/reading-time-cli /packages/reading-time-cli npm A really simple Command Line Interface for reading-time.
@jaybeeuu/recoilless /packages/recoilless npm A (bit too) fully fledged state management library similar to recoil.
@jaybeeuu/scripts /packages/scripts CLI scripts used to setup the environment.
@jaybeeuu/site /packages/site The main site.
@jaybeeuu/utilities /packages/utilities npm A few general purpose, useful bits of code used across the other packages.

Package.json scripts

Command Description
build Builds all the packages in the repo.
build-changes Builds all the packages that have changed since main.
clean Cleans the repo. All untracked files and directories are removed.
e2e Runs the e2e tests. Add run to ru them headless or open to open the cypress UI.
format Formats files in the repo.
format-check Checks the format of files in the repo.
gen-certs Generates the SSL certificates in all the packages which need them.
lint Lints the packages with markdown-lint or eslint.
spell-check Spell checks markdown in the application.
start-all Starts all the packages in watch mode.
test Runs the unit tests using jest projects.
test-debug Runs the unit tests but uses the --inspect node option to open the debug port.
type-check Runs typescript type checks in the packages.