refactor(scripts): delete 20 one-off/legacy scripts
The scripts/ directory had accumulated 29 entries, half of which were one-off fixes that had already done their job and several of which were Supabase-era artifacts that don't apply now that the project uses direct Postgres via `pg`. Deleted (none referenced from package.json, CLAUDE.md, MEMORY.md, .gitea/workflows/deploy.yml, db/seeds/, or src/): Supabase-era one-offs (the project moved off Supabase JS/REST): - apply-admin-create-stop.js (RPC installer against supabase.co) - fix-archived-rls.js (RLS repair against supabase.co) - seed.sh (pure supabase REST seeding) - seed_tuxedo_tour.py (Python equivalent of the JS seed) Codemods / lint fixers that ran once: - fix-server-auth.js, fix-server-auth-ast.js - fix-button-has-type.js, fix-control-has-associated-label.js Versioned iteration history of one-off checks: - check-stop-fns.js, check-stop-fns2.js, check-stop-fns3.js - verify-stop-fns.js (only referenced by apply-admin-create-stop.js) Other one-offs: - cleanup-duplicate-stops.ts - create-admin-user.ts, seed-admin.ts (superseded by provision-admin.ts) - seed-tuxedo.ts (superseded by seed-tuxedo-2026.js) - import-woo-to-route.ts (WooCommerce import, no longer used) - upload-tuxedo-video.mjs, verify-email.ts, e2e-test.sh Also updated one stale comment in src/actions/admin/users.ts that referenced scripts/seed-admin.ts. Kept (9 scripts, all live-referenced): - migrate.js (package.json + deploy.yml + MEMORY.md) - db-reset.js (package.json: db:reset) - seed-tuxedo-2026.js (package.json: db:seed:tour) - import-tuxedo-stops.ts (db/seeds preferred path) - provision-admin.ts (CLAUDE.md production bootstrap) - preflight-check.js, postflight-check.js (.gitea/workflows/deploy.yml) - generate-pwa-icons.js, generate-pwa-screenshots.js (reproducible PWA build assets, referenced in design docs) Verified: tsc clean, 174/175 tests pass (same baseline), package.json scripts and deploy.yml all still resolve to kept scripts.
This commit is contained in:
@@ -1,74 +0,0 @@
|
||||
import { createClient } from "@supabase/supabase-js";
|
||||
import { readFileSync } from "fs";
|
||||
import { fileURLToPath } from "url";
|
||||
import path from "path";
|
||||
|
||||
// Load .env.local manually
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const envPath = path.join(__dirname, "..", ".env.local");
|
||||
const envContent = readFileSync(envPath, "utf8");
|
||||
envContent.split("\n").forEach((line) => {
|
||||
const [key, ...rest] = line.split("=");
|
||||
if (key && rest.length && key.trim() && !key.trim().startsWith("#")) {
|
||||
process.env[key.trim()] = rest.join("=").trim().replace(/^"|"$/g, "");
|
||||
}
|
||||
});
|
||||
|
||||
const supabaseUrl = process.env.NEXT_PUBLIC_SUPABASE_URL;
|
||||
const supabaseServiceKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
|
||||
|
||||
if (!supabaseUrl || !supabaseServiceKey) {
|
||||
console.error("Missing env vars");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const supabase = createClient(supabaseUrl, supabaseServiceKey);
|
||||
|
||||
async function uploadTuxedoHeroVideo() {
|
||||
const filePath = "/Users/kylemartinez/Downloads/062624TuxedoCorn 001.mp4";
|
||||
const fileBuffer = readFileSync(filePath);
|
||||
const fileSizeMB = (fileBuffer.byteLength / 1024 / 1024).toFixed(2);
|
||||
console.log(`File: ${filePath} (${fileSizeMB} MB)`);
|
||||
|
||||
// Ensure public videos bucket exists
|
||||
const { data: buckets, error: listErr } = await supabase.storage.listBuckets();
|
||||
if (listErr) { console.error("List buckets error:", listErr.message); process.exit(1); }
|
||||
|
||||
const existing = buckets?.find((b) => b.name === "videos");
|
||||
if (!existing) {
|
||||
console.log("Creating 'videos' bucket (public)...");
|
||||
const { error: createErr } = await supabase.storage.createBucket("videos", { public: true });
|
||||
if (createErr) { console.error("Create bucket error:", createErr.message); process.exit(1); }
|
||||
console.log("Bucket 'videos' created.");
|
||||
} else {
|
||||
console.log(`'videos' bucket exists (public: ${existing.public}).`);
|
||||
if (!existing.public) {
|
||||
const { error: updErr } = await supabase.storage.updateBucket("videos", { public: true });
|
||||
if (updErr) console.warn("Could not update bucket to public:", updErr.message);
|
||||
else console.log("Bucket updated to public.");
|
||||
}
|
||||
}
|
||||
|
||||
// Upload
|
||||
console.log("Uploading tuxedo-hero.mp4...");
|
||||
const { data: uploadData, error: uploadErr } = await supabase.storage
|
||||
.from("videos")
|
||||
.upload("tuxedo-hero.mp4", fileBuffer, {
|
||||
contentType: "video/mp4",
|
||||
upsert: true,
|
||||
});
|
||||
|
||||
if (uploadErr) {
|
||||
console.error("Upload error:", uploadErr.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log("Upload OK:", JSON.stringify(uploadData));
|
||||
|
||||
// Public URL
|
||||
const { data: urlData } = supabase.storage.from("videos").getPublicUrl("tuxedo-hero.mp4");
|
||||
const url = urlData.publicUrl;
|
||||
console.log(`\n✅ Public URL:\n${url}`);
|
||||
}
|
||||
|
||||
uploadTuxedoHeroVideo().catch((e) => { console.error(e); process.exit(1); });
|
||||
Reference in New Issue
Block a user