Remove dependency on unmigrated (and mostly unused) node_preamble.
diff --git a/lib/src/source_visitor.dart b/lib/src/source_visitor.dart
index c7bc88c..50986a4 100644
--- a/lib/src/source_visitor.dart
+++ b/lib/src/source_visitor.dart
@@ -900,7 +900,7 @@
     // the parameter list gets more deeply indented.
     if (node.redirectedConstructor != null) builder.nestExpression();
 
-    _visitBody(null, node.parameters, node.body!, () {
+    _visitBody(null, node.parameters, node.body, () {
       // Check for redirects or initializer lists.
       if (node.redirectedConstructor != null) {
         _visitConstructorRedirects(node);
@@ -1728,7 +1728,7 @@
     var oldConstNesting = _constNesting;
     _constNesting = 0;
 
-    _visitBody(node.typeParameters, node.parameters, node.body!);
+    _visitBody(node.typeParameters, node.parameters, node.body);
 
     _constNesting = oldConstNesting;
   }
diff --git a/pubspec.lock b/pubspec.lock
index bed7945..35fc3e4 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -7,14 +7,14 @@
       name: _fe_analyzer_shared
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "16.0.0"
+    version: "17.0.0"
   analyzer:
     dependency: "direct main"
     description:
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.0"
+    version: "1.1.0"
   args:
     dependency: "direct main"
     description:
@@ -119,7 +119,7 @@
       name: io
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.4"
+    version: "0.3.5"
   js:
     dependency: "direct dev"
     description:
@@ -156,7 +156,7 @@
     source: hosted
     version: "1.0.0"
   node_preamble:
-    dependency: "direct dev"
+    dependency: transitive
     description:
       name: node_preamble
       url: "https://pub.dartlang.org"
@@ -280,7 +280,7 @@
       name: test
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.16.3"
+    version: "1.16.4"
   test_api:
     dependency: transitive
     description:
@@ -294,7 +294,7 @@
       name: test_core
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.3.13"
+    version: "0.3.14"
   test_descriptor:
     dependency: "direct dev"
     description:
@@ -350,6 +350,6 @@
       name: yaml
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.0.0"
+    version: "3.1.0"
 sdks:
   dart: ">=2.12.0-0.0 <3.0.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index 4ad9d21..beb7662 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -10,7 +10,7 @@
   sdk: '>=2.12.0-0 <3.0.0'
 
 dependencies:
-  analyzer: ^1.0.0
+  analyzer: ^1.1.0
   args: '>=1.0.0 <3.0.0'
   path: ^1.0.0
   pub_semver: '>=1.4.4 <3.0.0'
@@ -19,7 +19,9 @@
 dev_dependencies:
   grinder: ^0.9.0-nullsafety.0
   js: ^0.6.0
-  node_preamble: ^1.0.0
+  # TODO(rnystrom): Disabled for now because node_preamble is not migrated yet
+  # and publishing to npm hasn't been used in a while.
+  #  node_preamble: ^1.0.0
   pedantic: ^1.0.0
   test: ^1.16.0
   test_descriptor: ^2.0.0
diff --git a/tool/grind.dart b/tool/grind.dart
index 2ba2966..cb8f8b6 100644
--- a/tool/grind.dart
+++ b/tool/grind.dart
@@ -2,11 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'dart:convert';
-import 'dart:io';
-
 import 'package:grinder/grinder.dart';
-import 'package:node_preamble/preamble.dart' as preamble;
 import 'package:pub_semver/pub_semver.dart';
 import 'package:yaml/yaml.dart' as yaml;
 
@@ -28,6 +24,9 @@
   Dart.run('bin/format.dart', arguments: ['-w', '.']);
 }
 
+// TODO(rnystrom): Disabled for now because node_preamble is not migrated and
+// this isn't used anyway.
+/*
 @Task('Publish to npm')
 void npm() {
   var out = 'dist';
@@ -62,6 +61,7 @@
   }));
   run('npm', arguments: ['publish', out]);
 }
+*/
 
 /// Gets ready to publish a new version of the package.
 ///