All notable changes to the "Find Unused Exports" extension will be documented in this file.
This extension assumes a set of default exclude folders:
- **/*.d.ts
- node_modules/**/*
- **/node_modules/**/*
- Automatically find all exports and imports in .ts and .tsx files
- Automatically find all exports and imports in .js and .jsx files, if tsconfig.json allows for .js files in project
- All imports from node modules are ignored
- The test files are ignored, hence the exports used only by unit tests will be displayed as not used
- If tsconfig.json defines baseUrl, it will resolve all imports using paths relative to baseUrl
- A file having all exports not used will be marked as "not used" and a delete button will be available
- If there are no unused exports, then the panel will display an entry saying this
- Nothing
- Nothing
- Detect export interface
- Update packages
- Nothing
- Detect export function
- Update packages
- Nothing
- Detect aliased imports and exports
- Update packages
- Fixed the detection of "export * as"
- Nothing
- Added support for logging in an output window all executed steps (default false - no logging in the output window)
- Added support for ignoring not used exports via comments (default false - obey the comment in the code)
// find-unused-exports:ignore-next-line-exports export default MyClass;
- Added the possibility to remove a file or export from the list of results
- Update packages
- Nothing
- Nothing
- Removed the hide action icon when no unused export is found
- Nothing
- Nothing
- Corrected the analyse of the js projects
- Corrected the analyse of the ts projects with allowJs enabled in tsconfig.json
- Nothing
- Added support for exported consts and types via object destructuring
- Nothing
- Nothing
- Added support for detection of circular imports/dependences, which produce undefined variables by import
- Nothing
- Nothing
- Nothing
- Clicking on a circular dependency in panel will open it in editor
- Nothing
- Nothing
- Nothing
- Debug code
- Nothing
- Made the check for circular dependencies by default to be disabled
- Nothing
- Log of the ellapsed time used to analyse the project
- Remove the comments from tsconfig.json before validating it as JSON
- Improved the performance of circular dependecies
- Nothing
- Nothing
- Nothing
- Removed the detection of circular dependencies because of the poor performance
- Added the detection of circular dependencies using a new algorithm
- Added the possibility to display the results initially expanded (instead of collapsed)
- Nothing
- Nothing
- Nothing
- Clicking on a file name will search for the name of the first circular dependency (if any)
- Nothing
- Nothing
- Fixed the crash on folders having .js or .ts as extension
- Updated packages
- Nothing
- Nothing
- Updated packages
- Nothing
- Nothing
- Avoiding reporting empty paths as circular paths
- Nothing
- Nothing
- Corrected the rules used to find the files containing code
- Corrected the rule for removing the comments from .json files
- Nothing
- Added support for "export let" and "export var"
- Added support for "import type"
- Added support for "import * as"
- Added a test-project for improving the testing
- The algorithm for detecting the not used exports
- Nothing
- Added a test-project for js for improving the testing
- The algorithm for detecting the use of exports imported through "import" or "required"
- Nothing
- Nothing
- Fixed bug introduced with 1.7.0: "import as name" no longer mark export as being used
- Any folder in tsconfig.json's "include" whithout glob characters will be assumed to mean all files in all subfolders of that folder
- Improved the test projects
- Nothing
- The logging can also be saved in a file (.vscode/find-unused-exports.log)
- Logging for almost all steps of the algorithm, so that detection of bottlenecks to be easier
- The regular expression for detecting the imports
- Nothing
- Detect imports/exports of generator functions
- Detect exports of destructured assignments
- Try to read the configuration from jsconfig.json if tsconfig.json is missing
- Consider an export from a file as both an import and an export, which fixes the problem of reporting re-exported entities as not being used
- Quicker scan of the files for imports and exports definitions
- Nothing
- Added support to skip additional files via a declaration in package.json or .findUnusedExports.json
- Nothing
- Nothing
- Nothing
- Added a protection to catch the crash on "TypeError: Cannot read property 'charAt' of undefined"
- Nothing
- Nothing
- Repackaged the extension
- Nothing
- Nothing
- Updated the packages
- Nothing
- Support for
import { type BaseType } from ...
from typescript 4.5
- Nothing
- Nothing
- Nothing
- Correctly ignoring specified files on windows
- Nothing
- Nothing
- Updated the packages
- Nothing
- Support including additional globs via .findUnusedExports.json
- Using the production icons from VS Code
- Using three panels for Overview, Unused exports and Circular imports
- Nothing
- Nothing
- Corrected the numbers displayed for "Not used exports" and "Found circular imports" in OVERVIEW
- Nothing
- Nothing
- Re-added wrongly removed icons
- Nothing
- Any error trying to parse a JSON file is reported in OVERVIEW
- All include and exclude globs are displayed in OVERVIEW
- Nothing
- Nothing
- Display the used glob instead of the defined glob
- Display the number of matched files for an include glob
- Fixed the bug which used exclude as include from packageJson's findUnusedExports field
- Nothing
- Display which exclude globs are added by this extension (marked as default)
- Using the "default" exclude globs only for include globs from jsconfig.json or tsconfig.json (they end in .js(x) or .ts(x))
- This is a fix to be able to find imports done only in default excluded files of exports done in included files (like an import in a .d.ts file for an export done in a typescript file)
- Nothing
- Support for workspaces
- Nothing
- Nothing
- Nothing
- Changed the use of default exclude globs and documented them in README.md file
- Nothing
- Nothing
- Small improvement in README.md file
- Nothing
- Nothing
- Fixed the removal of folders from treeview when they are deleted and their parent is hidden
- The root folder in circular imports is no longer hidden if there is only one folder left displayed
- Nothing
- Support for TypeScript 4.7 compilerOptions.moduleSuffixes option from tsconfig.json
- Support link for extension's author (https://www.patreon.com/iulian_radu_at)
- Updated packages
- Nothing
- Display in status bar if the extension is updating the list of exports and circular imports
- Updated packages
- The windows path is displayed in a posix format in debug window as glob 8 is using posix format for path also in windows ("/" instead of "\")
- Nothing
- The exports made in the file defined in the main field of package.json can be considered used (needs to be enabled via a setting of this extension)
- Nothing
- Nothing
- Protection to multiple unused exports with the same name but different types
- Nothing
- Nothing
- Nothing
- Updated the packages
- Nothing
- Nothing
- Updated the packages
- Nothing
- It is possible to define globs, file names or workspaces to be ignored for unused exports
- Updated the packages
- Nothing
- Nothing
- Fixed bug creating empty configuration file
- A file containing only unused exports can be added now to the list of ignored files
- Nothing
- Support for mapping paths
- Nothing
- Nothing
- Ignoring all template strings so it no longer produces false positives for imports/exports found in them
- The minimum VSCode version must be 1.75.0
- Using an improved version of glob (which is used to find files)
- The extension is activated only when visiting the corresponding view or its command is run
- Nothing
- Nothing
- Fixed the bug introduced with the use of the glob 10
- Nothing
- Nothing
- Fixed all circular imports in project
- Nothing
- Nothing
- If there are defined include rules in package.json or .findUnusedExports.json then the default include glob rule and the files and include from tsconfig.json or jsconfig.json are no longer applied
- If there are defined exclude rules in package.json or .findUnusedExports.json then the default exclude glob rule and the exclude from tsconfig.json or jsconfig.json are no longer applied
- Reporting "Multiple unused exports with the same name"
- Nothing
- Fixed the badges
- Nothing
- Nothing
- Displays in view when it is doing the refresh
- Drastically reduced the size of the file packing this extension
- The "Find unused exports" in status bar
- Test project for aliased paths
- Fixed the detection of not used types from
export { type TYPE }
- Fixed the detection of not used types from
export type { TYPE }
- Fixed the detection of paths aliases usage
- Updated the packages
- Nothing
- Nothing
- Updated the links
- Nothing
- Nothing
- Added emojies to output messages
- Nothing
- Write in log the list of unused exports
- Fixed the number of not used exports reported in logs
- The link for support
- Updated the packages
- Optimized the imports
- Nothing