-
Node.js: It is recommended to use nvm and run
nvm use, this will automatically switch to the Node.js version mentioned in the file.nvmrc.
Alternatively you can install Node.js directly, please refer to.nvmrcof this project to determine the Node.js version to use. -
pnpm: This monorepo ("workspace") uses
pnpmas package manager.
It is recommended to usecorepackof Node.js, just run:corepack enablepnpmcommands should now be available (and thepnpmversion specified inpackage.json#packageManagerwill be automatically used). -
Toolchain for native Node.js modules: Run the installation instructions "A C/C++ compiler tool chain for your platform" of microsoft/vscode/wiki/How-to-Contribute#prerequisites.
./apps/pkerschbaum.com: the homepage./packages: libraries./platform: configurations and tools for the monorepo
-
Install all dependencies:
pnpm install
-
Run an initial build:
pnpm run build
-
Run watcher for the libraries:
pnpm dev
-
Start a local instance of
@pkerschbaum-homepage/web:pnpm --filter=web run dev
See scripts of ./package.json for available scripts in the workspace.
To fetch the favicons for all articles, run internal:fetch-favicons and internal:generate-css-modules in ./apps/pkerschbaum.com.
Note: This command will also run Puppeteer.
If you have some errors with Puppeteer, like "error while loading shared libraries: libatk-1.0.so.0", make sure you have installed all dependencies on your system necessary to run Puppeteer/Chrome.
One way to get all dependencies is to just install Chrome. For Ubuntu, execute this command in a temporary directory:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt install ./google-chrome-stable_current_amd64.deb
See also this link for more information: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md.