Improve how the uglified content of script { } tags is generated
authorNick Downing <nick@ndcode.org>
Wed, 12 Jan 2022 07:34:56 +0000 (18:34 +1100)
committerNick Downing <nick@ndcode.org>
Wed, 12 Jan 2022 07:34:56 +0000 (18:34 +1100)
visitors.js

index a8a3c3d..3b62c17 100644 (file)
@@ -205,25 +205,13 @@ let html_body = (context, st, c) => {
   let result = []
   let body = c(context.body, st, 'Statement').body
   if (tag === 'script') {
+    let program = {type: 'Program', body, sourceType: 'script'}
     // simple way
-    //prefix += astring.generate(
-    //  {
-    //    type: 'Program',
-    //    body: body,
-    //    sourceType: 'script'
-    //  },
-    //  {indent: ''}
-    //)
+    //prefix += astring.generate(program, {indent: ''})
     // uglified way
     let render = uglify_js.minify(
-      astring.generate(
-        {
-          type: 'Program',
-          body: body,
-          sourceType: 'script'
-        },
-        {indent: ''}
-      )
+      uglify_js.AST_Node.from_mozilla_ast(program),
+      {compress: true, mangle: true}
     )
     if (render.error)
       throw render.error