Files
NativeScript/tns-core-modules/ui/builder/module-name-sanitizer.ts
Nicu b6ff4d376a fix: dots can now be used in module names (#7655)
Only known extensions are stripped from the end of module names
2019-08-21 00:01:53 +03:00

20 lines
690 B
TypeScript

export function sanitizeModuleName(moduleName: string, removeExtension: boolean = true): string {
moduleName = moduleName.trim();
if (moduleName.startsWith("~/")) {
moduleName = moduleName.substring(2);
} else if (moduleName.startsWith("~")) {
moduleName = moduleName.substring(1);
} else if (moduleName.startsWith("/")) {
moduleName = moduleName.substring(1);
}
if (removeExtension) {
const extToRemove = ["js", "ts", "xml", "html", "css", "scss"];
const extensionRegEx = new RegExp(`(.*)\\.(?:${extToRemove.join("|")})`, "i");
moduleName = moduleName.replace(extensionRegEx, "$1");
}
return moduleName;
}