1010require "nokogiri"
1111require "chronic"
1212require "active_support/all"
13+ require "terser"
14+ require "sassc-embedded"
1315
1416require "govuk_tech_docs/redirects"
1517require "govuk_tech_docs/table_of_contents/helpers"
2325require "govuk_tech_docs/warning_text_extension"
2426require "govuk_tech_docs/api_reference/api_reference_extension"
2527
28+ module SassWarningSupressor
29+ def warn ( message )
30+ if message . to_s . match? ( /Sass|dart-sass/i )
31+ # suppress dart sass warnings
32+ else
33+ super
34+ end
35+ end
36+ end
37+
38+ Warning . extend ( SassWarningSupressor )
39+
2640module GovukTechDocs
2741 # Configure the tech docs template
2842 #
@@ -32,7 +46,7 @@ module GovukTechDocs
3246 def self . configure ( context , options = { } )
3347 context . activate :sprockets
3448
35- context . sprockets . append_path File . join ( __dir__ , "../node_modules/govuk-frontend/" )
49+ context . sprockets . append_path File . join ( __dir__ , "../node_modules/govuk-frontend/dist " )
3650 context . sprockets . append_path File . join ( __dir__ , "./source" )
3751
3852 context . activate :syntax
@@ -50,14 +64,17 @@ def self.configure(context, options = {})
5064 tables : true ,
5165 no_intra_emphasis : true
5266
67+ # this doesnt seem to work
68+ context . set :sass , { output_style : "nested" , quiet_deps : true }
69+
5370 # Reload the browser automatically whenever files change
5471 context . configure :development do
5572 activate :livereload , options [ :livereload ] . to_h
5673 end
5774
5875 context . configure :build do
5976 activate :autoprefixer
60- activate :minify_javascript , ignore : [ "/raw_assets/*" ]
77+ activate :minify_javascript , compressor : Terser . new , ignore : [ "/raw_assets/*" ]
6178 end
6279
6380 config_file = ENV . fetch ( "CONFIG_FILE" , "config/tech-docs.yml" )
0 commit comments