From 1a851bbb254b8f0be27b7d35b4f682b619bfc24d Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 09:07:27 +0100 Subject: [PATCH 1/6] Remove webpack example unused .gitignore file All packages now build into `dist` and this was left behind --- docs/examples/webpack/.gitignore | 1 - 1 file changed, 1 deletion(-) delete mode 100644 docs/examples/webpack/.gitignore diff --git a/docs/examples/webpack/.gitignore b/docs/examples/webpack/.gitignore deleted file mode 100644 index 364fdec1aa..0000000000 --- a/docs/examples/webpack/.gitignore +++ /dev/null @@ -1 +0,0 @@ -public/ From 2fb052c0ecb98198afb6bd21612da78086c6cd11 Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 09:35:03 +0100 Subject: [PATCH 2/6] Update webpack example to use ` + diff --git a/docs/examples/webpack/webpack.config.js b/docs/examples/webpack/webpack.config.js index 3c6baf2f8b..945a85b356 100644 --- a/docs/examples/webpack/webpack.config.js +++ b/docs/examples/webpack/webpack.config.js @@ -76,7 +76,6 @@ module.exports = ({ WEBPACK_SERVE }, { mode }) => ({ format: { comments: false }, // Compatibility workarounds - ecma: 5, safari10: true } })] @@ -85,7 +84,7 @@ module.exports = ({ WEBPACK_SERVE }, { mode }) => ({ output: { clean: true, filename: 'assets/javascripts/[name].min.js', - library: { type: 'umd' }, + iife: true, path: destPath, publicPath: '/' }, @@ -108,5 +107,5 @@ module.exports = ({ WEBPACK_SERVE }, { mode }) => ({ errorDetails: true }, - target: ['web', 'es5'] + target: ['web', 'es2015'] }) From bbd18b86611492c13eba7854fa1dca1dc7b84848 Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 09:32:27 +0100 Subject: [PATCH 3/6] Update review app to use ` - + - + + {% endblock %} diff --git a/packages/govuk-frontend-review/src/views/examples/template-default/index.njk b/packages/govuk-frontend-review/src/views/examples/template-default/index.njk index 0b21b053ed..634f9c8a3e 100644 --- a/packages/govuk-frontend-review/src/views/examples/template-default/index.njk +++ b/packages/govuk-frontend-review/src/views/examples/template-default/index.njk @@ -10,8 +10,9 @@ {% endblock %} - {% block bodyEnd %} - - + + + + {% endblock %} diff --git a/packages/govuk-frontend-review/src/views/examples/translated/index.njk b/packages/govuk-frontend-review/src/views/examples/translated/index.njk index 68feecdefe..cdd0b6c3d9 100644 --- a/packages/govuk-frontend-review/src/views/examples/translated/index.njk +++ b/packages/govuk-frontend-review/src/views/examples/translated/index.njk @@ -937,8 +937,8 @@ {% endblock %} {% block bodyEnd %} - - + diff --git a/packages/govuk-frontend-review/src/views/full-page-examples/cookie-banner-essential-cookies/index.njk b/packages/govuk-frontend-review/src/views/full-page-examples/cookie-banner-essential-cookies/index.njk index 430ade8f57..603ce35945 100644 --- a/packages/govuk-frontend-review/src/views/full-page-examples/cookie-banner-essential-cookies/index.njk +++ b/packages/govuk-frontend-review/src/views/full-page-examples/cookie-banner-essential-cookies/index.njk @@ -156,7 +156,7 @@ notes: >- {# As the cookie banner component does not currently include JavaScript, we have to take care of the 'Hide' button to make progressive enhancement in the example functional #} - - + + {% endblock %} diff --git a/packages/govuk-frontend-review/src/views/tests/boilerplate.njk b/packages/govuk-frontend-review/src/views/tests/boilerplate.njk index 7f94afb486..c4cad6f8f4 100644 --- a/packages/govuk-frontend-review/src/views/tests/boilerplate.njk +++ b/packages/govuk-frontend-review/src/views/tests/boilerplate.njk @@ -12,6 +12,6 @@ Used during testing to inject rendered components and test specific configurations

- + diff --git a/packages/govuk-frontend/README.md b/packages/govuk-frontend/README.md index eb7969daa1..c89e2b2002 100644 --- a/packages/govuk-frontend/README.md +++ b/packages/govuk-frontend/README.md @@ -51,13 +51,13 @@ initialising Javascript in your application to ensure that all users can use it You can include Javascript for all components either by copying the `all.js` from `node_modules/govuk-frontend/dist/govuk/` into your application or referencing the file directly: ```html - + ``` Next you need to initialise the script by adding: ```html - + ``` [More details on importing Javascript and advanced options](https://frontend.design-system.service.gov.uk/importing-css-assets-and-javascript/#javascript) From 4678075097ad41bfee445c4a12055854e8935bca Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 09:34:44 +0100 Subject: [PATCH 4/6] Ensure review app iframe resizer runs after GOV.UK Frontend MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding the `defer` attribute matches ` + {% endblock %} diff --git a/packages/govuk-frontend-review/src/views/layouts/layout.njk b/packages/govuk-frontend-review/src/views/layouts/layout.njk index 13d5bf8169..405a9483f4 100644 --- a/packages/govuk-frontend-review/src/views/layouts/layout.njk +++ b/packages/govuk-frontend-review/src/views/layouts/layout.njk @@ -11,9 +11,11 @@ {% block bodyEnd %} {{ super() }} {% block scripts %} - + {% endblock %} {% endblock %} From e2432d5b0cd97564fe57e83daba8b41845a51a1c Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 09:29:30 +0100 Subject: [PATCH 5/6] Update comments regarding DOMContentLoaded listeners We only bind to `pageshow` now (slight edit) since: https://github.com/alphagov/govuk-frontend/commit/ae75de186bebc4cae0be78de26ee4c102db56504 --- .../govuk/components/character-count/character-count.mjs | 8 +++++--- .../src/govuk/components/checkboxes/checkboxes.mjs | 6 +++--- .../govuk-frontend/src/govuk/components/radios/radios.mjs | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/govuk-frontend/src/govuk/components/character-count/character-count.mjs b/packages/govuk-frontend/src/govuk/components/character-count/character-count.mjs index f6201ad3c0..1469a95692 100644 --- a/packages/govuk-frontend/src/govuk/components/character-count/character-count.mjs +++ b/packages/govuk-frontend/src/govuk/components/character-count/character-count.mjs @@ -193,11 +193,13 @@ CharacterCount.prototype.init = function () { this.bindChangeEvents() // When the page is restored after navigating 'back' in some browsers the - // state of the character count is not restored until *after* the - // DOMContentLoaded event is fired, so we need to manually update it after the - // pageshow event. + // state of form controls is not restored until *after* the DOMContentLoaded + // event is fired, so we need to sync after the pageshow event. window.addEventListener('pageshow', this.updateCountMessage.bind(this)) + // Although we've set up handlers to sync state on the pageshow event, init + // could be called after those events have fired, for example if they are + // added to the page dynamically, so update now too. this.updateCountMessage() } diff --git a/packages/govuk-frontend/src/govuk/components/checkboxes/checkboxes.mjs b/packages/govuk-frontend/src/govuk/components/checkboxes/checkboxes.mjs index 7dd33299e4..0938ff13ee 100644 --- a/packages/govuk-frontend/src/govuk/components/checkboxes/checkboxes.mjs +++ b/packages/govuk-frontend/src/govuk/components/checkboxes/checkboxes.mjs @@ -65,9 +65,9 @@ Checkboxes.prototype.init = function () { // event is fired, so we need to sync after the pageshow event. window.addEventListener('pageshow', this.syncAllConditionalReveals.bind(this)) - // Although we've set up handlers to sync state on the pageshow or - // DOMContentLoaded event, init could be called after those events have fired, - // for example if they are added to the page dynamically, so sync now too. + // Although we've set up handlers to sync state on the pageshow event, init + // could be called after those events have fired, for example if they are + // added to the page dynamically, so sync now too. this.syncAllConditionalReveals() // Handle events diff --git a/packages/govuk-frontend/src/govuk/components/radios/radios.mjs b/packages/govuk-frontend/src/govuk/components/radios/radios.mjs index 998831c75d..9ed3c09b98 100644 --- a/packages/govuk-frontend/src/govuk/components/radios/radios.mjs +++ b/packages/govuk-frontend/src/govuk/components/radios/radios.mjs @@ -65,9 +65,9 @@ Radios.prototype.init = function () { // event is fired, so we need to sync after the pageshow event. window.addEventListener('pageshow', this.syncAllConditionalReveals.bind(this)) - // Although we've set up handlers to sync state on the pageshow or - // DOMContentLoaded event, init could be called after those events have fired, - // for example if they are added to the page dynamically, so sync now too. + // Although we've set up handlers to sync state on the pageshow event, init + // could be called after those events have fired, for example if they are + // added to the page dynamically, so sync now too. this.syncAllConditionalReveals() // Handle events From 3bf546f1285d4925e68a733124f6cb89a8344156 Mon Sep 17 00:00:00 2001 From: Colin Rotherham Date: Thu, 8 Jun 2023 10:06:19 +0100 Subject: [PATCH 6/6] Update Terser configs to remove ES5 restrictions --- packages/govuk-frontend-review/rollup.config.mjs | 1 - packages/govuk-frontend/rollup.release.config.mjs | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/govuk-frontend-review/rollup.config.mjs b/packages/govuk-frontend-review/rollup.config.mjs index 06774e6789..342bc1ad3f 100644 --- a/packages/govuk-frontend-review/rollup.config.mjs +++ b/packages/govuk-frontend-review/rollup.config.mjs @@ -29,7 +29,6 @@ export default defineConfig(({ i: input }) => ({ }, // Compatibility workarounds - ecma: 5, safari10: true }) ] diff --git a/packages/govuk-frontend/rollup.release.config.mjs b/packages/govuk-frontend/rollup.release.config.mjs index ddbf21c3a2..fabb61cd9d 100644 --- a/packages/govuk-frontend/rollup.release.config.mjs +++ b/packages/govuk-frontend/rollup.release.config.mjs @@ -34,7 +34,6 @@ export default defineConfig(({ i: input }) => ({ }, // Compatibility workarounds - ecma: 5, safari10: true }) ],