unminify
Version 2.0.0
Sebuah proyek kecil untuk membatalkan beberapa hal mengerikan yang akan dilakukan alat pembangun JavaScript untuk JavaScript. Selain membatalkan sebagian besar minifikasi, itu membalikkan beberapa teknik "kebingungan" yang lebih bodoh tetapi mengejutkan yang digunakan di alam liar.
Mungkin menghibur Anda untuk mencobanya, katakanlah, sedikit javascript acak yang saya temukan.
npm install -g unminify
Atau gunakan tanpa menginstal melalui npx (tersedia sejak npm 5.2.0)
npx unminify [...args]
unminify /path/to/file.js
--safety dapat diberikan untuk mengaktifkan/menonaktifkan transformasi berdasarkan jaminan keamanan yang diperlukan pengguna. Lihat dokumentasi tingkat keselamatan untuk detail lebih lanjut. Nilai --safety mungkin salah satu dariuselesssafe (default)mostly-safeunsafewildly-unsafe--additional-transform dapat diberikan nol atau lebih kali, masing-masing diikuti oleh jalur ke modul yang memberikan transformasi AST; Fungsi menandakan bahwa transformasi tidak diterapkan dengan mengembalikan inputnya 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 ) { /* ... */ } ] ,
} ) ) ; Jika Anda sudah memiliki pohon shift maka Anda dapat menggunakan unminifyTree untuk menghindari biaya codegen & reparse.
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.