I now recommend not using this package or any other compiler transforms. It's neat, but it creates code that is not portable and makes it hard to switch to new build systems. The current solutions for injecting compiler transforms are hacky and I can't imagine the TS compiler ever supporting this out of the box. I personally now just use the following function. It's simple and it works for most cases... of course it's not as featureful, but it gets you 90% of the way there. ```ts export function nameof<TObject>(obj: TObject, key: keyof TObject): string; export function nameof<TObject>(key: keyof TObject): string; export function nameof(key1: any, key2?: any): any { return key2 ?? key1; } ``` **Example Use** ```ts import { nameof } from "./some-relative-import"; interface SomeInterface { someProperty: number; } // with types console.log(nameof<SomeInterface>("someProperty")); // "someProperty" // with values const myVar: SomeInterface = { someProperty: 5 }; console.log(nameof(myVar, "someProperty")); // "someProperty" ```
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by dsherret and has received 16 comments.