mirror of
https://github.com/srbhr/Resume-Matcher.git
synced 2026-01-19 07:19:56 +00:00
feat: enhance documentation and remove deprecated files
- Added a comprehensive Table of Contents to AGENTS.md for improved navigation. - Expanded documentation with new backend and frontend guides, detailing architecture, API contracts, and workflows. - Introduced new documents for backend architecture and requirements, outlining system design and API specifications. - Removed outdated Makefile and setup.sh scripts to streamline project setup. - Deleted yarn.lock to eliminate unnecessary dependency management files. - Updated AGENTS.md to reflect changes in documentation structure and links.
This commit is contained in:
47
AGENTS.md
47
AGENTS.md
@@ -1,9 +1,42 @@
|
||||
# Repository Guidelines
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Documentation](#documentation)
|
||||
- [Project Structure & Module Organization](#project-structure--module-organization)
|
||||
- [Build, Test, and Development Commands](#build-test-and-development-commands)
|
||||
- [Coding Style & Naming Conventions](#coding-style--naming-conventions)
|
||||
- [Testing Guidelines](#testing-guidelines)
|
||||
- [Commit & Pull Request Guidelines](#commit--pull-request-guidelines)
|
||||
- [LLM & AI Workflow Notes](#llm--ai-workflow-notes)
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
All project documentation is located in the `docs/` folder:
|
||||
|
||||
| Document | Description |
|
||||
|----------|-------------|
|
||||
| [backend-guide.md](docs/backend-guide.md) | Backend architecture, modules, and API endpoints |
|
||||
| [frontend-workflow.md](docs/frontend-workflow.md) | User flow, page routes, and component architecture |
|
||||
| [front-end-apis.md](docs/front-end-apis.md) | API contract between frontend and backend |
|
||||
| [style-guide.md](docs/style-guide.md) | Swiss International Style design system |
|
||||
| [backend-architecture.md](docs/backend-architecture.md) | Detailed backend architecture diagrams |
|
||||
| [frontend-architecture.md](docs/frontend-architecture.md) | Detailed frontend architecture diagrams |
|
||||
| [api-flow-maps.md](docs/api-flow-maps.md) | API request/response flow diagrams |
|
||||
| [design-system.md](docs/design-system.md) | Extended design system documentation |
|
||||
| [template-system.md](docs/template-system.md) | Resume template system documentation |
|
||||
| [print_pdf_design_spec.md](docs/print_pdf_design_spec.md) | PDF generation specifications |
|
||||
| [resume_template_design_spec.md](docs/resume_template_design_spec.md) | Resume template design specifications |
|
||||
| [i18n-preparation.md](docs/i18n-preparation.md) | Internationalization preparation notes |
|
||||
| [backend-requirements.md](docs/backend-requirements.md) | API contract specifications |
|
||||
| [review-todo.md](docs/review-todo.md) | Review checklist and TODOs |
|
||||
|
||||
## Project Structure & Module Organization
|
||||
|
||||
### Backend (`apps/backend/`)
|
||||
A lean FastAPI application with multi-provider AI support. See **[.backend-guide.md](.backend-guide.md)** for detailed architecture documentation.
|
||||
A lean FastAPI application with multi-provider AI support. See **[docs/backend-guide.md](docs/backend-guide.md)** for detailed architecture documentation.
|
||||
|
||||
- `app/main.py` - FastAPI entry point with CORS and router setup
|
||||
- `app/config.py` - Pydantic settings loaded from environment
|
||||
@@ -15,7 +48,7 @@ A lean FastAPI application with multi-provider AI support. See **[.backend-guide
|
||||
- `app/prompts/` - Simplified LLM prompt templates
|
||||
|
||||
### Frontend (`apps/frontend/`)
|
||||
Next.js dashboard with Swiss International Style design. See **[.frontend-workflow.md](.frontend-workflow.md)** for user flow and **[.front-end-apis.md](.front-end-apis.md)** for API contracts.
|
||||
Next.js dashboard with Swiss International Style design. See **[docs/frontend-workflow.md](docs/frontend-workflow.md)** for user flow and **[docs/front-end-apis.md](docs/front-end-apis.md)** for API contracts.
|
||||
|
||||
- `app/` - Next.js routes (dashboard, builder, tailor, resumes, settings, print)
|
||||
- `components/` - Reusable UI components (including `ConfirmDialog` with danger/success variants)
|
||||
@@ -28,20 +61,18 @@ Next.js dashboard with Swiss International Style design. See **[.frontend-workfl
|
||||
- Delete flow includes confirmation before and success message after deletion
|
||||
|
||||
### Root Tooling
|
||||
- `Makefile`, `setup.sh`, `package.json` - Workflow coordination
|
||||
- `backend-requirements.md` - API contract specifications
|
||||
- `.style-guide.md` - Swiss International Style design system
|
||||
- `package.json` - Workflow coordination and scripts
|
||||
|
||||
## Build, Test, and Development Commands
|
||||
- `npm run install` provisions the frontend and, via `uv`, the backend virtual environment.
|
||||
- `make run-dev` (or `npm run dev`) launches FastAPI on `:8000` and the UI on `:3000`; use `npm run dev:backend` or `npm run dev:frontend` to focus on a single tier.
|
||||
- Production builds: `npm run build` for both stacks, `npm run build:frontend` for UI-only, and `make build-prod` for a Makefile-driven bundle.
|
||||
- `npm run dev` launches FastAPI on `:8000` and the UI on `:3000`; use `npm run dev:backend` or `npm run dev:frontend` to focus on a single tier.
|
||||
- Production builds: `npm run build` for both stacks, `npm run build:frontend` for UI-only.
|
||||
- Quality checks: `npm run lint` for the UI, `npm run format` to apply Prettier.
|
||||
|
||||
## Coding Style & Naming Conventions
|
||||
|
||||
### Frontend (TypeScript/React)
|
||||
- **Design System**: All UI changes MUST follow the **Swiss International Style** in `.style-guide.md`.
|
||||
- **Design System**: All UI changes MUST follow the **Swiss International Style** in [docs/style-guide.md](docs/style-guide.md).
|
||||
- Use `font-serif` for headers, `font-mono` for metadata, `font-sans` for body text.
|
||||
- Color palette: `#F0F0E8` (Canvas), `#000000` (Ink), `#1D4ED8` (Hyper Blue), `#15803D` (Signal Green), `#F97316` (Alert Orange), `#DC2626` (Alert Red), `#4B5563` (Steel Grey).
|
||||
- Components: `rounded-none` with 1px black borders and hard shadows.
|
||||
|
||||
40
Makefile
40
Makefile
@@ -1,40 +0,0 @@
|
||||
.SHELL := /usr/bin/env bash
|
||||
|
||||
.PHONY: all help setup dev build clean
|
||||
|
||||
all: help
|
||||
|
||||
help:
|
||||
@echo "Usage: make [target]"
|
||||
@echo "Available targets:"
|
||||
@echo " setup Run the setup script to configure the project"
|
||||
@echo " run-dev Setup and start the development server (with graceful shutdown)"
|
||||
@echo " build-prod Build the project for production"
|
||||
@echo " start-prod Start the production server (after building)"
|
||||
@echo " run-prod Build and start the production server"
|
||||
@echo " clean Clean up generated artifacts"
|
||||
|
||||
setup:
|
||||
@echo "🔧 Running setup.sh…"
|
||||
@bash setup.sh
|
||||
|
||||
run-dev:
|
||||
@echo "🚀 Starting development server…"
|
||||
@bash -c 'trap "echo "\n🛑 Development server stopped"; exit 0" SIGINT; npm run dev'
|
||||
|
||||
build-prod:
|
||||
@echo "📦 Building for production…"
|
||||
@npm run build
|
||||
|
||||
start-prod:
|
||||
@echo "🚀 Starting production server…"
|
||||
@bash -c 'trap "echo "\n🛑 Production server stopped"; exit 0" SIGINT; npm run start'
|
||||
|
||||
run-prod: build-prod
|
||||
@echo "🚀 Starting production server…"
|
||||
@bash -c 'trap "echo "\n🛑 Production server stopped"; exit 0" SIGINT; npm run start'
|
||||
|
||||
clean:
|
||||
@echo "🧹 Cleaning artifacts…"
|
||||
# Add commands to clean build and temp files, e.g.:
|
||||
# rm -rf node_modules apps/backend/.venv apps/frontend/node_modules
|
||||
236
setup.sh
236
setup.sh
@@ -1,236 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# setup.sh - cross-platform setup for Resume Matcher
|
||||
#
|
||||
# Usage:
|
||||
# ./setup.sh [--help] [--start-dev]
|
||||
#
|
||||
# Requirements:
|
||||
# • Bash 4.4+ (for associative arrays)
|
||||
# • curl (for uv & ollama installers, if needed)
|
||||
#
|
||||
# After setup:
|
||||
# npm run dev # start development server
|
||||
# npm run build # build for production
|
||||
|
||||
set -euo pipefail
|
||||
export PYTHONDONTWRITEBYTECODE=1
|
||||
IFS=$'\n\t'
|
||||
|
||||
#–– Detect OS for compatibility ––#
|
||||
OS="$(uname -s)"
|
||||
case "$OS" in
|
||||
Linux*) OS_TYPE="Linux" ;;
|
||||
Darwin*) OS_TYPE="macOS" ;;
|
||||
*) OS_TYPE="$OS" ;;
|
||||
esac
|
||||
|
||||
#–– CLI help ––#
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: $0 [--help] [--start-dev]
|
||||
|
||||
Options:
|
||||
--help Show this help message and exit
|
||||
--start-dev After setup completes, start the dev server (with graceful SIGINT handling)
|
||||
|
||||
This script will:
|
||||
• Verify required tools: node, npm, python3, pip3, uv
|
||||
• Install Ollama & pull relevant models
|
||||
• Install root dependencies via npm ci
|
||||
• Bootstrap both frontend and backend .env files
|
||||
• Bootstrap backend venv and install Python deps via uv
|
||||
• Install frontend dependencies via npm ci
|
||||
EOF
|
||||
}
|
||||
|
||||
START_DEV=false
|
||||
if [[ "${1:-}" == "--help" ]]; then
|
||||
usage
|
||||
exit 0
|
||||
elif [[ "${1:-}" == "--start-dev" ]]; then
|
||||
START_DEV=true
|
||||
fi
|
||||
|
||||
#–– Logging helpers ––#
|
||||
info() { echo -e "ℹ $*"; }
|
||||
success() { echo -e "✅ $*"; }
|
||||
error() { echo -e "❌ $*" >&2; exit 1; }
|
||||
|
||||
info "Detected operating system: $OS_TYPE"
|
||||
|
||||
#–– 1. Prerequisite checks ––#
|
||||
check_cmd() {
|
||||
local cmd=$1
|
||||
if ! command -v "$cmd" &> /dev/null; then
|
||||
error "$cmd is not installed. Please install it and retry."
|
||||
fi
|
||||
}
|
||||
|
||||
check_node_version() {
|
||||
local min_major=18
|
||||
local ver
|
||||
ver=$(node --version | sed 's/^v\([0-9]*\).*/\1/')
|
||||
if (( ver < min_major )); then
|
||||
error "Node.js v${min_major}+ is required (found v$(node --version))."
|
||||
fi
|
||||
}
|
||||
|
||||
info "Checking prerequisites…"
|
||||
check_cmd node
|
||||
check_node_version
|
||||
check_cmd npm
|
||||
check_cmd python3
|
||||
|
||||
if ! command -v pip3 &> /dev/null; then
|
||||
if [[ "$OS_TYPE" == "Linux" && -x "$(command -v apt-get)" ]]; then
|
||||
info "pip3 not found; installing via apt-get…"
|
||||
sudo apt-get update && sudo apt-get install -y python3-pip || error "Failed to install python3-pip"
|
||||
elif [[ "$OS_TYPE" == "Linux" && -x "$(command -v yum)" ]]; then
|
||||
info "pip3 not found; installing via yum…"
|
||||
sudo yum install -y python3-pip || error "Failed to install python3-pip"
|
||||
else
|
||||
info "pip3 not found; bootstrapping via ensurepip…"
|
||||
python3 -m ensurepip --upgrade || error "ensurepip failed"
|
||||
fi
|
||||
fi
|
||||
check_cmd pip3
|
||||
success "pip3 is available"
|
||||
|
||||
# ensure uv
|
||||
if ! command -v uv &> /dev/null; then
|
||||
info "uv not found; installing via Astral.sh…"
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
check_cmd uv
|
||||
success "All prerequisites satisfied."
|
||||
|
||||
#–– 2. Optional Ollama setup ––#
|
||||
ollama_check_or_pull() {
|
||||
model_name="$1"
|
||||
if ! ollama list | grep -q "$model_name"; then
|
||||
info "Pulling $model_name model…"
|
||||
ollama pull "$model_name" || error "Failed to pull $model_name model"
|
||||
success "$model_name model ready"
|
||||
else
|
||||
info "$model_name model already present—skipping"
|
||||
fi
|
||||
}
|
||||
|
||||
NEEDS_OLLAMA=false
|
||||
ENV_SOURCE=""
|
||||
if [[ -f apps/backend/.env ]]; then
|
||||
ENV_SOURCE="apps/backend/.env"
|
||||
elif [[ -f apps/backend/.env.sample ]]; then
|
||||
ENV_SOURCE="apps/backend/.env.sample"
|
||||
fi
|
||||
|
||||
if [[ -n "$ENV_SOURCE" ]]; then
|
||||
if grep -Eq "^LLM_PROVIDER=[\"']?ollama" "$ENV_SOURCE" || grep -Eq "^EMBEDDING_PROVIDER=[\"']?ollama" "$ENV_SOURCE"; then
|
||||
NEEDS_OLLAMA=true
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$NEEDS_OLLAMA" == true ]]; then
|
||||
info "Checking Ollama installation…"
|
||||
if ! command -v ollama &> /dev/null; then
|
||||
info "ollama not found; installing…"
|
||||
|
||||
if [[ "$OS_TYPE" == "macOS" ]]; then
|
||||
brew install ollama || error "Failed to install Ollama via Homebrew"
|
||||
else
|
||||
# Download Ollama installer securely without using curl | sh
|
||||
curl -Lo ollama-install.sh https://ollama.com/install.sh || error "Failed to download Ollama installer"
|
||||
chmod +x ollama-install.sh
|
||||
./ollama-install.sh || error "Failed to execute Ollama installer"
|
||||
rm ollama-install.sh
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
success "Ollama installed"
|
||||
else
|
||||
info "Ollama already installed—skipping"
|
||||
fi
|
||||
else
|
||||
info "Skipping Ollama installation (providers set to non-Ollama)."
|
||||
fi
|
||||
|
||||
#–– 3. Bootstrap root .env ––#
|
||||
if [[ -f .env.example && ! -f .env ]]; then
|
||||
info "Bootstrapping root .env from .env.example"
|
||||
cp .env.example .env
|
||||
success "Root .env created"
|
||||
elif [[ -f .env ]]; then
|
||||
info "Root .env already exists—skipping"
|
||||
else
|
||||
info "No .env.example at root—skipping"
|
||||
fi
|
||||
|
||||
#–– 4. Install root dependencies ––#
|
||||
info "Installing root dependencies with npm ci…"
|
||||
npm ci
|
||||
success "Root dependencies installed."
|
||||
|
||||
#–– 5. Setup backend ––#
|
||||
info "Setting up backend (apps/backend)…"
|
||||
(
|
||||
cd apps/backend
|
||||
|
||||
# bootstrap backend .env
|
||||
if [[ -f .env.sample && ! -f .env ]]; then
|
||||
info "Bootstrapping backend .env from .env.sample"
|
||||
cp .env.sample .env
|
||||
success "Backend .env created"
|
||||
else
|
||||
info "Backend .env exists or .env.sample missing—skipping"
|
||||
fi
|
||||
|
||||
# The Ollama provider automatically pulls models on demand, but it's preferable to do it at setup time.
|
||||
eval `grep ^LLM_PROVIDER= .env`
|
||||
if [ "$LLM_PROVIDER" = "ollama" ]; then
|
||||
eval `grep ^LL_MODEL .env`
|
||||
ollama_check_or_pull $LL_MODEL
|
||||
fi
|
||||
eval `grep ^EMBEDDING_PROVIDER= .env`
|
||||
if [ "$EMBEDDING_PROVIDER" = "ollama" ]; then
|
||||
eval `grep ^EMBEDDING_MODEL .env`
|
||||
ollama_check_or_pull $EMBEDDING_MODEL
|
||||
fi
|
||||
|
||||
info "Syncing Python deps via uv…"
|
||||
uv sync
|
||||
success "Backend dependencies ready."
|
||||
)
|
||||
|
||||
#–– 6. Setup frontend ––#
|
||||
info "Setting up frontend (apps/frontend)…"
|
||||
(
|
||||
cd apps/frontend
|
||||
# bootstrap frontend .env
|
||||
if [[ -f .env.sample && ! -f .env ]]; then
|
||||
info "Bootstrapping frontend .env from .env.sample"
|
||||
cp .env.sample .env
|
||||
success "frontend .env created"
|
||||
else
|
||||
info "frontend .env exists or .env.sample missing—skipping"
|
||||
fi
|
||||
|
||||
info "Installing frontend deps with npm ci…"
|
||||
npm ci
|
||||
success "Frontend dependencies ready."
|
||||
)
|
||||
|
||||
#–– 7. Finish or start dev ––#
|
||||
if [[ "$START_DEV" == true ]]; then
|
||||
info "Starting development server…"
|
||||
# trap SIGINT for graceful shutdown
|
||||
trap 'info "Gracefully shutting down development server."; exit 0' SIGINT
|
||||
npm run dev
|
||||
else
|
||||
success "🎉 Setup complete!
|
||||
|
||||
Next steps:
|
||||
• Run \`npm run dev\` to start in development mode.
|
||||
• Run \`npm run build\` for production.
|
||||
• See SETUP.md for more details."
|
||||
fi
|
||||
212
yarn.lock
212
yarn.lock
@@ -1,212 +0,0 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@pkgr/core@^0.2.9":
|
||||
version "0.2.9"
|
||||
resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b"
|
||||
integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==
|
||||
|
||||
ansi-regex@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
|
||||
integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
|
||||
|
||||
ansi-styles@^4.0.0, ansi-styles@^4.1.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
|
||||
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
chalk@4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
|
||||
integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
|
||||
dependencies:
|
||||
ansi-styles "^4.1.0"
|
||||
supports-color "^7.1.0"
|
||||
|
||||
cliui@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa"
|
||||
integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
|
||||
dependencies:
|
||||
string-width "^4.2.0"
|
||||
strip-ansi "^6.0.1"
|
||||
wrap-ansi "^7.0.0"
|
||||
|
||||
color-convert@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
|
||||
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
|
||||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
concurrently@^9.1.2:
|
||||
version "9.2.1"
|
||||
resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-9.2.1.tgz#248ea21b95754947be2dad9c3e4b60f18ca4e44f"
|
||||
integrity sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==
|
||||
dependencies:
|
||||
chalk "4.1.2"
|
||||
rxjs "7.8.2"
|
||||
shell-quote "1.8.3"
|
||||
supports-color "8.1.1"
|
||||
tree-kill "1.2.2"
|
||||
yargs "17.7.2"
|
||||
|
||||
emoji-regex@^8.0.0:
|
||||
version "8.0.0"
|
||||
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
|
||||
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
|
||||
|
||||
escalade@^3.1.1:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
|
||||
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
|
||||
|
||||
eslint-config-prettier@^10.1.8:
|
||||
version "10.1.8"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz#15734ce4af8c2778cc32f0b01b37b0b5cd1ecb97"
|
||||
integrity sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==
|
||||
|
||||
eslint-plugin-prettier@^5.5.4:
|
||||
version "5.5.4"
|
||||
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz#9d61c4ea11de5af704d4edf108c82ccfa7f2e61c"
|
||||
integrity sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==
|
||||
dependencies:
|
||||
prettier-linter-helpers "^1.0.0"
|
||||
synckit "^0.11.7"
|
||||
|
||||
fast-diff@^1.1.2:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
|
||||
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
|
||||
|
||||
get-caller-file@^2.0.5:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
|
||||
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
|
||||
|
||||
has-flag@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
|
||||
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
|
||||
|
||||
is-fullwidth-code-point@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
|
||||
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
|
||||
|
||||
prettier-linter-helpers@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
|
||||
integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
|
||||
dependencies:
|
||||
fast-diff "^1.1.2"
|
||||
|
||||
prettier@^3.6.2:
|
||||
version "3.7.4"
|
||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.7.4.tgz#d2f8335d4b1cec47e1c8098645411b0c9dff9c0f"
|
||||
integrity sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==
|
||||
|
||||
require-directory@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
|
||||
|
||||
rxjs@7.8.2:
|
||||
version "7.8.2"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.2.tgz#955bc473ed8af11a002a2be52071bf475638607b"
|
||||
integrity sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==
|
||||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
shell-quote@1.8.3:
|
||||
version "1.8.3"
|
||||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b"
|
||||
integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
|
||||
|
||||
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
|
||||
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
|
||||
dependencies:
|
||||
ansi-regex "^5.0.1"
|
||||
|
||||
supports-color@8.1.1:
|
||||
version "8.1.1"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
|
||||
integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
|
||||
dependencies:
|
||||
has-flag "^4.0.0"
|
||||
|
||||
supports-color@^7.1.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
|
||||
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
|
||||
dependencies:
|
||||
has-flag "^4.0.0"
|
||||
|
||||
synckit@^0.11.7:
|
||||
version "0.11.11"
|
||||
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.11.tgz#c0b619cf258a97faa209155d9cd1699b5c998cb0"
|
||||
integrity sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==
|
||||
dependencies:
|
||||
"@pkgr/core" "^0.2.9"
|
||||
|
||||
tree-kill@1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc"
|
||||
integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
|
||||
|
||||
tslib@^2.1.0:
|
||||
version "2.8.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"
|
||||
integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==
|
||||
|
||||
wrap-ansi@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
|
||||
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
|
||||
dependencies:
|
||||
ansi-styles "^4.0.0"
|
||||
string-width "^4.1.0"
|
||||
strip-ansi "^6.0.0"
|
||||
|
||||
y18n@^5.0.5:
|
||||
version "5.0.8"
|
||||
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
|
||||
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
|
||||
|
||||
yargs-parser@^21.1.1:
|
||||
version "21.1.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
|
||||
integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
|
||||
|
||||
yargs@17.7.2:
|
||||
version "17.7.2"
|
||||
resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269"
|
||||
integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==
|
||||
dependencies:
|
||||
cliui "^8.0.1"
|
||||
escalade "^3.1.1"
|
||||
get-caller-file "^2.0.5"
|
||||
require-directory "^2.1.1"
|
||||
string-width "^4.2.3"
|
||||
y18n "^5.0.5"
|
||||
yargs-parser "^21.1.1"
|
||||
Reference in New Issue
Block a user