From dd0fc0f237755dabe0800e22ed93d141ec996fd9 Mon Sep 17 00:00:00 2001 From: Paul Gschwendtner Date: Thu, 14 Apr 2022 19:52:33 +0000 Subject: [PATCH] test: add test for new `types_bundle` rule from Angular bazel package (#45405) Adds a little golden test for the new `types_bundle` rule that ensures the rule works at a general level. This rule will be useful for non-APF ESM packages like the Angular compiler-cli (for which we also want to bundle types to make them compatible with TypeScripts ESM type resolution) PR Close #45405 --- packages/bazel/test/types_bundle/BUILD.bazel | 29 +++++++++++++++++++ .../bazel/test/types_bundle/bundle_entry.ts | 11 +++++++ .../types_bundle/expected_types_bundle.d.ts | 6 ++++ .../test/types_bundle/transitive_fixture.ts | 9 ++++++ 4 files changed, 55 insertions(+) create mode 100644 packages/bazel/test/types_bundle/BUILD.bazel create mode 100644 packages/bazel/test/types_bundle/bundle_entry.ts create mode 100644 packages/bazel/test/types_bundle/expected_types_bundle.d.ts create mode 100644 packages/bazel/test/types_bundle/transitive_fixture.ts diff --git a/packages/bazel/test/types_bundle/BUILD.bazel b/packages/bazel/test/types_bundle/BUILD.bazel new file mode 100644 index 00000000000..9870e22b6c4 --- /dev/null +++ b/packages/bazel/test/types_bundle/BUILD.bazel @@ -0,0 +1,29 @@ +load("@build_bazel_rules_nodejs//:index.bzl", "generated_file_test") +load("//packages/bazel/src/types_bundle:index.bzl", "types_bundle") +load("//tools:defaults.bzl", "ts_library") + +package(default_testonly = True) + +ts_library( + name = "test_transitive_lib", + srcs = ["transitive_fixture.ts"], +) + +ts_library( + name = "test_lib", + srcs = ["bundle_entry.ts"], + deps = [":test_transitive_lib"], +) + +types_bundle( + name = "bundled_types", + entry_point = "bundle_entry.d.ts", + output_name = "output_index.d.ts", + deps = [":test_lib"], +) + +generated_file_test( + name = "test", + src = "expected_types_bundle.d.ts", + generated = ":bundled_types", +) diff --git a/packages/bazel/test/types_bundle/bundle_entry.ts b/packages/bazel/test/types_bundle/bundle_entry.ts new file mode 100644 index 00000000000..9f17f670418 --- /dev/null +++ b/packages/bazel/test/types_bundle/bundle_entry.ts @@ -0,0 +1,11 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export {transitiveExport} from './transitive_fixture'; + +export const hello = 1; diff --git a/packages/bazel/test/types_bundle/expected_types_bundle.d.ts b/packages/bazel/test/types_bundle/expected_types_bundle.d.ts new file mode 100644 index 00000000000..4588d4aa1d6 --- /dev/null +++ b/packages/bazel/test/types_bundle/expected_types_bundle.d.ts @@ -0,0 +1,6 @@ +export declare const hello = 1; + + +export declare const transitiveExport = "transitive"; + +export { } diff --git a/packages/bazel/test/types_bundle/transitive_fixture.ts b/packages/bazel/test/types_bundle/transitive_fixture.ts new file mode 100644 index 00000000000..fa6079b456d --- /dev/null +++ b/packages/bazel/test/types_bundle/transitive_fixture.ts @@ -0,0 +1,9 @@ +/** + * @license + * Copyright Google LLC All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ + +export const transitiveExport = 'transitive';