govuk_publishing_components 21.59.0 → 21.60.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -6
  3. data/app/assets/javascripts/component_guide/accessibility-test.js +21 -21
  4. data/app/assets/javascripts/component_guide/filter-components.js +19 -19
  5. data/app/assets/javascripts/component_guide/visual-regression.js +38 -37
  6. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +2 -2
  7. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +4 -4
  8. data/app/assets/javascripts/govuk_publishing_components/lib/auto-track-event.js +31 -0
  9. data/app/assets/javascripts/govuk_publishing_components/lib/cookie-functions.js +24 -24
  10. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +17 -17
  11. data/app/assets/stylesheets/component_guide/application.scss +15 -15
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +0 -8
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +1 -1
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss +4 -0
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss +1 -8
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +0 -1
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +4 -5
  18. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +3 -8
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +1 -1
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_input.scss +1 -1
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss +5 -8
  22. data/app/assets/stylesheets/govuk_publishing_components/components/_radio.scss +4 -0
  23. data/app/assets/stylesheets/govuk_publishing_components/components/_related-navigation.scss +2 -2
  24. data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +0 -1
  25. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +0 -5
  26. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +1 -4
  27. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +8 -12
  28. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +21 -24
  29. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +4 -8
  30. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +2 -0
  31. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +1 -4
  32. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +2 -4
  33. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +2 -0
  34. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +2 -0
  35. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +2 -0
  36. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +1 -1
  37. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +2 -0
  38. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +1 -1
  39. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +2 -0
  40. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -4
  41. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav.scss +2 -10
  42. data/app/controllers/govuk_publishing_components/audit_controller.rb +2 -2
  43. data/app/controllers/govuk_publishing_components/component_guide_controller.rb +2 -2
  44. data/app/models/govuk_publishing_components/audit_applications.rb +19 -13
  45. data/app/models/govuk_publishing_components/audit_comparer.rb +64 -51
  46. data/app/models/govuk_publishing_components/audit_components.rb +25 -6
  47. data/app/views/govuk_publishing_components/audit/show.html.erb +198 -190
  48. data/app/views/govuk_publishing_components/component_guide/index.html.erb +3 -1
  49. data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +1 -1
  50. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  51. data/app/views/govuk_publishing_components/components/_radio.html.erb +13 -5
  52. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +2 -2
  53. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +4 -0
  54. data/app/views/govuk_publishing_components/components/docs/heading.yml +6 -3
  55. data/app/views/govuk_publishing_components/components/docs/radio.yml +4 -0
  56. data/lib/govuk_publishing_components/presenters/checkboxes_helper.rb +15 -7
  57. data/lib/govuk_publishing_components/presenters/heading_helper.rb +21 -1
  58. data/lib/govuk_publishing_components/version.rb +1 -1
  59. data/node_modules/axe-core/package.json +145 -220
  60. data/node_modules/govuk-frontend/package.json +14 -81
  61. data/node_modules/jquery/package.json +44 -116
  62. metadata +24 -66
  63. data/Rakefile +0 -37
@@ -5,7 +5,9 @@
5
5
  <p>See the <a href="https://github.com/alphagov/govuk_publishing_components">govuk_publishing_components gem</a> for further details, or <a href="https://docs.publishing.service.gov.uk/manual/components.html#component-guides">a list of all component guides</a>.</p>
6
6
  <ul>
7
7
  <li>Read about how to <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/publishing-to-rubygems.md">release a new version of the gem</a></li>
8
- <li><a href="/component-guide/audit">View component audits</a></li>
8
+ <% if ENV["MAIN_COMPONENT_GUIDE"] %>
9
+ <li><a href="/component-guide/audit">View component audits</a></li>
10
+ <% end %>
9
11
  </ul>
10
12
  </div>
11
13
 
@@ -10,7 +10,7 @@
10
10
  %>
11
11
 
12
12
  <script type="application/ld+json">
13
- <%= raw breadcrumb_presenter.structured_data.to_json %>
13
+ <%= raw JSON.pretty_generate(breadcrumb_presenter.structured_data) %>
14
14
  </script>
15
15
 
16
16
  <div class="<%= classes %>" data-module="track-click">
@@ -9,7 +9,7 @@
9
9
  <% structured_data = GovukPublishingComponents::Presenters::SchemaOrg.new(page).structured_data %>
