@jill64/playwright-config
Advanced tools
Comparing version 1.4.2 to 2.0.0
import { Config } from '@playwright/test'; | ||
declare const providers: readonly ["cloudflare", "vercel", "netlify"]; | ||
type Provider = (typeof providers)[number]; | ||
export declare const branchPreview: (provider: Provider, options?: { | ||
export declare const branchPreview: (options?: { | ||
provider?: Provider; | ||
project?: string; | ||
@@ -6,0 +7,0 @@ fallback?: Config; |
import { vitePreview } from './vitePreview.js'; | ||
const providers = ['cloudflare', 'vercel', 'netlify']; | ||
const { GITHUB_REF_NAME, GITHUB_REPOSITORY } = process.env; | ||
export const branchPreview = (provider, options) => { | ||
const { project, fallback = vitePreview } = options ?? {}; | ||
const { GITHUB_REF_NAME, GITHUB_REPOSITORY, HOSTING_PROVIDER } = process.env; | ||
export const branchPreview = (options) => { | ||
const { provider = HOSTING_PROVIDER ?? '', project, fallback = vitePreview } = options ?? {}; | ||
if (!provider) { | ||
console.debug('HOSTING_PROVIDER is not defined. Using fallback config.'); | ||
return fallback; | ||
} | ||
if (!providers.includes(provider)) { | ||
console.warn(`Unknown hosting provider "${provider}".\n` + | ||
`Supported providers are: ${providers.join(', ')}`); | ||
return fallback; | ||
} | ||
if (!GITHUB_REF_NAME) { | ||
console.warn('GITHUB_REF_NAME is not defined.'); | ||
return fallback; | ||
@@ -14,30 +21,35 @@ } | ||
if (!project_name) { | ||
console.warn('GITHUB_REPOSITORY is not defined.'); | ||
return fallback; | ||
} | ||
if (GITHUB_REF_NAME === 'main') { | ||
const baseURL = provider === 'cloudflare' | ||
? `https://${project_name}.pages.dev` | ||
: provider === 'vercel' | ||
? `https://${project_name}.vercel.app` | ||
: `https://${project_name}.netlify.app`; | ||
console.info(`Using ${baseURL} for preview.`); | ||
return { | ||
use: { | ||
baseURL: provider === 'cloudflare' | ||
? `https://${project_name}.pages.dev` | ||
: provider === 'vercel' | ||
? `https://${project_name}.vercel.app` | ||
: `https://${project_name}.netlify.app` | ||
baseURL | ||
} | ||
}; | ||
} | ||
const sub = provider === 'vercel' | ||
? GITHUB_REF_NAME.replace(/\//g, '-').replace('.', '') | ||
: GITHUB_REF_NAME.replace(/\//g, '-').replace('.', '-'); | ||
const subBase = GITHUB_REF_NAME.replace(/\//g, '-'); | ||
const sub = provider === 'vercel' ? subBase.replace('.', '') : subBase.replace('.', '-'); | ||
if (sub.length > 28) { | ||
console.warn(`Subdomain "${sub}" is too long for ${provider}. Max length is 28 characters.`); | ||
return fallback; | ||
} | ||
const baseURL = provider === 'cloudflare' | ||
? `https://${sub}.${project_name}.pages.dev` | ||
: provider === 'vercel' | ||
? `https://${project_name}-git-${sub}-jill-64.vercel.app` | ||
: `https://${sub}--${project_name}.netlify.app`; | ||
console.info(`Using ${baseURL} for preview.`); | ||
return { | ||
use: { | ||
baseURL: provider === 'cloudflare' | ||
? `https://${sub}.${project_name}.pages.dev` | ||
: provider === 'vercel' | ||
? `https://${project_name}-git-${sub}-jill-64.vercel.app` | ||
: `https://${sub}--${project_name}.netlify.app` | ||
baseURL | ||
} | ||
}; | ||
}; |
{ | ||
"name": "@jill64/playwright-config", | ||
"description": "🎭 Reusable My Playwright Config", | ||
"version": "1.4.2", | ||
"version": "2.0.0", | ||
"type": "module", | ||
@@ -6,0 +6,0 @@ "main": "dist/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7434
110