Refactor the files and runfiles fields from strings to the DefaultInfo() provider.

This is the beginning of removing the legacy providers, per https://github.com/bazelbuild/bazel/issues/7347

See https://docs.bazel.build/versions/master/skylark/rules.html#migrating-from-legacy-providers:
"
The fields files, runfiles, data_runfiles, default_runfiles, and executable correspond to the same-named fields of DefaultInfo. It is not allowed to specify any of these fields while also returning a DefaultInfo modern provider.
"

PiperOrigin-RevId: 264941716
diff --git a/internal/common/compilation.bzl b/internal/common/compilation.bzl
index 7e08587..6af26b5 100644
--- a/internal/common/compilation.bzl
+++ b/internal/common/compilation.bzl
@@ -468,7 +468,18 @@
     transitive_es6_sources = depset(transitive = [transitive_es6_sources, es6_sources])
 
     return {
-        "files": depset(transitive = files_depsets),
+        "providers": [
+            DefaultInfo(
+                runfiles = ctx.runfiles(
+                    # Note: don't include files=... here, or they will *always* be built
+                    # by any dependent rule, regardless of whether it needs them.
+                    # But these attributes are needed to pass along any input runfiles:
+                    collect_default = True,
+                    collect_data = True,
+                ),
+                files = depset(transitive = files_depsets),
+            ),
+        ],
         "instrumented_files": {
             "dependency_attributes": ["deps", "runtime_deps"],
             "extensions": ["ts"],
@@ -482,13 +493,6 @@
             "es5_sources": es5_sources,
             "es6_sources": es6_sources,
         },
-        "runfiles": ctx.runfiles(
-            # Note: don't include files=... here, or they will *always* be built
-            # by any dependent rule, regardless of whether it needs them.
-            # But these attributes are needed to pass along any input runfiles:
-            collect_default = True,
-            collect_data = True,
-        ),
         # Expose the tags so that a Skylark aspect can access them.
         "tags": ctx.attr.tags if hasattr(ctx.attr, "tags") else ctx.rule.attr.tags,
         # TODO(martinprobst): Prune transitive deps, only re-export what's needed.