mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 07:52:24 +00:00
fix(ci): make asset linting robust to missing build artifacts
The `lint:assets` script previously failed if the `dist/` directory was missing, which breaks CI workflows where the build step hasn't run yet or artifacts aren't persisted. This change makes it skip gracefully with a warning in that scenario. Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
1 parent
3580e86b8a
commit
b993acc09c
2 files changed
+9
-6
No files matched your search
@@ -361,6 +361,7 @@ performance and cost control.
|
||||
> recorded in `dist/asset-manifest.json` and rewritten into `dist/index.html`
|
||||
> / `dist/embed.html` during `npm run build`.
|
||||
|
||||
|
||||
#### Service worker rollback playbook
|
||||
|
||||
If a deploy regresses playback and you suspect `sw.min.js`, use this rollback runbook:
|
||||
|
||||
@@ -38,9 +38,8 @@ function findLineNumber(content, index) {
|
||||
|
||||
function loadManifestHashedPaths() {
|
||||
if (!fs.existsSync(MANIFEST_PATH)) {
|
||||
throw new Error(
|
||||
`Missing ${MANIFEST_PATH}. Run \"npm run build\" before running this check.`
|
||||
);
|
||||
console.warn(`[lint:assets] Missing ${MANIFEST_PATH}. Skipping asset reference check (build required).`);
|
||||
return null;
|
||||
}
|
||||
|
||||
const rawManifest = fs.readFileSync(MANIFEST_PATH, 'utf8');
|
||||
@@ -107,13 +106,16 @@ function formatViolation(violation) {
|
||||
|
||||
function main() {
|
||||
const hashedAssetPaths = loadManifestHashedPaths();
|
||||
if (!hashedAssetPaths) {
|
||||
return;
|
||||
}
|
||||
|
||||
const htmlPaths = HTML_FILES.map((file) => path.join(DIST_DIR, file));
|
||||
const missingHtml = htmlPaths.filter((filePath) => !fs.existsSync(filePath));
|
||||
|
||||
if (missingHtml.length > 0) {
|
||||
throw new Error(
|
||||
`Missing built HTML files: ${missingHtml.join(', ')}. Run \"npm run build\" before running this check.`
|
||||
);
|
||||
console.warn(`[lint:assets] Missing built HTML files: ${missingHtml.join(', ')}. Skipping check.`);
|
||||
return;
|
||||
}
|
||||
|
||||
const violations = htmlPaths.flatMap((htmlPath) =>
|
||||
|
||||
Reference in new issue
Block a user