Conversation
- Atualização das versões de "@types/node", "brace-expansion" e "minimatch". - Ajuste de propriedades de dependências para refletir atualizações.
- Removida a constante COMPOSER_FILE de constants.ts - Definida a constante dentro de ComposerAutoloadManager - Atualizado package.json para ativar extensão com composer.json
- Renomear WorkspaceFileFinder para WorkspaceIndex - Atualizar referências em MultiFileReferenceUpdater.ts para usar WorkspaceIndex
Substitui a string literal '.php' pela constante FILE_EXTENSION em vários arquivos para melhorar a manutenção do código: - RenameHandler.ts - FileRenameFeature.ts - MissingClassImporter.ts - WorkspacePathResolver.ts - constants.ts
Adiciona documentação detalhada para as operações de renomeação de classe, movimentação de arquivo e renomeação de namespace. Inclui fluxos de execução, responsabilidades e dependências. chore(deps): adicionar @types/jest e pacotes jest Atualiza package-lock.json para incluir @types/jest e pacotes relacionados ao Jest como dependências de desenvolvimento.
- Adiciona lógica para identificar e injetar a primeira declaração de uso - Atualiza `UseStatementLocator` para retornar informações sobre a primeira declaração - Modifica `UseStatementInjector` para lidar com injeções de primeira declaração - Simplifica a lógica de injeção de múltiplos arquivos em `MultiFileReferenceUpdater` e `MissingClassImporter`
Simplifica a lógica de inserção do uso de namespace ao unificar as operações de substituição de texto para os casos de primeira e não primeira utilização.
Adicionado cache `namespace-index.json` para otimizar buscas de namespace, evitando escaneamento completo do workspace em cada operação de refatoração. O cache é atualizado por eventos do sistema de arquivos.
- Adicionada fila de promessas para evitar condições de corrida ao renomear arquivos. - Atualização de referências em múltiplos arquivos agora também ajusta o nome da classe, se necessário.
- Atualizado eslint.config.mjs para incluir o eslint-plugin-perfectionist - Atualizado package-lock.json e package.json para incluir dependência do eslint-plugin-perfectionist - Reorganizado métodos em RenameValidator.ts e UseStatementInjector.ts para seguir regras de ordenação
- Atualizar caminhos de importação para refletir nova estrutura de pastas - Mover `UnusedImportDetector.ts` para `src/domain/namespace/` - Mover `ExtractNameFromCursor.ts` para `src/domain/rename/` - Extrair `PHP_CLASS_DECLARATION_REGEX` para `src/domain/namespace/PhpPatterns.ts`
- Implementa verificação de regex para substituir nomes de classe nos arquivos. - Atualiza apenas se o nome da classe estiver presente no conteúdo do arquivo.
- Adiciona novos testes unitários para a classe NamespaceIndex - Verifica a funcionalidade de extração e atualização de namespaces e importações - Testes cobrem cenários de uso, remoção e movimentação de arquivos - Certifica que namespaces e importações são geridos corretamente durante modificações
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.