63 lines
1.9 KiB
Markdown
63 lines
1.9 KiB
Markdown
# Technology Stack
|
|
|
|
## Runtime & Dependencies
|
|
|
|
- **Node.js**: >=16.0.0 (specified in package.json engines)
|
|
- **Core Dependencies**:
|
|
- `@shopify/shopify-api`: ^7.7.0 - Shopify GraphQL API client
|
|
- `dotenv`: ^16.3.1 - Environment variable management
|
|
- `node-fetch`: ^3.3.2 - HTTP client for API requests
|
|
- **Development Dependencies**:
|
|
- `jest`: ^29.7.0 - Testing framework
|
|
|
|
## Architecture Patterns
|
|
|
|
- **Service Layer Architecture**: Separation of concerns with dedicated services
|
|
- **Configuration Management**: Centralized environment-based configuration
|
|
- **Error Handling**: Comprehensive retry logic with exponential backoff
|
|
- **Logging Strategy**: Dual output (console + Progress.md file)
|
|
|
|
## API Integration
|
|
|
|
- **Shopify GraphQL Admin API**: Version 2024-01
|
|
- **Authentication**: Private App access tokens
|
|
- **Rate Limiting**: Built-in handling with automatic retries
|
|
- **Bulk Operations**: Uses `productVariantsBulkUpdate` mutation
|
|
|
|
## Common Commands
|
|
|
|
### Development
|
|
|
|
```bash
|
|
npm install # Install dependencies
|
|
npm start # Run with default settings
|
|
npm run update # Explicit update mode
|
|
npm run rollback # Rollback mode
|
|
npm run debug-tags # Debug tag analysis
|
|
npm test # Run test suite
|
|
```
|
|
|
|
### Environment Setup
|
|
|
|
```bash
|
|
copy .env.example .env # Create environment file (Windows)
|
|
cp .env.example .env # Create environment file (Unix)
|
|
```
|
|
|
|
### Testing & Debugging
|
|
|
|
```bash
|
|
npm run debug-tags # Analyze store tags before running
|
|
npm test # Run Jest test suite
|
|
```
|
|
|
|
## Environment Variables
|
|
|
|
Required variables (see .env.example):
|
|
|
|
- `SHOPIFY_SHOP_DOMAIN`: Store domain
|
|
- `SHOPIFY_ACCESS_TOKEN`: Admin API token
|
|
- `TARGET_TAG`: Product tag filter
|
|
- `PRICE_ADJUSTMENT_PERCENTAGE`: Adjustment percentage
|
|
- `OPERATION_MODE`: "update" or "rollback"
|