aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-09-27 23:37:53 -0700
committerGravatar GitHub <noreply@github.com> 2023-09-27 23:37:53 -0700
commit31d96a1b7f8a72a1976bee92e6c3f08faade8c31 (patch)
tree7d90077409aa380e3debe8afc6bba8d3bc064d4f /test
parent3ee09bfe798b91a6de6076b572d0dc606246c2a9 (diff)
downloadbun-31d96a1b7f8a72a1976bee92e6c3f08faade8c31.tar.gz
bun-31d96a1b7f8a72a1976bee92e6c3f08faade8c31.tar.zst
bun-31d96a1b7f8a72a1976bee92e6c3f08faade8c31.zip
fix typescript metadata for import identifiers (#6130)
* handle import identifiers * a test * handle dot case
Diffstat (limited to 'test')
-rw-r--r--test/bundler/bundler_decorator_metadata.test.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/bundler/bundler_decorator_metadata.test.ts b/test/bundler/bundler_decorator_metadata.test.ts
index 54bbdd6a5..10fee3c68 100644
--- a/test/bundler/bundler_decorator_metadata.test.ts
+++ b/test/bundler/bundler_decorator_metadata.test.ts
@@ -503,3 +503,37 @@ itBundled("decorator_metadata/TypeSerialization", {
stdout: "true\n".repeat(212),
},
});
+
+itBundled("decorator_metadata/ImportIdentifiers", {
+ files: {
+ "/entry.ts": /* ts */ `
+ import "reflect-metadata";
+ import { Foo } from "./foo.js";
+
+ function d1() {}
+
+ @d1
+ class Bar {
+ constructor(foo: Foo) {}
+ }
+
+ console.log(Reflect.getMetadata("design:paramtypes", Bar)[0] === Foo);
+ `,
+ "/foo.js": /* js */ `
+ const f = () => "Foo";
+ module.exports[f()] = class Foo {};
+ `,
+ "/tsconfig.json": /* json */ `
+ {
+ "compilerOptions": {
+ "experimentalDecorators": true,
+ "emitDecoratorMetadata": true,
+ }
+ }
+ `,
+ },
+ install: ["reflect-metadata"],
+ run: {
+ stdout: "true\n",
+ },
+});