unminify
Version 2.0.0
Um pequeno projeto para desfazer várias das coisas horríveis que JavaScript Build Tools fará com JavaScript. Além de desfazer a maioria da minificação, ele reverte algumas técnicas de "ofuscação" mais estúpida, mas surpreendentemente comum, usadas na natureza.
Pode divertir você para experimentar, digamos, esse pouco de JavaScript que encontrei.
npm install -g unminify
ou use -o sem instalar via npx (disponível desde npm 5.2.0)
npx unminify [...args]
unminify /path/to/file.js
--safety pode ser dada para ativar/desativar transformações com base nas garantias de segurança exigidas pelo usuário. Consulte a documentação dos níveis de segurança para obter mais detalhes. O valor de --safety pode ser um dosuselesssafe (padrão)mostly-safeunsafewildly-unsafe--additional-transform pode ser dada zero ou mais vezes, cada uma seguida por um caminho para um módulo que fornece uma transformação AST; A função indica que a transformação não foi aplicada retornando sua entrada let { unminifySource } = require ( 'unminify' ) ;
let sourceText = '/* a minified/"obfuscated" JavaScript program */' ;
console . log ( unminify ( sourceText ) ) ;
// or, with options
console . log ( unminifySource ( sourceText , {
safety : unminify . safetyLevels . UNSAFE ,
additionalTransforms : [ function ( ast ) { /* ... */ } ] ,
} ) ) ; Se você já possui uma árvore de turnos, pode usar unminifyTree para evitar o custo do código e reparar.
let { parseScript } = require ( 'shift-parser' ) ;
let { unminifyTree } = require ( 'unminify' ) ;
let sourceText = '/* a minified/"obfuscated" JavaScript program */' ;
let tree = parseScript ( sourceText ) ;
let unminifiedTree = unminifyTree ( tree ) ; Copyright 2017 Shape Security, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.