Skip to content

Commit

Permalink
Add new govuk-frontend.min.css package bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
colinrotherham committed Sep 21, 2023
1 parent 8ef8e70 commit 1e93a54
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 7 deletions.
8 changes: 1 addition & 7 deletions docs/contributing/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ npm scripts are defined in `package.json`. These trigger a number of Gulp tasks.
- copy Sass files, applying Autoprefixer via PostCSS
- copy Nunjucks component template/macro files, including JSON configs
- copy GOV.UK Prototype Kit config files
- compile Sass to CSS
- compile JavaScript to ECMAScript (ES) modules
- compile JavaScript to Universal Module Definition (UMD) bundles
- compile Rollup build stats into `./shared/stats/dist`
Expand Down Expand Up @@ -83,13 +84,6 @@ This task will:

- check Sass code quality via Stylelint (`npm run lint:scss`)
- compile Sass to CSS into `./packages/govuk-frontend-review/dist/stylesheets`
- compile Sass documentation into `./packages/govuk-frontend-review/dist/docs/sassdoc`

**`npx --workspace @govuk-frontend/review -- gulp scripts`**

This task will:

- compile JavaScript documentation into `./packages/govuk-frontend-review/dist/docs/jsdoc`

## Review app only

Expand Down
11 changes: 11 additions & 0 deletions packages/govuk-frontend/tasks/build/package.unit.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,17 @@ describe('packages/govuk-frontend/dist/', () => {
])
)

// Only sass package entry is compiled to minified CSS bundle
.flatMap(
mapPathTo(['**/govuk/all.scss'], ({ dir: requirePath }) => [
join(requirePath, 'all.scss'),

// CSS bundle, minified
join(requirePath, 'govuk-frontend.min.css'),
join(requirePath, 'govuk-frontend.min.css.map') // with source map
])
)

// Add Autoprefixer prefixes to all source '*.scss' files
.flatMap(
mapPathTo(['**/*.scss'], ({ dir: requirePath, name }) => [
Expand Down
19 changes: 19 additions & 0 deletions packages/govuk-frontend/tasks/styles.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { join } from 'path'

import { pkg } from '@govuk-frontend/config'
import { styles, task } from '@govuk-frontend/tasks'
import gulp from 'gulp'

Expand All @@ -10,6 +11,24 @@ import gulp from 'gulp'
*/
export const compile = (options) =>
gulp.series(
/**
* Compile GOV.UK Frontend Sass
*/
task.name('compile:scss', () =>
styles.compile('all.scss', {
...options,

srcPath: join(options.srcPath, 'govuk'),
destPath: join(options.destPath, 'govuk'),
configPath: join(options.basePath, 'postcss.config.mjs'),

// Rename using package name and `*.min.css` extension
filePath({ dir }) {
return join(dir, `${pkg.name}.min.css`)
}
})
),

/**
* Apply CSS prefixes to GOV.UK Frontend Sass
*/
Expand Down

0 comments on commit 1e93a54

Please sign in to comment.