Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
"private": true,
"scripts": {
"docusaurus": "docusaurus",
"prestart": "node scripts/ensure-popular-issues.mjs",
"start": "docusaurus start",
"prebuild": "node scripts/ensure-popular-issues.mjs",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
Expand Down
32 changes: 32 additions & 0 deletions website/scripts/ensure-popular-issues.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright 2025 Enactic, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Ensure static/data/popular-issues.json exists.
//
// The GitHubIssues component imports this file at build time, so the bundle
// fails to compile when it is missing. The file is generated by
// `npm run fetch-popular-issues` (used in CI), but that requires a GitHub
// token, so it is not available on a fresh checkout. This writes an empty
// fallback when the file is absent, letting `start` and `build` run without
// it. Existing data is never overwritten.

import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
import { dirname } from 'node:path';

const target = 'static/data/popular-issues.json';

if (!existsSync(target)) {
mkdirSync(dirname(target), { recursive: true });
writeFileSync(target, '[]\n');
}