Linty fresh
Some checks failed
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/deploy unknown status

This commit is contained in:
2026-02-06 19:10:27 -03:00
parent 2959360d65
commit 3f93580090
7 changed files with 45 additions and 32 deletions

View File

@@ -29,23 +29,23 @@ pnpm preview # preview build at http://localhost:4173
## Scripts ## Scripts
| Script | Description | | Script | Description |
| -------------------- | ------------------------------------------------------------------------------------------------ | | --------------------------- | ------------------------------------------------------------------------------------------ |
| `pnpm dev:bio` | Start Vite dev server for mifi.bio | | `pnpm dev:bio` | Start Vite dev server for mifi.bio |
| `pnpm dev:dev` | Start Vite dev server for mifi.dev | | `pnpm dev:dev` | Start Vite dev server for mifi.dev |
| `pnpm build` | Build static site to `build/` | | `pnpm build` | Build static site to `build/` |
| `pnpm build:full` | Build + inline critical CSS (run `pnpm run critical-css:install` once to install Chromium) | | `pnpm build:full` | Build + inline critical CSS (run `pnpm run critical-css:install` once to install Chromium) |
| `pnpm critical-css:install` | Install Chromium for critical CSS (required once before first `build:full`) | | `pnpm critical-css:install` | Install Chromium for critical CSS (required once before first `build:full`) |
| `pnpm preview` | Serve `build/` locally | | `pnpm preview` | Serve `build/` locally |
| `pnpm check` | Run `svelte-kit sync` and `svelte-check` | | `pnpm check` | Run `svelte-kit sync` and `svelte-check` |
| `pnpm lint` | ESLint + Stylelint | | `pnpm lint` | ESLint + Stylelint |
| `pnpm format` | Prettier (write) | | `pnpm format` | Prettier (write) |
| `pnpm format:check` | Prettier (check only) | | `pnpm format:check` | Prettier (check only) |
| `pnpm test` | Vitest (watch) | | `pnpm test` | Vitest (watch) |
| `pnpm test:run` | Vitest (single run) | | `pnpm test:run` | Vitest (single run) |
| `pnpm test:coverage` | Vitest with coverage | | `pnpm test:coverage` | Vitest with coverage |
| `pnpm test:e2e` | Playwright e2e (starts preview, then runs tests) | | `pnpm test:e2e` | Playwright e2e (starts preview, then runs tests) |
| `pnpm test:e2e:ui` | Playwright e2e in UI mode | | `pnpm test:e2e:ui` | Playwright e2e in UI mode |
## Project layout ## Project layout

View File

@@ -5,8 +5,7 @@ services:
pull_policy: always pull_policy: always
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: test: ['CMD', 'wget', '--quiet', '--tries=1', '--spider', 'http://127.0.0.1/']
["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://127.0.0.1/"]
interval: 30s interval: 30s
timeout: 3s timeout: 3s
start_period: 5s start_period: 5s

View File

@@ -81,13 +81,13 @@ try {
const scriptPath = join(immutableDir, filename); const scriptPath = join(immutableDir, filename);
writeFileSync(scriptPath, content.trimStart(), 'utf-8'); writeFileSync(scriptPath, content.trimStart(), 'utf-8');
const scriptTag = `<script src="./_app/immutable/${filename}"></script>`; const scriptTag = `<script src="./_app/immutable/${filename}"></script>`;
html = html = html.slice(0, found.start) + scriptTag + html.slice(found.end);
html.slice(0, found.start) +
scriptTag +
html.slice(found.end);
writeFileSync(htmlPath, html, 'utf-8'); writeFileSync(htmlPath, html, 'utf-8');
console.log('Externalized SvelteKit bootstrap to', scriptPath); console.log('Externalized SvelteKit bootstrap to', scriptPath);
} catch (err) { } catch (err) {
console.error('externalize-inline-script failed:', err instanceof Error ? err.message : String(err)); console.error(
'externalize-inline-script failed:',
err instanceof Error ? err.message : String(err),
);
process.exit(1); process.exit(1);
} }

View File

@@ -25,16 +25,14 @@
url: data.site.url, url: data.site.url,
sameAs: data.site.person.sameAs, sameAs: data.site.person.sameAs,
} }
: null : null,
); );
// Inject as HTML to avoid Prettier parsing ld+json script body as JS (Babel syntax error) // Inject as HTML to avoid Prettier parsing ld+json script body as JS (Babel syntax error)
const ldJsonTag = (payload: string) => const ldJsonTag = (payload: string) =>
'<' + 'script type="application/ld+json">' + payload + '<' + '/script>'; '<' + 'script type="application/ld+json">' + payload + '<' + '/script>';
const jsonLdHtml = $derived(ldJsonTag(JSON.stringify(jsonLd))); const jsonLdHtml = $derived(ldJsonTag(JSON.stringify(jsonLd)));
const personLdHtml = $derived( const personLdHtml = $derived(personLd != null ? ldJsonTag(JSON.stringify(personLd)) : '');
personLd != null ? ldJsonTag(JSON.stringify(personLd)) : ''
);
</script> </script>
<svelte:head> <svelte:head>

View File

@@ -1,2 +1,2 @@
export const prerender = true; export const prerender = true;
export const ssr = true; export const ssr = true;

View File

@@ -35,7 +35,10 @@
<meta property="og:url" content={data.site.url} /> <meta property="og:url" content={data.site.url} />
<meta property="og:site_name" content={data.site.title} /> <meta property="og:site_name" content={data.site.title} />
<meta property="og:locale" content="en_US" /> <meta property="og:locale" content="en_US" />
<meta property="og:image" content="{data.site.url}/assets/images/mifi-{data.variant}-og-image.webp" /> <meta
property="og:image"
content="{data.site.url}/assets/images/mifi-{data.variant}-og-image.webp"
/>
<meta property="og:image:width" content="1200" /> <meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" /> <meta property="og:image:height" content="630" />
@@ -43,7 +46,10 @@
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={data.site.title} /> <meta name="twitter:title" content={data.site.title} />
<meta name="twitter:description" content={data.site.metaDescription} /> <meta name="twitter:description" content={data.site.metaDescription} />
<meta name="twitter:image" content="{data.site.url}/assets/images/mifi-{data.variant}-twitter-image.webp" /> <meta
name="twitter:image"
content="{data.site.url}/assets/images/mifi-{data.variant}-twitter-image.webp"
/>
<meta name="twitter:image:width" content="1200" /> <meta name="twitter:image:width" content="1200" />
<meta name="twitter:image:height" content="1200" /> <meta name="twitter:image:height" content="1200" />
</svelte:head> </svelte:head>

View File

@@ -12,5 +12,15 @@
"moduleResolution": "bundler" "moduleResolution": "bundler"
}, },
"include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"],
"exclude": ["node_modules", "dist", "build", "coverage", "playwright-report", "test-results", ".svelte-kit", "src/**/*.test.ts", "src/**/*.spec.ts"] "exclude": [
"node_modules",
"dist",
"build",
"coverage",
"playwright-report",
"test-results",
".svelte-kit",
"src/**/*.test.ts",
"src/**/*.spec.ts"
]
} }