2c01693271002764bf26a803f590ae79d9ce4c12
- Add failing global function verification test (GlobalFunctions.test.ts) and fix missing exports in global.ts.
- Refactor MediaManager.html UI:
- Implement
enderPlanHtml to standardize Plan (Details) and Execution views.
- Show 'Skipped' state for empty save phases.
- Visually decouple 'Sheet Update' from 'Reorder' phase.
- Separate 'Manual Link' operations into their own 'Linking' section in the plan view, distinct from Adoptions.
- Fix TypeErrors in
enderPlanHtml (undefined actions) and
enderMatch (missing DOM elements).
- Update MediaService.test.ts to match new filename constraints on reorder.
- Update mediaHandlers.test.ts to correctly spy on loose MediaService instances.
- Ensure all tests pass.
Product Inventory Management
This project integrates Google Sheets with Shopify to manage product inventory, photos, and metadata. It uses Google Apps Script to synchronize data between a "master" Google Sheet and your Shopify store.
Overview
The system allows you to:
- Manage product details (SKUs, titles, descriptions) in a Google Sheet.
- Automatically upload product photos from Google Drive to Shopify.
- specific triggers (
onEdit,onOpen) to sync changes to Shopify in real-time or on-demand. - Handle rate limiting and concurrency using a custom queue system.
- Handle rate limiting and concurrency using a custom queue system.
- Monitor and troubleshoot background processes via a custom side panel.
- Automated Sales Sync: Periodically check Shopify for recent sales and mark items as "sold" in the sheet.
- Manual Reconciliation: Backfill sales data for a specific time range via menu command.
- Status Workflow Automation: Automatically update Shopify status and inventory based on the sheet's "status" column (e.g., "Sold" -> Active, 0 Qty).
- Integrated Media Manager: A dedicated sidebar for managing product photos, including Google Drive integration and live Shopify syncing.
Prerequisites
- Node.js: managed via
fnm(Fast Node Manager) - Google Clasp: for pushing code to Apps Script
- Google Cloud Project: tied to the Apps Script container
Quick Start
-
Install Dependencies
npm install -
Build Project
npm run build -
Deploy to Apps Script
npm run deploy
Testing
Run unit tests using Jest:
npm test
```bash
npm test
Code Quality Enforcement
This project uses Husky to enforce code quality locally.
- Pre-commit Hook: Runs tests on changed files before every commit.
- Coverage Requirement: Modified files must maintain 80% code coverage. Commits will be blocked if this threshold is not met.
Project Structure
src/: Source code (TypeScript)src/config.ts: Configuration loading from Sheetssrc/global.ts: Entry points for Apps Scriptsrc/shopifyApi.ts: Shopify Admin API wrappersrc/onEditQueue.ts: Concurrency management
For more details, see:
Description
Languages
TypeScript
70.8%
HTML
28.8%
JavaScript
0.3%
PowerShell
0.1%