feat(ts_library): bump default target to es2015

Closes #406

PiperOrigin-RevId: 232743893
diff --git a/README.md b/README.md
index 09dbcf5..93d21e9 100644
--- a/README.md
+++ b/README.md
@@ -25,8 +25,8 @@
 {
   ...
   "devDependencies": {
-    "@bazel/typescript": "0.23.1",
-    "@bazel/karma": "0.23.1",
+    "@bazel/typescript": "0.23.3",
+    "@bazel/karma": "0.23.3",
     ...
   },
   ...
diff --git a/WORKSPACE b/WORKSPACE
index 9427127..acb4497 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -77,7 +77,7 @@
 # Test that check_rules_typescript_version works as expected
 load("//:defs.bzl", "check_rules_typescript_version")
 
-check_rules_typescript_version(version_string = "0.23.1")
+check_rules_typescript_version(version_string = "0.23.3")
 
 # Dependencies for generating documentation
 load("@io_bazel_rules_sass//sass:sass_repositories.bzl", "sass_repositories")
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 6bc149c..efaa52e 100644
--- a/examples/googmodule/BUILD.bazel
+++ b/examples/googmodule/BUILD.bazel
@@ -1,5 +1,5 @@
 load("@build_bazel_rules_nodejs//:defs.bzl", "jasmine_node_test")
-load("//examples/es5_output:es5_consumer.bzl", "es5_consumer")
+load("//examples/devmode_consumer:devmode_consumer.bzl", "devmode_consumer")
 load("//internal:defaults.bzl", "ts_library")
 
 ts_library(
@@ -8,8 +8,8 @@
     tsconfig = "tsconfig.json",
 )
 
-es5_consumer(
-    name = "es5_output",
+devmode_consumer(
+    name = "devmode_output",
     deps = [":googmodule"],
 )
 
@@ -17,7 +17,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 ef73fa2..fb22d2a 100644
--- a/internal/build_defs.bzl
+++ b/internal/build_defs.bzl
@@ -188,6 +188,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
diff --git a/package.json b/package.json
index e570a07..6fc1cd9 100644
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
     "description": "TypeScript rules for Bazel",
     "homepage": "https://github.com/bazelbuild/rules_typescript",
     "license": "Apache-2.0",
-    "version": "0.23.1",
+    "version": "0.23.3",
     "keywords": [
         "typescript",
         "bazel"
diff --git a/version.bzl b/version.bzl
index 3d4590c..50cee42 100644
--- a/version.bzl
+++ b/version.bzl
@@ -17,7 +17,7 @@
 
 load("@build_bazel_rules_nodejs//internal/common:check_version.bzl", "check_version")
 
-VERSION = "0.23.1"
+VERSION = "0.23.3"
 
 # This version is the minimum version that is API compatible with this version
 # of rules_typescript. This version should be updated to equal VERSION for