Skip to content

Commit

Permalink
Move component helpers into @govuk-frontend/lib/components
Browse files Browse the repository at this point in the history
  • Loading branch information
colinrotherham committed Oct 13, 2023
1 parent 003fbb0 commit 5e4c831
Show file tree
Hide file tree
Showing 37 changed files with 57 additions and 49 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Accordion', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('back-link component', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Breadcrumbs', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Button', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Cookie Banner', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Details', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Error message', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Error-summary', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Exit this page', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('fieldset', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('footer', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('header', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Hint', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Inset text', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Label', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Notification-banner', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Pagination', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Panel', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Skip link', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Summary list', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Table', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Tabs', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Tag', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Task List', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { htmlWithClassName } = require('@govuk-frontend/helpers/tests')
const { getExamples } = require('@govuk-frontend/lib/components')

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { render } = require('@govuk-frontend/helpers/nunjucks')
const { render } = require('@govuk-frontend/helpers/components')
const { getExamples } = require('@govuk-frontend/lib/components')

describe('Warning text', () => {
Expand Down
21 changes: 21 additions & 0 deletions shared/helpers/components.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
const components = require('@govuk-frontend/lib/components')
const cheerio = require('cheerio')

/**
* Render component HTML into cheerio
*
* @param {string} componentName - Component name
* @param {MacroRenderOptions} [options] - Nunjucks macro render options
* @returns {import('cheerio').CheerioAPI} HTML rendered by the macro
*/
function render(componentName, options) {
return cheerio.load(components.render(componentName, options))
}

module.exports = {
render
}

/**
* @typedef {import('@govuk-frontend/lib/nunjucks').MacroRenderOptions} MacroRenderOptions
*/
2 changes: 2 additions & 0 deletions shared/helpers/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
const components = require('./components')
const nunjucks = require('./nunjucks')
const puppeteer = require('./puppeteer')
const tests = require('./tests')
Expand All @@ -6,6 +7,7 @@ const tests = require('./tests')
* Helpers
*/
module.exports = {
components,
nunjucks,
puppeteer,
tests
Expand Down
15 changes: 0 additions & 15 deletions shared/helpers/nunjucks.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,6 @@
const components = require('@govuk-frontend/lib/components')
const nunjucks = require('@govuk-frontend/lib/nunjucks')
const cheerio = require('cheerio')

/**
* Render component HTML into cheerio
*
* @param {string} componentName - Component name
* @param {MacroRenderOptions} [options] - Nunjucks macro render options
* @returns {import('cheerio').CheerioAPI} HTML rendered by the macro
*/
function render(componentName, options) {
return cheerio.load(components.render(componentName, options))
}

/**
* Render template HTML into cheerio
*
Expand All @@ -25,12 +13,9 @@ function renderTemplate(templatePath, options) {
}

module.exports = {
render,
renderTemplate
}

/**
* @typedef {import('@govuk-frontend/lib/nunjucks').MacroOptions} MacroOptions
* @typedef {import('@govuk-frontend/lib/nunjucks').MacroRenderOptions} MacroRenderOptions
* @typedef {import('@govuk-frontend/lib/nunjucks').TemplateRenderOptions} TemplateRenderOptions
*/

0 comments on commit 5e4c831

Please sign in to comment.