govuk_publishing_components 21.56.2 → 21.60.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) 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/details.js +6 -4
  8. data/app/assets/javascripts/govuk_publishing_components/components/print-link.js +14 -0
  9. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +4 -4
  10. data/app/assets/javascripts/govuk_publishing_components/lib/auto-track-event.js +31 -0
  11. data/app/assets/javascripts/govuk_publishing_components/lib/cookie-functions.js +24 -24
  12. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +17 -17
  13. data/app/assets/stylesheets/component_guide/application.scss +15 -15
  14. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +9 -11
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +1 -1
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss +4 -0
  18. data/app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss +5 -8
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +0 -1
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +4 -5
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +3 -8
  22. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +1 -1
  23. data/app/assets/stylesheets/govuk_publishing_components/components/_input.scss +1 -1
  24. data/app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss +5 -8
  25. data/app/assets/stylesheets/govuk_publishing_components/components/_list.scss +1 -0
  26. data/app/assets/stylesheets/govuk_publishing_components/components/_print-link.scss +52 -0
  27. data/app/assets/stylesheets/govuk_publishing_components/components/_radio.scss +4 -0
  28. data/app/assets/stylesheets/govuk_publishing_components/components/_related-navigation.scss +2 -2
  29. data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +7 -3
  30. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +0 -5
  31. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +1 -4
  32. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +8 -12
  33. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +21 -24
  34. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +4 -8
  35. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +2 -0
  36. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +1 -4
  37. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +2 -4
  38. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +2 -0
  39. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +2 -0
  40. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +2 -0
  41. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +1 -1
  42. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +2 -0
  43. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +1 -1
  44. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +7 -1
  45. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -4
  46. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav.scss +2 -10
  47. data/app/controllers/govuk_publishing_components/audit_controller.rb +52 -0
  48. data/app/controllers/govuk_publishing_components/component_guide_controller.rb +2 -1
  49. data/app/models/govuk_publishing_components/audit_applications.rb +105 -0
  50. data/app/models/govuk_publishing_components/audit_comparer.rb +185 -0
  51. data/app/models/govuk_publishing_components/audit_components.rb +158 -0
  52. data/app/views/govuk_publishing_components/audit/show.html.erb +229 -0
  53. data/app/views/govuk_publishing_components/component_guide/index.html.erb +9 -4
  54. data/app/views/govuk_publishing_components/components/_action_link.html.erb +2 -0
  55. data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +1 -1
  56. data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +3 -1
  57. data/app/views/govuk_publishing_components/components/_list.html.erb +26 -0
  58. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  59. data/app/views/govuk_publishing_components/components/_print_link.html.erb +27 -0
  60. data/app/views/govuk_publishing_components/components/_radio.html.erb +13 -5
  61. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +2 -2
  62. data/app/views/govuk_publishing_components/components/docs/action_link.yml +5 -0
  63. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +4 -0
  64. data/app/views/govuk_publishing_components/components/docs/heading.yml +6 -3
  65. data/app/views/govuk_publishing_components/components/docs/list.yml +64 -0
  66. data/app/views/govuk_publishing_components/components/docs/print_link.yml +24 -0
  67. data/app/views/govuk_publishing_components/components/docs/radio.yml +4 -0
  68. data/config/locales/en.yml +2 -0
  69. data/config/routes.rb +1 -0
  70. data/lib/govuk_publishing_components/presenters/checkboxes_helper.rb +15 -7
  71. data/lib/govuk_publishing_components/presenters/heading_helper.rb +21 -1
  72. data/lib/govuk_publishing_components/version.rb +1 -1
  73. data/node_modules/axe-core/package.json +145 -220
  74. data/node_modules/govuk-frontend/package.json +14 -81
  75. data/node_modules/jquery/package.json +44 -116
  76. metadata +50 -66
  77. data/Rakefile +0 -32