10
10
 
11
11
  <script type="application/ld+json">
12
- <%= raw structured_data.to_json %>
12
+ <%= raw JSON.pretty_generate(structured_data) %>
13
13
  </script>
14
14
 
15
15
  <link rel="canonical" href="<%= page.canonical_url %>" />
@@ -6,10 +6,18 @@
6
6
  label ||= nil
7
7
  heading ||= nil
8
8
  heading_caption ||= nil
9
+ heading_size ||= nil
9
10
  small ||= false
10
11
  inline ||= false
11
12
  is_page_heading ||= false
12
- heading_size = 'm' unless ['s', 'm', 'l', 'xl'].include?(heading_size)
13
+
14
+ if ['s', 'm', 'l', 'xl'].include?(heading_size)
15
+ size = heading_size
16
+ elsif is_page_heading
17
+ size = 'xl'
18
+ else
19
+ size = 'm'
20
+ end
13
21
 
14
22
  description ||= nil
15
23
  hint ||= nil
@@ -28,7 +36,7 @@
28
36
  radio_classes << "govuk-radios--inline" if inline
29
37
 
30
38
  legend_classes = %w(govuk-fieldset__legend)
31
- legend_classes << "govuk-fieldset__legend--#{heading_size}"
39
+ legend_classes << "govuk-fieldset__legend--#{size}"
32
40
 
33
41
  aria = "#{hint_id} #{"#{error_id}" if has_error}".strip if hint or has_error
34
42
 
@@ -40,9 +48,9 @@
40
48
 
41
49
  <% if heading.present? %>
42
50
  <% if is_page_heading %>
43
- <%= tag.legend class: "govuk-fieldset__legend govuk-fieldset__legend--xl gem-c-title" do %>
44
- <%= tag.span(heading_caption, class: "govuk-caption-xl") if heading_caption.present? %>
45
- <%= tag.h1 heading, class: "gem-c-title__text" %>
51
+ <%= tag.legend class: legend_classes do %>
52
+ <%= tag.span(heading_caption, class: "govuk-caption-#{size}") if heading_caption.present? %>
53
+ <%= tag.h1 heading, class: "gem-c-radio__heading-text govuk-fieldset__heading" %>
46
54
  <% end %>
47
55
  <% else %>
48
56
  <%= tag.legend heading, class: legend_classes %>
@@ -25,14 +25,14 @@
25
25
  %>
26
26
  <% if title %>
27
27
  <script type="application/ld+json">
28
- <%= raw breadcrumb_presenter.structured_data.to_json %>
28
+ <%= raw JSON.pretty_generate(breadcrumb_presenter.structured_data) %>
29
29
  </script>
30
30
 
31
31
  <div class="<%= classes %>" data-module="track-click">
32
32
  <span class="gem-c-step-nav-header__part-of">Part of</span>
33
33
  <% if path %>
34
34
  <a href="<%= path %>"
35
- class="gem-c-step-nav-header__title"
35
+ class="gem-c-step-nav-header__title govuk-link"
36
36
  data-track-category="<%= tracking_category %>"
37
37
  data-track-action="<%= tracking_action %>"
38
38
  data-track-label="<%= tracking_label %>"
@@ -184,6 +184,10 @@ examples:
184
184
  - label: "Blue"
185
185
  value: "blue"
186
186
  with_custom_heading_size:
187
+ description: |
188
+ This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
189
+
190
+ If the is_page_heading option is true and heading_size is not set, the text size will be xl.
187
191
  data:
188
192
  name: "favourite_colour"
189
193
  heading: "What is your favourite colour?"
@@ -24,10 +24,13 @@ examples:
24
24
  text: 'Original consultation'
25
25
  heading_level: 3
26
26
  different_font_sizes:
