pzavolinsky / ts-unused-exports

ts-unused-exports finds unused exported symbols in your Typescript project
MIT License
738 stars 46 forks source link

shows false positive when extension is included in import statement i.e. import calc from "./calculator.ts" instead of "./calculator" #281

Closed demonhue closed 1 year ago

demonhue commented 1 year ago

Calculator.ts

function add(num1: number,num2: number): number {
    return num1 + num2;
}
function subtract(num1: number,num2: number): number {
    return num1 - num2;
}

function multiply(num1: number,num2: number): number {
    return num1 * num2;
}

function divide(num1: number, num2: number): number {
    if (num2 !== 0) {
        return num1/num2;
    } else {
        return NaN;
        console.log("Error: Division by zero is not allowed.");
    }
}

function sqrt(num1: number): number{
    return Math.sqrt(num1);
}

export {add, subtract,multiply, divide, sqrt};

and rms.ts

import {add,divide, multiply, sqrt} from "./calculator.ts";
function square(a: number): number {
  return multiply(a, a);
}
function rootMeanSquare(arr: number[]): number {
  let sumOfSquares: number = 0;
  arr.reduce((sumOfSquares: number, value: number): number => {
    return add(sumOfSquares,square(value));
  });
  return sqrt(divide(sumOfSquares, arr.length));
}
let arr = [1, 3, 5];
console.log(rootMeanSquare(arr));

and tsconfig.json

{
  "compilerOptions": {
    "target": "es2016",                                 
    "jsx": "preserve",
    "module": "commonjs",                                

    "allowJs": true,                                 
    "allowImportingTsExtensions": true,
    "noEmit": true,                                   
    "esModuleInterop": true,                            
    "forceConsistentCasingInFileNames": true,           

    "strict": true,                                      
    "noImplicitAny": true,                           
    "noImplicitThis": true,                           

    /* Completeness */
    "skipDefaultLibCheck": true,                      
    "skipLibCheck": true,
    "baseUrl": ".",
  },
}
mrseanryan commented 1 year ago

hm it's a bug indeed, then.

demonhue commented 1 year ago

similar issue with ".tsx" extension

demonhue commented 1 year ago

@mrseanryan It would really help if this bug gets resolved quickly. I know you guys must be busy so I can't really demand things.But I think this shouldn't take long to fix.

mrseanryan commented 1 year ago

Fixed thank you! Releasing in 10.0.0