Files
CompanySite/package.json
T
platform-mcpandClaude Opus 4.8 dccc5d3b7f
E2E Test Suite / Smoke Tests (P0) (push) Failing after 9m27s
E2E Test Suite / Critical User Journeys (push) Has been skipped
E2E Test Suite / API Integration Tests (push) Has been skipped
E2E Test Suite / Security Header Tests (push) Failing after 10m21s
E2E Test Suite / Mobile Device Tests (push) Failing after 10m27s
E2E Test Suite / Cross-Browser Regression (webkit) (push) Failing after 11m13s
E2E Test Suite / Cross-Browser Regression (firefox) (push) Failing after 12m5s
E2E Test Suite / Cross-Browser Regression (chromium) (push) Failing after 12m58s
E2E Test Suite / Destructive & Chaos Tests (push) Failing after 13m50s
E2E Test Suite / Form Interaction Tests (push) Failing after 14m43s
E2E Test Suite / Test Report Summary (push) Has been cancelled
Deploy to Production / Build & Verify (push) Waiting to run
Deploy to Production / Pre-Deploy Tests (push) Blocked by required conditions
Deploy to Production / Deploy to Railway (push) Has been cancelled
Deploy to Production / Deploy to Render (push) Has been cancelled
Deploy to Production / Deploy to VPS (PM2) (push) Has been cancelled
Deploy to Production / Deploy to Fly.io (push) Has been cancelled
Deploy to Production / Post-Deploy Verification (push) Has been cancelled
Deploy to Production / Notify on Failure (push) Has been cancelled
feat(seo): centralize sitewide JSON-LD in SEO.astro with Organization reviews
Move the base Organization + LocalBusiness and WebSite structured data out of
BaseLayout's inline scripts into SEO.astro behind a new `base` prop, rendered
once from BaseLayout's <head> so every route (incl. pages without a
page-specific <SEO>) carries the canonical company schema exactly once.

- Organization/LocalBusiness now includes aggregateRating + Review nodes built
  from the three real homepage testimonials (Ajay Pruthi, Dhirendra Singh,
  Dilip Raj — all 5-star, reviewCount 3, rating 5.0).
- foundingDate 2022, telephone +91-9561417403, email admin@workroot.in,
  areaServed Bihar (AdministrativeArea) + India (Country).
- Description keeps the canonical proof numbers identical to the site:
  20+ projects, 11 districts, 50,000+ records, 99.9% uptime.
- Reusable Service node now links provider via @id to #organization and
  serves Bihar/India; page-specific schema (Service/FAQ/WebPage/...) stays
  opt-in and is gated off the base instance to prevent duplication.
- Homepage still emits a single FAQPage (from HomepageFaq) — no duplicate.
- Add jsdom devDependency required by scripts/validate-schema.js.

Verified: build succeeds; scripts/validate-schema.js passes (24 schemas, 0
issues, 0 warnings); rendered ld+json inspected on homepage, services, and
schema-less pages (privacy/terms/cookies/404).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:47:50 +05:30

58 lines
2.5 KiB
JSON

{
"name": "workroot-website",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"build": "astro build",
"preview": "astro preview",
"start": "node server.mjs",
"start:prod": "NODE_ENV=production node server.mjs",
"deploy:build": "npm run build",
"deploy:start": "npm run start:prod",
"astro": "astro",
"test": "playwright test",
"test:smoke": "playwright test tests/e2e-smoke-suite.spec.ts --project=chromium",
"test:critical": "playwright test tests/e2e-critical-paths.spec.ts",
"test:api": "playwright test tests/api-integration.spec.ts --project=chromium",
"test:newsletter": "playwright test tests/newsletter-subscription.spec.ts --project=chromium",
"test:forms": "playwright test tests/contact-form.spec.ts tests/e2e-form-interactions.spec.ts tests/newsletter-subscription.spec.ts --project=chromium",
"test:chaos": "playwright test tests/destructive-chaos.spec.ts --project=chromium",
"test:chromium": "playwright test --project=chromium",
"test:firefox": "playwright test --project=firefox",
"test:webkit": "playwright test --project=webkit",
"test:mobile": "playwright test --project='Mobile Chrome' --project='Mobile Safari'",
"test:report": "playwright show-report playwright-report",
"test:ci": "playwright test tests/e2e-smoke-suite.spec.ts tests/e2e-critical-paths.spec.ts tests/api-integration.spec.ts --project=chromium",
"backup:full": "bash scripts/backup/backup-full.sh",
"backup:content": "bash scripts/backup/backup-content.sh",
"backup:config": "bash scripts/backup/backup-config.sh",
"backup:restore": "bash scripts/backup/restore.sh",
"backup:verify": "bash scripts/backup/verify.sh",
"backup:cleanup": "bash scripts/backup/cleanup-old.sh",
"backup:list": "bash scripts/backup/restore.sh list",
"validate:schema": "node scripts/validate-schema.js",
"validate:structured-data": "node .agents/seo-specialist/validate-structured-data.js"
},
"dependencies": {
"@astrojs/node": "^8.3.4",
"@astrojs/sitemap": "^3.7.1",
"@tailwindcss/typography": "^0.5.19",
"astro": "^4.5.0",
"compression": "^1.8.1",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"nodemailer": "^8.0.3"
},
"devDependencies": {
"@astrojs/check": "^0.9.9",
"@astrojs/tailwind": "^5.1.0",
"@playwright/test": "^1.58.2",
"@types/nodemailer": "^7.0.11",
"jsdom": "^29.1.1",
"playwright": "^1.58.2",
"tailwindcss": "^3.4.1",
"typescript": "^5.9.3"
}
}