27
- description: Choose a different font size. Valid options are 24 (24px) and 19 (19px), with the component defaulting to 27px, appropriate for a H1. This option is not tied to the heading_level option in order to give flexibility.
27
+ description: |
28
+ Set a different font size for the heading. Uses the [GOV.UK Frontend heading sizes](https://design-system.service.gov.uk/styles/typography/#headings) but defaults to 27px for legacy reasons. Valid options are `xl`, `l`, `m` and `s`.
29
+
30
+ This option is not tied to the heading_level option in order to give flexibility.
28
31
  data:
29
- text: 'Heading 3'
30
- font_size: 19
32
+ text: 'One big heading'
33
+ font_size: "xl"
31
34
  with_id_attribute:
32
35
  data:
33
36
  text: 'Detail of outcome'
@@ -183,6 +183,10 @@ examples:
183
183
  - value: "blue"
184
184
  text: "Blue"
185
185
  with_custom_heading_size:
186
+ description: |
187
+ This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
188
+
189
+ If the is_page_heading option is true and heading_size is not set, the text size will be xl.
186
190
  data:
187
191
  name: "radio-group-description"
188
192
  heading: "What is your favourite colour?"
@@ -14,7 +14,6 @@ module GovukPublishingComponents
14
14
  :id,
15
15
  :hint_text,
16
16
  :description,
17
- :heading_size,
18
17
  :heading_caption,
19
18
  :has_exclusive
20
19
 
@@ -35,9 +34,8 @@ module GovukPublishingComponents
35
34
 
36
35
  @id = options[:id] || "checkboxes-#{SecureRandom.hex(4)}"
37
36
  @heading = options[:heading] || nil
38
- @heading_size = options[:heading_size]
39
- @heading_size = "m" unless %w[s m l xl].include?(@heading_size)
40
37
  @heading_caption = options[:heading_caption] || nil
38
+ @heading_size = options[:heading_size] || nil
41
39
  @is_page_heading = options[:is_page_heading]
42
40
  @description = options[:description] || nil
43
41
  @no_hint_text = options[:no_hint_text]
@@ -60,20 +58,30 @@ module GovukPublishingComponents
60
58
  end
61
59
  end
62
60
 
61
+ def size
62
+ if %w[s m l xl].include?(@heading_size)
63
+ @heading_size
64
+ elsif @is_page_heading
65
+ "xl"
66
+ else
67
+ "m"
68
+ end
69
+ end
70
+
63
71
  def heading_markup
64
72
  return unless @heading.present?
65
73
 
66
74
  if @is_page_heading
67
75
  content_tag(
68
76
  :legend,
69
- class: "govuk-fieldset__legend govuk-fieldset__legend--xl gem-c-title",
77
+ class: "govuk-fieldset__legend govuk-fieldset__legend--#{size}",
70
78
  ) do
71
- concat content_tag(:span, heading_caption, class: "govuk-caption-xl") if heading_caption.present?
72
- concat content_tag(:h1, @heading, class: "gem-c-title__text")
79
+ concat content_tag(:span, heading_caption, class: "govuk-caption-#{size}") if heading_caption.present?
80
+ concat content_tag(:h1, @heading, class: "gem-c-checkboxes__heading-text govuk-fieldset__heading")
73
81
  end
74
82
  else
75
83
  classes = %w[govuk-fieldset__legend]
76
- classes << "govuk-fieldset__legend--#{@heading_size}"
84
+ classes << "govuk-fieldset__legend--#{size}"
77
85
  classes << "gem-c-checkboxes__legend--hidden" if @visually_hide_heading
78
86
 
79
87
  content_tag(:legend, @heading, class: classes)
@@ -7,12 +7,32 @@ module GovukPublishingComponents
7
7
  @id = options[:id]
8
8
 
9
9
  @classes = ""
10
- @classes << " gem-c-heading--font-size-#{options[:font_size]}" if [24, 19].include? options[:font_size]
10
+ @classes << heading_size(options[:font_size])
11
11
  @classes << " gem-c-heading--mobile-top-margin" if options[:mobile_top_margin]
12
12
  @classes << " gem-c-heading--padding" if options[:padding]
13
13
  @classes << " gem-c-heading--border-top-#{options[:border_top]}" if [1, 2, 5].include? options[:border_top]
14
14
  @classes << " gem-c-heading--inverse" if options[:inverse]
15
15
  end
16
+
17
+ private
18
+
19
+ def heading_size(option)
20
+ gem_class = "gem-c-heading--font-size-"
21
+ govuk_class = "govuk-heading-"
22
+
23
+ case option
24
+ when "xl"
25
+ "#{govuk_class}xl"
26
+ when "l"
27
+ "#{govuk_class}l"
28
+ when 24, "m"
29
+ "#{govuk_class}m"
30
+ when 19, "s"
31
+ "#{govuk_class}s"
32
+ else
33
+ "#{gem_class}27"
34
+ end
35
+ end
16
36
  end
17
37
  end
18
38
  end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "21.59.0".freeze
2
+ VERSION = "21.60.0".freeze
3
3
  end
@@ -1,222 +1,147 @@
1
1
  {
2
- "_args": [
3
- [
4
- {
5
- "raw": "axe-core@^3.5.4",
6
- "scope": null,
7
- "escapedName": "axe-core",
8
- "name": "axe-core",
9
- "rawSpec": "^3.5.4",
10
- "spec": ">=3.5.4 <4.0.0",
11
- "type": "range"
12
- },
13
- "/var/lib/jenkins/workspace/ublishing_components_master-N4FWJIUY4CIFHKGZOAAEVVXODRY3YBORQOPIBBXWX72VUPSGJRRQ"
14
- ]
15
- ],
16
- "_from": "axe-core@>=3.5.4 <4.0.0",
17
- "_hasShrinkwrap": false,
18
- "_id": "axe-core@3.5.5",
19
- "_inCache": true,
20
- "_location": "/axe-core",
21
- "_nodeVersion": "10.21.0",
22
- "_npmOperationalInternal": {
23
- "host": "s3://npm-registry-packages",
24
- "tmp": "tmp/axe-core_3.5.5_1592406217427_0.7348143825163969"
25
- },
26
- "_npmUser": {
27
- "name": "npmdeque",
28
- "email": "axe@deque.com"
29
- },
30
- "_npmVersion": "6.14.4",
31
- "_phantomChildren": {},
32
- "_requested": {
33
- "raw": "axe-core@^3.5.4",
34
- "scope": null,
35
- "escapedName": "axe-core",
36
- "name": "axe-core",
37
- "rawSpec": "^3.5.4",
38
- "spec": ">=3.5.4 <4.0.0",
39
- "type": "range"
40
- },
41
- "_requiredBy": [
42
- "/"
43
- ],
44
- "_resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz",
45
- "_shasum": "84315073b53fa3c0c51676c588d59da09a192227",
46
- "_shrinkwrap": null,
47
- "_spec": "axe-core@^3.5.4",
48
- "_where": "/var/lib/jenkins/workspace/ublishing_components_master-N4FWJIUY4CIFHKGZOAAEVVXODRY3YBORQOPIBBXWX72VUPSGJRRQ",
49
- "bugs": {
50
- "url": "https://github.com/dequelabs/axe-core/issues"
51
- },
52
- "contributors": [
53
- {
54
- "name": "David Sturley",
55
- "url": "http://deque.com/"
56
- },
57
- {
58
- "name": "Dylan Barrell",
59
- "email": "dylan@barrell.com",
60
- "url": "http://deque.com/"
61
- },
62
- {
63
- "name": "Wilco Fiers",
64
- "url": "http://deque.com/"
65
- },
66
- {
67
- "name": "Dian Fay",
68
- "url": "http://deque.com/"
69
- },
70
- {
71
- "name": "Marcy Sutton",
72
- "url": "http://deque.com/"
73
- }
74
- ],
75
- "dependencies": {},
76
- "description": "Accessibility engine for automated Web UI testing",
77
- "devDependencies": {
78
- "@babel/core": "^7.5.4",
79
- "@babel/plugin-proposal-object-rest-spread": "^7.5.4",
80
- "@babel/polyfill": "^7.4.4",
81
- "@babel/preset-env": "^7.5.4",
82
- "@deque/dot": "^1.1.5",
83
- "aria-query": "^3.0.0",
84
- "axios": "^0.19.0",
85
- "babelify": "^10.0.0",
86
- "blanket": "~1.2.3",
87
- "browserify": "^16.2.3",
88
- "chai": "~4.2.0",
89
- "clone": "~2.1.1",
90
- "core-js": "^3.2.1",
91
- "css-selector-parser": "^1.3.0",
92
- "derequire": "^2.0.6",
93
- "emoji-regex": "8.0.0",
94
- "es6-promise": "^4.2.6",
95
- "eslint": "^6.1.0",
96
- "eslint-config-prettier": "^6.2.0",
97
- "execa": "^2.0.2",
98
- "fs-extra": "^8.0.1",
99
- "globby": "^10.0.0",
100
- "grunt": "^1.0.3",
101
- "grunt-babel": "^8.0.0",
102
- "grunt-contrib-clean": "^2.0.0",
103
- "grunt-contrib-concat": "^1.0.1",
104
- "grunt-contrib-connect": "^2.0.0",
105
- "grunt-contrib-copy": "^1.0.0",
106
- "grunt-contrib-uglify": "^4.0.0",
107
- "grunt-contrib-watch": "^1.1.0",
108
- "grunt-parallel": "^0.5.1",
109
- "grunt-run": "^0.8.1",
110
- "html-entities": "^1.2.0",
111
- "husky": "^3.0.0",
112
- "jquery": "^3.0.0",
113
- "jsdoc": "^3.5.5",
114
- "lint-staged": "^9.2.1",
115
- "make-dir": "^3.0.0",
116
- "markdown-table": "^1.1.2",
117
- "memoizee": "^0.4.14",
118
- "minami": "^1.2.3",
119
- "mkdirp": "^0.5.1",
120
- "mocha": "^6.1.2",
121
- "mocha-headless-chrome": "^2.0.3",
122
- "prettier": "^1.17.1",
123
- "puppeteer": "^2.0.0",
124
- "revalidator": "~0.3.1",
125
- "selenium-webdriver": "~3.6.0",
126
- "sinon": "^7.5.0",
127
- "sri-toolbox": "^0.2.0",
128
- "standard-version": "^7.0.0",
129
- "typescript": "^3.5.3",
130
- "uglify-js": "^3.4.4",
131
- "weakmap-polyfill": "^2.0.0"
132
- },
133
- "directories": {},
134
- "dist": {
135
- "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==",
136
- "shasum": "84315073b53fa3c0c51676c588d59da09a192227",
137
- "tarball": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz",
138
- "fileCount": 596,
139
- "unpackedSize": 2642777,
140
- "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6jDJCRA9TVsSAnZWagAAGCMQAJ1oBZRRo34GrgSa/2t6\nYeU2J8z5qkLNFILI65HVEzcu2e/TL8rHFgi9Q1Ga4szh41PTXJd0YfnPvYWt\nx+EiZ+TSoeSSksj5VoS3wjQFn2cQ55LyUOW0lQ3s1sPwEgALZPG3pLCn7GW+\nZiOW+Ai1FHESY/dbxZ1Rl1IrOt+jbOZqsczb0yk8PkZ9QwPJjZL70iLI8DRL\n5JMGoAmO4dJ3Vk+t2Dhy7vnwz+bFbs9lRKZaBJp4dYqY0F8HHC91hROv9pTP\n4hCNXevA6SKSf/Ddl7ub51EN1qQalYHQTQ0al4i0isv6NPlUnPVYaGzTHpZE\n2OTvoZ+dVqSDnCJqYH/WrIRfO0xA3bKTlRn6HyMkHFJOcXmi6NR/47uQfY/6\nr5a/N7nBsWh92aaoEw9ZVoNyMAgeEJlOt5uzXQgOWgJM8WIpqbTUJOeqXfEe\nI9FC2NhNU8Gqw9Ee24KCrCg8PWeODV/r47IHkQRdHqoqh1+/hzkUUhVP1smC\n6eI8qFTnhwws+EwNbxvBg73BCwsEiRwXaE7U0PToPLQvxyr0CRjqzJsl6Hhi\nOowldaReyMQALfJTipnc/Eb1VqCVQ1ABaYltnyVRnCL22mZUJGgq65OINJjT\nYGr9pWAh8r+C4MkIJf8C05eYJB6QL8+kry8YDDDtd2NdUHW8IKOax1p3MuqD\nG8u9\r\n=lmaS\r\n-----END PGP SIGNATURE-----\r\n"
141
- },
142
- "engines": {
143
- "node": ">=4"
144
- },
145
- "gitHead": "c19c8b616f9ed836fb72f14aaaff53072ea13fdc",
146
- "homepage": "https://www.deque.com/axe/",
147
- "keywords": [
148
- "Accessibility",
149
- "a11y",
150
- "testing",
151
- "unit",
152
- "tdd",
153
- "bdd",
154
- "axe"
155
- ],
156
- "license": "MPL-2.0",
157
- "lint-staged": {
158
- "*.{md,json,ts,html}": [
159
- "prettier --write",
160
- "git add"
161
- ],
162
- "*.js": [
163
- "eslint --fix",
164
- "prettier --write",
165
- "git add"
166
- ]
167
- },
168
- "main": "axe.js",
169
- "maintainers": [
170
- {
171
- "name": "dequelabs",
172
- "email": "labs@deque.com"
173
- },
174
- {
175
- "name": "dylanb",
176
- "email": "dylan@barrell.com"
177
- },
178
- {
179
- "name": "marcysutton",
180
- "email": "marcy.sutton@deque.com"
181
- },
182
- {
183
- "name": "wilcofiers",
184
- "email": "wilcofiers@gmail.com"
185
- }
186
- ],
187
- "name": "axe-core",
188
- "optionalDependencies": {},
189
- "readme": "ERROR: No README data found!",
190
- "repository": {
191
- "type": "git",
192
- "url": "git+https://github.com/dequelabs/axe-core.git"
193
- },
194
- "scripts": {
195
- "api-docs": "jsdoc --configure .jsdoc.json",
196
- "build": "grunt",
197
- "develop": "grunt dev --force",
198
- "eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",
199
- "fmt": "prettier --write *.{json,md,js} **/*.ts './{.github,build,doc,lib,test}/**/*.{json,md,js,ts,html}'",
200
- "imports-gen": "node ./build/imports-generator",
201
- "next-release": "standard-version --scripts.prebump=./build/next-version.js --skip.commit=true --skip.tag=true",
202
- "prepublishOnly": "grunt build && grunt file-exists",
203
- "release": "standard-version -a",
204
- "rule-gen": "node build/rule-generator",
205
- "sri-update": "grunt build && node build/sri-update && git add sri-history.json",
206
- "sri-validate": "node build/sri-update --validate",
207
- "start": "npm run develop",
208
- "test": "tsc && grunt test",
209
- "test:examples": "node ./doc/examples/test-examples",
210
- "test:headless": "node ./build/test/headless",
211
- "test:locales": "mocha test/test-locales.js",
212
- "test:rule-help-version": "mocha test/test-rule-help-version.js",
213
- "version": "echo \"use 'npm run release' to bump axe-core version\" && exit 1"
214
- },
215
- "standard-version": {
216
- "scripts": {
217
- "postbump": "npm ci && npm run sri-update"
218
- }
219
- },
220
- "typings": "axe.d.ts",
221
- "version": "3.5.5"
2
+ "name": "axe-core",
3
+ "description": "Accessibility engine for automated Web UI testing",
4
+ "version": "3.5.5",
5
+ "license": "MPL-2.0",
6
+ "engines": {
7
+ "node": ">=4"
8
+ },
9
+ "contributors": [
10
+ {
11
+ "name": "David Sturley",
12
+ "organization": "Deque Systems, Inc.",
13
+ "url": "http://deque.com/"
14
+ },
15
+ {
16
+ "name": "Dylan Barrell",
17
+ "email": "dylan@barrell.com",
18
+ "organization": "Deque Systems, Inc.",
19
+ "url": "http://deque.com/"
20
+ },
21
+ {
22
+ "name": "Wilco Fiers",
23
+ "organization": "Deque Systems, Inc.",
24
+ "url": "http://deque.com/"
25
+ },
26
+ {
27
+ "name": "Dian Fay",
28
+ "organization": "Deque Systems, Inc.",
29
+ "url": "http://deque.com/"
30
+ },
31
+ {
32
+ "name": "Marcy Sutton",
33
+ "organization": "Deque Systems, Inc.",
34
+ "url": "http://deque.com/"
35
+ }
36
+ ],
37
+ "homepage": "https://www.deque.com/axe/",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/dequelabs/axe-core.git"
41
+ },
42
+ "keywords": [
43
+ "Accessibility",
44
+ "a11y",
45
+ "testing",
46
+ "unit",
47
+ "tdd",
48
+ "bdd",
49
+ "axe"
50
+ ],
51
+ "main": "axe.js",
52
+ "typings": "axe.d.ts",
53
+ "standard-version": {
54
+ "scripts": {
55
+ "postbump": "npm ci && npm run sri-update"
56
+ }
57
+ },
58
+ "scripts": {
59
+ "start": "npm run develop",
60
+ "develop": "grunt dev --force",
61
+ "api-docs": "jsdoc --configure .jsdoc.json",
62
+ "imports-gen": "node ./build/imports-generator",
63
+ "build": "grunt",
64
+ "eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",
65
+ "test:headless": "node ./build/test/headless",
66
+ "test": "tsc && grunt test",
67
+ "test:examples": "node ./doc/examples/test-examples",
68
+ "test:locales": "mocha test/test-locales.js",
69
+ "test:rule-help-version": "mocha test/test-rule-help-version.js",
70
+ "version": "echo \"use 'npm run release' to bump axe-core version\" && exit 1",
71
+ "prepublishOnly": "grunt build && grunt file-exists",
72
+ "release": "standard-version -a",
73
+ "rule-gen": "node build/rule-generator",
74
+ "next-release": "standard-version --scripts.prebump=./build/next-version.js --skip.commit=true --skip.tag=true",
75
+ "sri-update": "grunt build && node build/sri-update && git add sri-history.json",
76
+ "sri-validate": "node build/sri-update --validate",
77
+ "fmt": "prettier --write *.{json,md,js} **/*.ts './{.github,build,doc,lib,test}/**/*.{json,md,js,ts,html}'"
78
+ },
79
+ "devDependencies": {
80
+ "@babel/core": "^7.5.4",
81
+ "@babel/plugin-proposal-object-rest-spread": "^7.5.4",
82
+ "@babel/polyfill": "^7.4.4",
83
+ "@babel/preset-env": "^7.5.4",
84
+ "@deque/dot": "^1.1.5",
85
+ "aria-query": "^3.0.0",
86
+ "axios": "^0.19.0",
87
+ "babelify": "^10.0.0",
88
+ "blanket": "~1.2.3",
89
+ "browserify": "^16.2.3",
90
+ "chai": "~4.2.0",
91
+ "clone": "~2.1.1",
92
+ "core-js": "^3.2.1",
93
+ "css-selector-parser": "^1.3.0",
94
+ "derequire": "^2.0.6",
95
+ "emoji-regex": "8.0.0",
96
+ "es6-promise": "^4.2.6",
97
+ "eslint": "^6.1.0",
98
+ "eslint-config-prettier": "^6.2.0",
99
+ "execa": "^2.0.2",
100
+ "fs-extra": "^8.0.1",
101
+ "globby": "^10.0.0",
102
+ "grunt": "^1.0.3",
103
+ "grunt-babel": "^8.0.0",
104
+ "grunt-contrib-clean": "^2.0.0",
105
+ "grunt-contrib-concat": "^1.0.1",
106
+ "grunt-contrib-connect": "^2.0.0",
107
+ "grunt-contrib-copy": "^1.0.0",
108
+ "grunt-contrib-uglify": "^4.0.0",
109
+ "grunt-contrib-watch": "^1.1.0",
110
+ "grunt-parallel": "^0.5.1",
111
+ "grunt-run": "^0.8.1",
112
+ "html-entities": "^1.2.0",
113
+ "husky": "^3.0.0",
114
+ "jquery": "^3.0.0",
115
+ "jsdoc": "^3.5.5",
116
+ "lint-staged": "^9.2.1",
117
+ "make-dir": "^3.0.0",
118
+ "markdown-table": "^1.1.2",
119
+ "memoizee": "^0.4.14",
120
+ "minami": "^1.2.3",
121
+ "mkdirp": "^0.5.1",
122
+ "mocha": "^6.1.2",
123
+ "mocha-headless-chrome": "^2.0.3",
124
+ "prettier": "^1.17.1",
125
+ "puppeteer": "^2.0.0",
126
+ "revalidator": "~0.3.1",
127
+ "selenium-webdriver": "~3.6.0",
128
+ "sinon": "^7.5.0",
129
+ "sri-toolbox": "^0.2.0",
130
+ "standard-version": "^7.0.0",
131
+ "typescript": "^3.5.3",
132
+ "uglify-js": "^3.4.4",
133
+ "weakmap-polyfill": "^2.0.0"
134
+ },
135
+ "dependencies": {},
136
+ "lint-staged": {
137
+ "*.{md,json,ts,html}": [
138
+ "prettier --write",
139
+ "git add"
140
+ ],
141
+ "*.js": [
142
+ "eslint --fix",
143
+ "prettier --write",
144
+ "git add"
145
+ ]
146
+ }
222
147
  }