mirror of
https://github.com/imjasonh/gitscrub
synced 2026-07-07 02:52:18 +00:00
- Replace device flow with standard OAuth2 authorization code flow - Add auth-start.js and auth-callback.js Netlify functions - Create AuthSuccess page to handle OAuth callbacks - Remove device flow UI components and polling logic - Add CSRF protection with state parameter - Update all documentation to reflect web flow - Remove unauthenticated access - authentication now required - Update tests for new authentication requirements - Add test helper script for Netlify dev server This provides a more familiar OAuth experience where users are redirected to GitHub for authorization rather than entering codes. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
37 lines
No EOL
1,004 B
JavaScript
Executable file
37 lines
No EOL
1,004 B
JavaScript
Executable file
#!/usr/bin/env node
|
|
|
|
import { execSync } from 'child_process';
|
|
import { spawn } from 'child_process';
|
|
|
|
console.log('Checking for Netlify CLI...');
|
|
|
|
try {
|
|
execSync('netlify --version', { stdio: 'ignore' });
|
|
console.log('✓ Netlify CLI is installed');
|
|
} catch (error) {
|
|
console.error('✗ Netlify CLI is not installed');
|
|
console.error('Please install it with: npm install -g netlify-cli');
|
|
process.exit(1);
|
|
}
|
|
|
|
// Check for .env file
|
|
import { existsSync } from 'fs';
|
|
if (!existsSync('.env')) {
|
|
console.error('✗ .env file not found');
|
|
console.error('Please create one with: cp .env.example .env');
|
|
console.error('Then add your GITHUB_CLIENT_ID');
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log('✓ Environment configured');
|
|
console.log('Starting Playwright tests with Netlify dev server...\n');
|
|
|
|
// Run playwright test
|
|
const playwright = spawn('npx', ['playwright', 'test', ...process.argv.slice(2)], {
|
|
stdio: 'inherit',
|
|
shell: true
|
|
});
|
|
|
|
playwright.on('exit', (code) => {
|
|
process.exit(code);
|
|
}); |