diff options
author | 2023-09-27 23:37:53 -0700 | |
---|---|---|
committer | 2023-09-27 23:37:53 -0700 | |
commit | 31d96a1b7f8a72a1976bee92e6c3f08faade8c31 (patch) | |
tree | 7d90077409aa380e3debe8afc6bba8d3bc064d4f /test | |
parent | 3ee09bfe798b91a6de6076b572d0dc606246c2a9 (diff) | |
download | bun-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.ts | 34 |
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", + }, +}); |