Nestch is a command-line interface (CLI) tool designed to simplify the process of renaming resources in a NestJS application. This tool allows developers to quickly and efficiently change the names of resources, ensuring consistency and reducing the potential for errors.
-
Easily rename NestJS resources with a simple command.
-
Built with TypeScript for type safety and better development experience.
-
Modular design with separate files for commands and utility functions.
| 💡 RECOMMENDATION |
|---|
| The Nestch CLI tool is continuously being optimized and made more lightweight. All the latest features and performance improvements are included in the latest version, therefore, we strongly recommend always keeping the latest version. |
# Install globally
npm install -g nestch
nestch rename <oldName> <newName> [options]
-
nestch renamecan be shortened tonestch rn -
nestch changecan be used as an alias fornestch rename
-
--type, -t: Specify the resource type to rename (e.g., module, controller, service) -
--help, -h: Show help
-
Rename a resource and all its references
# Rename 'users' to 'members' in the current project nestch rename users members -
Rename a specific resource type
# Rename only the users controller nestch rename users members --type controller # Shorthand for the above nestch rn users members -t controller
-
Using the change alias
nestch change users members
-
Must be run from the root of a NestJS project
-
Project must have a
srcdirectory -
Project must have
@nestjs/*dependencies inpackage.json
-
The tool verifies it's being run in a NestJS project
-
It searches for files matching the old resource name in the
srcdirectory -
It identifies the type of each file based on its name and content
-
It renames the files and updates all references in:
-
Import/export statements
-
Decorators (e.g.,
@Module,@Controller) -
Class names
-
Variable names
-
File paths
-
Dependency injection tokens
-
-
Module
-
Controller
-
Service
-
Entity
-
DTO
-
Guard
-
Interceptor
-
Pipe
-
Filter
-
Resolver
-
Repository
-
Gateway
-
Subscriber
-
Middleware
-
The tool will only modify files in the
srcdirectory -
It will automatically skip
node_modules,.git, and other common directories -
Always commit your changes before running the tool, just in case
Contributions are welcome! If you have suggestions for improvements or new features, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.