identifierNamesCache not working as expected
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript, typescript, webpack
- Domínio
- build-system, tooling
Direção de pesquisa
Comece inspecionando o método obfuscate no index.js compilado e o fluxo da opção identifierNamesCache. Reproduza o problema com o Webpack 5 em vários arquivos dependentes e, em seguida, verifique se o cache é transferido entre os resultados da ofuscação e se os arquivos são ofuscados de forma consistente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi,
I was trying this plugin with WebPack 5 and found that identifierNamesCache is not working properly to obfuscate multiple files that depends on each other.
I modified the built index.js to fix this issue.
Old code:
obfuscate(javascript, fileName, identifiersPrefixCounter) {
const obfuscationResult = javascript_obfuscator_1.default.obfuscate(javascript, Object.assign({ identifiersPrefix: `${WebpackObfuscatorPlugin.baseIdentifiersPrefix}${identifiersPrefixCounter}`, inputFileName: fileName, sourceMapMode: 'separate', sourceMapFileName: fileName + '.map' }, this.options));
return {
obfuscatedSource: obfuscationResult.getObfuscatedCode(),
obfuscationSourceMap: obfuscationResult.getSourceMap()
};
}
New code:
obfuscate(javascript, fileName, identifiersPrefixCounter) {
const obfuscationResult = javascript_obfuscator_1.default.obfuscate(javascript, Object.assign({ identifiersPrefix: `${WebpackObfuscatorPlugin.baseIdentifiersPrefix}${identifiersPrefixCounter}`, inputFileName: fileName, sourceMapMode: 'separate', sourceMapFileName: fileName + '.map' }, this.options));
this.options.identifierNamesCache = obfuscationResult.getIdentifierNamesCache();
return {
obfuscatedSource: obfuscationResult.getObfuscatedCode(),
obfuscationSourceMap: obfuscationResult.getSourceMap()
};
}
I justed add this.options.identifierNamesCache = obfuscationResult.getIdentifierNamesCache(); and now it works correctly.
PS: I'm not sure if the issue is in this plugin or javascript-obfuscator itself.
Thanks.
- Linguagem predominante
- TypeScript
- Estrelas
- 930
- Forks
- 92
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de javascript-obfuscator/webpack-obfuscator
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
javascript-obfuscator/webpack-obfuscator#180 · 2 comentários ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
Todas as issues de javascript-obfuscator/webpack-obfuscator
Issues semelhantes
-
The sample email preview's ResizeObserver is never disconnected and keeps raising errors after leaving SettingsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
area:ui bug effort:S priority:P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Typo in WSL project description on Projects pageTalvez já em andamento @akhil9tiet assumiu hoje. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
microsoft/opensource.microsoft.com#1066 · 1 comentário ·
-
ArcGIS Maps SDK for JavaScript c-carousel calcite-design-tokens enhancement impact - p3 - not time sensitive needs triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Esri/calcite-design-system#15565 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
linkwarden/linkwarden#1891 ·
Mantenedores costumam responder em até 1 dia