feat(ts_library): bump default target to es2015

Closes #217

PiperOrigin-RevId: 225095761
diff --git a/examples/devmode_consumer/BUILD.bazel b/examples/devmode_consumer/BUILD.bazel
new file mode 100644
index 0000000..78d6a46
--- /dev/null
+++ b/examples/devmode_consumer/BUILD.bazel
@@ -0,0 +1,15 @@
+load(":devmode_consumer.bzl", "devmode_consumer")
+
+devmode_consumer(
+    name = "devmode_consumer",
+    deps = ["//examples:bar_ts_library"],
+)
+
+sh_test(
+    name = "devmode_consumer_test",
+    srcs = ["devmode_consumer_test.sh"],
+    data = [
+        ":devmode_consumer",
+        "@bazel_tools//tools/bash/runfiles",
+    ],
+)
diff --git a/examples/es5_output/es5_consumer.bzl b/examples/devmode_consumer/devmode_consumer.bzl
similarity index 88%
rename from examples/es5_output/es5_consumer.bzl
rename to examples/devmode_consumer/devmode_consumer.bzl
index 05d406c..0d29ca9 100644
--- a/examples/es5_output/es5_consumer.bzl
+++ b/examples/devmode_consumer/devmode_consumer.bzl
@@ -12,12 +12,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-"""Example of a rule that requires ES5 (devmode) inputs.
+"""Example of a rule that requires es2015 (devmode) inputs.
 """
 
 load("@build_bazel_rules_nodejs//internal:node.bzl", "sources_aspect")
 
-def _es5_consumer(ctx):
+def _devmode_consumer(ctx):
     files = depset()
 
     # Since we apply the sources_aspect to our deps below, we can iterate through
@@ -32,8 +32,8 @@
         runfiles = ctx.runfiles(files.to_list()),
     )]
 
-es5_consumer = rule(
-    implementation = _es5_consumer,
+devmode_consumer = rule(
+    implementation = _devmode_consumer,
     attrs = {
         "deps": attr.label_list(aspects = [sources_aspect]),
     },
diff --git a/examples/es5_output/es5_output_test.sh b/examples/devmode_consumer/devmode_consumer_test.sh
similarity index 94%
rename from examples/es5_output/es5_output_test.sh
rename to examples/devmode_consumer/devmode_consumer_test.sh
index ab58ce5..096f4d5 100755
--- a/examples/es5_output/es5_output_test.sh
+++ b/examples/devmode_consumer/devmode_consumer_test.sh
@@ -79,3 +79,10 @@
   echo "$FOO_JS"
   exit 1
 fi
+
+# should produce es2015 classes
+if [[ "$FOO_JS" != *"class Greeter"* ]]; then
+  echo "Expected foo.js produce a es2015, but was"
+  echo "$FOO_JS"
+  exit 1
+fi
\ No newline at end of file
diff --git a/examples/es5_output/BUILD.bazel b/examples/es5_output/BUILD.bazel
deleted file mode 100644
index 5bc709f..0000000
--- a/examples/es5_output/BUILD.bazel
+++ /dev/null
@@ -1,15 +0,0 @@
-load(":es5_consumer.bzl", "es5_consumer")
-
-es5_consumer(
-    name = "es5_output",
-    deps = ["//examples:bar_ts_library"],
-)
-
-sh_test(
-    name = "es5_output_test",
-    srcs = ["es5_output_test.sh"],
-    data = [
-        ":es5_output",
-        "@bazel_tools//tools/bash/runfiles",
-    ],
-)
diff --git a/examples/googmodule/BUILD.bazel b/examples/googmodule/BUILD.bazel
index 89beb25..b409222 100644
--- a/examples/googmodule/BUILD.bazel
+++ b/examples/googmodule/BUILD.bazel
@@ -6,10 +6,10 @@
     tsconfig = "tsconfig.json",
 )
 
-load("//examples/es5_output:es5_consumer.bzl", "es5_consumer")
+load("//examples/devmode_consumer:devmode_consumer.bzl", "devmode_consumer")
 
-es5_consumer(
-    name = "es5_output",
+devmode_consumer(
+    name = "devmode_output",
     deps = [":googmodule"],
 )
 
@@ -19,7 +19,7 @@
     name = "googmodule_output_test",
     srcs = ["googmodule_output_test.js"],
     data = [
-        ":es5_output",
+        ":devmode_output",
         "@npm//jasmine",
     ],
 )
diff --git a/internal/build_defs.bzl b/internal/build_defs.bzl
index 51d15b1..5981c81 100644
--- a/internal/build_defs.bzl
+++ b/internal/build_defs.bzl
@@ -187,6 +187,10 @@
     )
     config["bazelOptions"]["nodeModulesPrefix"] = node_modules_root
 
+    # Override the target so we use es2015 for devmode
+    # Since g3 isn't ready to do this yet
+    config["compilerOptions"]["target"] = "es2015"
+
     # If the user gives a tsconfig attribute, the generated file should extend
     # from the user's tsconfig.
     # See https://github.com/Microsoft/TypeScript/issues/9876