Skip to content

Commit da0ca30

Browse files
Update build.mjs
1 parent 057b22c commit da0ca30

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

packages/tel-frontend-review/build.mjs

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,24 @@ const repoRoot = join(__dirname, "../../"); // back to repo root
1313
const reviewSrc = join(__dirname, "src");
1414
const reviewDist = join(__dirname, "dist");
1515

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

2123
// -------- Helpers --------
2224

2325
// Build the TEL Frontend package (CSS + JS) using Gulp
2426
async function buildTelFrontend() {
2527
console.log("Building TEL Frontend CSS + JS via Gulp...");
2628

29+
// Ensure dist folder exists and is clean
2730
await fse.emptyDir(telFrontendDist);
2831
await fse.ensureDir(telFrontendDist);
2932

33+
// Run Gulp build inside tel-frontend package
3034
try {
3135
execSync("npx gulp build", {
3236
cwd: telFrontendDir,
@@ -40,22 +44,30 @@ async function buildTelFrontend() {
4044
console.log("TEL Frontend CSS/JS built successfully");
4145
}
4246

43-
// Copy TEL frontend built files + review-specific assets
47+
// Copy built TEL frontend files + NHS frontend assets + review-specific assets
4448
async function buildReviewAssets() {
4549
console.log("Copying review site assets...");
4650

4751
await fse.ensureDir(join(reviewDist, "stylesheets"));
4852
await fse.ensureDir(join(reviewDist, "javascripts"));
4953

50-
// ✅ No more NHS dist copy — NHS styles now come in via Sass
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+
);
5163

5264
// Copy TEL frontend built files
5365
await fse.copy(
5466
join(telFrontendDist, "tel-frontend.css"),
5567
join(reviewDist, "stylesheets/tel-frontend.css")
5668
);
5769
await fse.copy(
58-
join(telFrontendDist, "tel-frontend.min.js"),
70+
join(telFrontendDist, "tel.min.js"),
5971
join(reviewDist, "javascripts/tel.min.js")
6072
);
6173

@@ -68,13 +80,13 @@ async function buildReviewAssets() {
6880
console.log("Review site assets copied");
6981
}
7082

71-
// Compile review site SCSS (for review site-specific + NHS styles)
83+
// Compile review site SCSS (for review site-specific styles)
7284
async function buildReviewCSS() {
7385
console.log("Building review site CSS...");
7486

7587
const css = sass.compile(join(reviewSrc, "scss/main.scss"), {
7688
style: "expanded",
77-
loadPaths: ["node_modules"], // allows @use "nhsuk-frontend/..." etc.
89+
loadPaths: ["node_modules"],
7890
});
7991

8092
const outDir = join(reviewDist, "stylesheets");
@@ -88,20 +100,18 @@ async function buildReviewCSS() {
88100
async function buildReviewHtml() {
89101
console.log("Rendering review site HTML...");
90102

91-
const telComponents = join(
92-
repoRoot,
93-
"packages/tel-frontend/src/tel/components"
94-
);
103+
const telComponents = join(repoRoot, "packages/tel-frontend/src/tel/components");
95104

96105
const env = nunjucks.configure(
97106
[
98-
reviewSrc, // review site source
99-
join(repoRoot, "node_modules/nhsuk-frontend/packages"), // NHS macros live here in v10
100-
telComponents, // TEL frontend macros
107+
reviewSrc, // review site source
108+
join(repoRoot, "node_modules/nhsuk-frontend"), // NHS macros
109+
telComponents // TEL frontend macros
101110
],
102111
{ autoescape: true }
103112
);
104113

114+
// Render root-level .njk files
105115
const files = await fse.readdir(reviewSrc);
106116
for (const file of files) {
107117
if (file.endsWith(".njk")) {
@@ -140,9 +150,16 @@ async function build() {
140150
try {
141151
await fse.emptyDir(reviewDist);
142152

153+
// Step 1: Build TEL frontend (CSS + JS) via Gulp
143154
await buildTelFrontend();
155+
156+
// Step 2: Copy assets (TEL + NHS + review site)
144157
await buildReviewAssets();
158+
159+
// Step 3: Compile review site SCSS
145160
await buildReviewCSS();
161+
162+
// Step 4: Render HTML pages
146163
await buildReviewHtml();
147164

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

0 commit comments

Comments
 (0)