@@ -9,28 +9,25 @@ import { execSync } from "node:child_process";
99// Replace __dirname in ES modules
1010const __dirname = dirname ( fileURLToPath ( import . meta. url ) ) ;
1111
12- const repoRoot = join ( __dirname , "../../" ) ; // back to repo root
12+ const repoRoot = join ( __dirname , "../../" ) ; // repo root
1313const reviewSrc = join ( __dirname , "src" ) ;
1414const 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
2018const telFrontendDir = join ( repoRoot , "packages/tel-frontend" ) ;
2119const 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
2625async 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
4845async 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)
8476async 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
10092async 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