@@ -0,0 +1,64 @@
1
+ name: List
2
+ description: A list - unordered or ordered, with or without counters / bullet points.
3
+ body: |
4
+ This is an ordered or unordered list, with or without visible bullets / numbers.
5
+
6
+ The `items` parameter can include HTML to display - such as links or another
7
+ list. This HTML can either be directly coded or come from another component.
8
+ accessibility_criteria: |
9
+ The list must:
10
+
11
+ - inform the user how many items are in the list
12
+ - convey the content structure
13
+ - indicate the current page when contents span different pages, and not link to itself
14
+
15
+ The list may:
16
+
17
+ - include an `aria-label` to contextualise the list if helpful
18
+ govuk_frontend_components:
19
+ - list
20
+ examples:
21
+ default:
22
+ description: "The default is an unordered list with no bullet points or numbers."
23
+ data: &default-example-data
24
+ items:
25
+ - "Tony’s Chocolonely"
26
+ - '<a href="https://en.wikipedia.org/wiki/Cherry_Ripe_(chocolate_bar)" rel="noopener" class="govuk-link">Cherry Ripe</a>'
27
+ - "Snickers"
28
+ - "Chomp"
29
+ - "Penguin"
30
+ - "Boost"
31
+ unordered_list_with_aria-label:
32
+ description: "A list with an aria-label"
33
+ data:
34
+ aria_label: "A list of delicious chocolate bars."
35
+ <<: *default-example-data
36
+ unordered_list_with_bullet_points:
37
+ description: "An unordered list with visible bullet points."
38
+ data:
39
+ visible_counters: true
40
+ <<: *default-example-data
41
+ ordered_list_without_numbers:
42
+ description: "This is an ordered list where the numbers aren't visible."
43
+ data:
44
+ list_type: "number"
45
+ <<: *default-example-data
46
+ ordered_list_with_numbers:
47
+ description: |
48
+ This is an ordered list with the numbers visible.
49
+ data:
50
+ list_type: "number"
51
+ visible_counters: true
52
+ <<: *default-example-data
53
+ with_extra_spacing:
54
+ description: |
55
+ Increases the amount of spacing between the list items.
56
+ data:
57
+ extra_spacing: true
58
+ <<: *default-example-data
59
+ with_id_attribute:
60
+ description: |
61
+ Sets the `id` on the `ul` or `ol` element.
62
+ data:
63
+ id: 'super-fantastic-chocolate-list'
64
+ <<: *default-example-data
@@ -0,0 +1,24 @@
1
+ name: Print link
2
+ description: A link with a print icon to help users print the current page
3
+ body: |
4
+ This component renders two different outputs depending on whether a `href` is specified. By default, when no `href` is given, the component renders as a button and triggers a print action via JavaScript. In this case the component is hidden in environments where JavaScript is disabled and can be used as a progressive enhancement. When a `href` is specified the component renders as an anchor tag and navigates to that `href` without JavaScript, suitable for applications which have paths that trigger a print event on load.
5
+ accessibility_criteria: |
6
+ - The print icon must be presentational and ignored by screen readers.
7
+ shared_accessibility_criteria:
8
+ - link
9
+ examples:
10
+ default:
11
+ description: This component calls `print()` via the browser's DOM API. By default it relies on JavaScript and is not shown in environments where JavaScript is disabled. The \"link\" here is actually a button tag because this is not a navigation event.
12
+ with_different_text:
13
+ data:
14
+ text: "Print this manual"
15
+ with_different_href:
16
+ description: You can specify a alternative `href` URL that will override the default behaviour. When a `href` is specified the print link will render as an anchor tag and be displayed even when JavaScript is disabled.
17
+ data:
18
+ href: "/print"
19
+ with_data_attributes:
20
+ data:
21
+ data_attributes:
22
+ track-category: "printButton"
23
+ track-action: "clicked"
24
+ track-label: "Print this page"
@@ -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?"
@@ -58,6 +58,8 @@ en:
58
58
  policies: "Policies"
59
59
  statistical_data_sets: "Statistical data sets"
60
60
  topical_events: "Topical events"
61
+ print_link:
62
+ text: "Print this page"
61
63
  skip_link:
62
64
  text: "Skip to main content"
63
65
  step_by_step_nav:
@@ -1,4 +1,5 @@
1
1
  GovukPublishingComponents::Engine.routes.draw do
2
+ get "/audit" => "audit#show", as: :audit
2
3
  root to: "component_guide#index", as: :component_guide
3
4
  get ":component/preview" => "component_guide#preview", as: :component_preview_all
4
5
  get ":component/:example/preview" => "component_guide#preview", as: :component_preview
@@ -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.56.2".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
  }