diff --git a/.github/workflows/verify-supabase.yml b/.github/workflows/verify-supabase.yml index 944e8ae..cff1079 100644 --- a/.github/workflows/verify-supabase.yml +++ b/.github/workflows/verify-supabase.yml @@ -14,6 +14,9 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - with: { node-version: '20' } + with: { node-version: '22' } - run: node -v + - run: npm ci + - run: npm --prefix telcoinwiki-react ci + - run: npm run build - run: npm run verify:supabase diff --git a/netlify.toml b/netlify.toml index d9657d2..07a97cf 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1,6 +1,6 @@ [build] - publish = "." - command = "npm install --no-audit --no-fund --include=dev && export VITE_SUPABASE_URL=\"${VITE_SUPABASE_URL:-$NEXT_PUBLIC_SUPABASE_URL}\" && export VITE_SUPABASE_ANON_KEY=\"${VITE_SUPABASE_ANON_KEY:-$NEXT_PUBLIC_SUPABASE_ANON_KEY}\" && npm run build" + publish = "telcoinwiki-react/dist" + command = "npm ci --no-audit --no-fund && npm --prefix telcoinwiki-react ci --no-audit --no-fund && export VITE_SUPABASE_URL=\"${VITE_SUPABASE_URL:-$NEXT_PUBLIC_SUPABASE_URL}\" && export VITE_SUPABASE_ANON_KEY=\"${VITE_SUPABASE_ANON_KEY:-$NEXT_PUBLIC_SUPABASE_ANON_KEY}\" && npm run build" [build.environment] NODE_VERSION = "22.20.0" diff --git a/package.json b/package.json index fd5f065..7019894 100644 --- a/package.json +++ b/package.json @@ -7,15 +7,17 @@ "node": ">=22 <23" }, "scripts": { - "format": "prettier --write \"**/*.{html,css,js,json,md}\"", - "lint": "eslint \"**/*.js\" --max-warnings=0", + "dev": "npm --prefix telcoinwiki-react run dev", + "format": "npm --prefix telcoinwiki-react run format", + "lint": "npm --prefix telcoinwiki-react run lint", + "lint:ci": "npm --prefix telcoinwiki-react run lint:ci", + "test": "npm --prefix telcoinwiki-react run test", + "test:ci": "npm --prefix telcoinwiki-react run test:ci", "check:html": "html-validate \"**/*.html\"", "check:links": "linkinator . --recurse --silent --skip \"node_modules|dist\"", - "build:css": "csso styles/index.css --output dist/styles.css", - "build:js": "mkdir -p dist && node scripts/build-status-data.js && node node_modules/terser/bin/terser js/main.js -o dist/main.js --compress --mangle && node node_modules/terser/bin/terser js/faq.js -o dist/faq.js --compress --mangle && node node_modules/terser/bin/terser js/pools-data.js -o dist/pools.js --compress --mangle", - "build:img": "node scripts/optimize-images.js", - "prebuild": "node tools/make-supabase-test.mjs", - "build": "npm run build:css && npm run build:js && npm run build:img", + "prebuild": "node tools/make-supabase-test.mjs telcoinwiki-react/public/supabase-test", + "build": "npm --prefix telcoinwiki-react run build", + "preview": "npm --prefix telcoinwiki-react run preview", "verify:supabase": "node tools/verify-supabase.mjs" }, "type": "module", diff --git a/telcoinwiki-react/.gitignore b/telcoinwiki-react/.gitignore index 9745296..b5c130b 100644 --- a/telcoinwiki-react/.gitignore +++ b/telcoinwiki-react/.gitignore @@ -1,5 +1,6 @@ node_modules dist +public/supabase-test .DS_Store .env .env.* diff --git a/telcoinwiki-react/package.json b/telcoinwiki-react/package.json index a620963..3161e05 100644 --- a/telcoinwiki-react/package.json +++ b/telcoinwiki-react/package.json @@ -5,11 +5,13 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc -b && vite build", - "lint": "eslint .", + "build": "vite build", "preview": "vite preview", + "lint": "eslint .", + "lint:ci": "eslint . --max-warnings=0", "format": "prettier --write .", - "test": "vitest" + "test": "vitest", + "test:ci": "vitest run" }, "dependencies": { "@supabase/supabase-js": "^2.58.0", diff --git a/tools/make-supabase-test.mjs b/tools/make-supabase-test.mjs index 54ccef3..3cd14c8 100644 --- a/tools/make-supabase-test.mjs +++ b/tools/make-supabase-test.mjs @@ -4,7 +4,7 @@ import { join } from "node:path"; const URL = process.env.NEXT_PUBLIC_SUPABASE_URL || process.env.VITE_SUPABASE_URL || ""; const KEY = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.VITE_SUPABASE_ANON_KEY || ""; -const outDir = "supabase-test"; +const outDir = process.argv[2] || process.env.SUPABASE_TEST_OUT_DIR || "supabase-test"; const outFile = join(outDir, "index.html"); if (!existsSync(outDir)) mkdirSync(outDir, { recursive: true });