Skip to content

Commit c92555d

Browse files
Update build.mjs
1 parent da0ca30 commit c92555d

File tree

1 file changed

+31
-39
lines changed

1 file changed

+31
-39
lines changed

packages/tel-frontend-review/build.mjs

Lines changed: 31 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,25 @@ import { execSync } from "node:child_process";
99
// Replace __dirname in ES modules
1010
const __dirname = dirname(fileURLToPath(import.meta.url));
1111

12-
const repoRoot = join(__dirname, "../../"); // back to repo root
12+
const repoRoot = join(__dirname, "../../"); // repo root
1313
const reviewSrc = join(__dirname, "src");
1414
const reviewDist = join(__dirname, "dist");
15+
const nhsukDist = join(repoRoot, "node_modules/nhsuk-frontend/dist");
1516

16-
// Correct NHS.UK v10 dist path
17-
const nhsukDist = join(repoRoot, "node_modules/nhsuk-frontend/dist/nhsuk");
18-
19-
// TEL frontend package paths
17+
// TEL frontend paths
2018
const telFrontendDir = join(repoRoot, "packages/tel-frontend");
2119
const telFrontendDist = join(telFrontendDir, "dist");
20+
const telFrontendSrcScss = join(telFrontendDir, "src/styles.scss");
2221

2322
// -------- Helpers --------
2423

2524
// Build the TEL Frontend package (CSS + JS) using Gulp
2625
async function buildTelFrontend() {
2726
console.log("Building TEL Frontend CSS + JS via Gulp...");
2827

29-
// Ensure dist folder exists and is clean
3028
await fse.emptyDir(telFrontendDist);
3129
await fse.ensureDir(telFrontendDist);
3230

33-
// Run Gulp build inside tel-frontend package
3431
try {
3532
execSync("npx gulp build", {
3633
cwd: telFrontendDir,
@@ -44,34 +41,29 @@ async function buildTelFrontend() {
4441
console.log("TEL Frontend CSS/JS built successfully");
4542
}
4643

47-
// Copy built TEL frontend files + NHS frontend assets + review-specific assets
44+
// Copy built TEL frontend files + NHS frontend assets + review site assets
4845
async function buildReviewAssets() {
4946
console.log("Copying review site assets...");
5047

51-
await fse.ensureDir(join(reviewDist, "stylesheets"));
52-
await fse.ensureDir(join(reviewDist, "javascripts"));
48+
const stylesDir = join(reviewDist, "stylesheets");
49+
const scriptsDir = join(reviewDist, "javascripts");
5350

54-
// Copy NHS.UK frontend dist (v10 paths)
55-
await fse.copy(
56-
join(nhsukDist, "nhsuk-frontend.min.css"),
57-
join(reviewDist, "stylesheets/nhsuk.min.css")
58-
);
59-
await fse.copy(
60-
join(nhsukDist, "nhsuk-frontend.min.js"),
61-
join(reviewDist, "javascripts/nhsuk.min.js")
62-
);
51+
await fse.ensureDir(stylesDir);
52+
await fse.ensureDir(scriptsDir);
6353

64-
// Copy TEL frontend built files
65-
await fse.copy(
66-
join(telFrontendDist, "tel-frontend.css"),
67-
join(reviewDist, "stylesheets/tel-frontend.css")
68-
);
69-
await fse.copy(
70-
join(telFrontendDist, "tel.min.js"),
71-
join(reviewDist, "javascripts/tel.min.js")
72-
);
54+
// --- NHS.UK Frontend v10 ---
55+
const nhsCssSrc = join(repoRoot, "node_modules/nhsuk-frontend/dist/nhsuk/nhsuk-frontend.min.css");
56+
const nhsJsSrc = join(repoRoot, "node_modules/nhsuk-frontend/dist/nhsuk/nhsuk-frontend.min.js");
57+
58+
await fse.copy(nhsCssSrc, join(stylesDir, "nhsuk.min.css"));
59+
await fse.copy(nhsJsSrc, join(scriptsDir, "nhsuk.min.js"));
60+
61+
// --- TEL Frontend ---
62+
await fse.copy(join(telFrontendDist, "tel-frontend.css"), join(stylesDir, "tel-frontend.css"));
63+
await fse.copy(join(telFrontendDist, "tel-frontend.js"), join(scriptsDir, "tel-frontend.js"));
64+
await fse.copy(join(telFrontendDist, "tel-frontend.min.js"), join(scriptsDir, "tel-frontend.min.js"));
7365

74-
// Copy static assets for review site (images, etc.)
66+
// --- Review site static assets ---
7567
const reviewAssetsSrc = join(reviewSrc, "assets");
7668
if (await fse.pathExists(reviewAssetsSrc)) {
7769
await fse.copy(reviewAssetsSrc, join(reviewDist, "assets"));
@@ -80,7 +72,7 @@ async function buildReviewAssets() {
8072
console.log("Review site assets copied");
8173
}
8274

83-
// Compile review site SCSS (for review site-specific styles)
75+
// Compile review site SCSS (review site-specific styles)
8476
async function buildReviewCSS() {
8577
console.log("Building review site CSS...");
8678

@@ -96,22 +88,22 @@ async function buildReviewCSS() {
9688
console.log("Review site CSS built at:", join(outDir, "review.css"));
9789
}
9890

99-
// Render review site Nunjucks pages
91+
// Render review site HTML using Nunjucks
10092
async function buildReviewHtml() {
10193
console.log("Rendering review site HTML...");
10294

10395
const telComponents = join(repoRoot, "packages/tel-frontend/src/tel/components");
10496

10597
const env = nunjucks.configure(
10698
[
107-
reviewSrc, // review site source
99+
reviewSrc, // review site source
108100
join(repoRoot, "node_modules/nhsuk-frontend"), // NHS macros
109-
telComponents // TEL frontend macros
101+
telComponents // TEL frontend macros
110102
],
111103
{ autoescape: true }
112104
);
113105

114-
// Render root-level .njk files
106+
// Root-level pages
115107
const files = await fse.readdir(reviewSrc);
116108
for (const file of files) {
117109
if (file.endsWith(".njk")) {
@@ -125,7 +117,7 @@ async function buildReviewHtml() {
125117
}
126118
}
127119

128-
// Render example pages
120+
// Example pages
129121
const examplesSrc = join(reviewSrc, "examples");
130122
const examplesDist = join(reviewDist, "examples");
131123
await fse.ensureDir(examplesDist);
@@ -150,16 +142,16 @@ async function build() {
150142
try {
151143
await fse.emptyDir(reviewDist);
152144

153-
// Step 1: Build TEL frontend (CSS + JS) via Gulp
145+
// 1. Build TEL frontend
154146
await buildTelFrontend();
155147

156-
// Step 2: Copy assets (TEL + NHS + review site)
148+
// 2. Copy assets
157149
await buildReviewAssets();
158150

159-
// Step 3: Compile review site SCSS
151+
// 3. Compile review SCSS
160152
await buildReviewCSS();
161153

162-
// Step 4: Render HTML pages
154+
// 4. Render review HTML
163155
await buildReviewHtml();
164156

165157
console.log("Review site build finished successfully");

0 commit comments

Comments
 (0)