mirror of
https://github.com/leptos-rs/leptos
synced 2024-11-10 06:44:17 +00:00
7a34d6026f
* refactor(cargo-make): extract node * refactor(cargo-make): extract lint * refactor(counters_stable): remove redundant tasks * docs(cargo-make): remove descriptions * refactor(counters_stable): streamline stages
43 lines
990 B
TOML
43 lines
990 B
TOML
[tasks.setup-node]
|
|
description = "Install node dependencies and playwright browsers"
|
|
env = { PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD = "1" }
|
|
script = '''
|
|
BOLD="\e[1m"
|
|
GREEN="\e[0;32m"
|
|
RED="\e[0;31m"
|
|
RESET="\e[0m"
|
|
|
|
project_dir=$CARGO_MAKE_WORKING_DIRECTORY
|
|
|
|
# Discover commands
|
|
if command -v pnpm; then
|
|
NODE_CMD=pnpm
|
|
PLAYWRIGHT_CMD=pnpm
|
|
elif command -v npm; then
|
|
NODE_CMD=npm
|
|
PLAYWRIGHT_CMD=npx
|
|
else
|
|
echo "${RED}${BOLD}ERROR${RESET} - pnpm or npm is required by this task"
|
|
exit 1
|
|
fi
|
|
|
|
# Install node dependencies
|
|
for node_path in $(find . -name package.json -not -path '*/node_modules/*')
|
|
do
|
|
node_dir=$(dirname $node_path)
|
|
echo Install node dependencies for $node_dir
|
|
cd $node_dir
|
|
${NODE_CMD} install
|
|
cd ${project_dir}
|
|
done
|
|
|
|
# Install playwright browsers
|
|
for pw_path in $(find . -name playwright.config.ts)
|
|
do
|
|
pw_dir=$(dirname $pw_path)
|
|
echo Install playwright browsers for $pw_dir
|
|
cd $pw_dir
|
|
${PLAYWRIGHT_CMD} playwright install
|
|
cd $project_dir
|
|
done
|
|
'''
|