1#!/usr/bin/env python 2 3import os 4import sys 5 6from setuptools import setup 7from jsbeautifier.__version__ import __version__ 8 9from setuptools.command.test import test as TestCommand 10 11DIR = 'jsbeautifier/tests/' 12 13 14class PyTest(TestCommand): 15 user_options = [('pytest-args=', 'a', "Arguments to pass to py.test")] 16 17 def initialize_options(self): 18 TestCommand.initialize_options(self) 19 self.pytest_args = ['--assert=plain'] + \ 20 [DIR + x for x in os.listdir(DIR) 21 if x.endswith('.py') and x[0] not in '._'] 22 23 def run_tests(self): 24 # import here, cause outside the eggs aren't loaded 25 import pytest 26 errno = pytest.main(self.pytest_args) 27 sys.exit(errno) 28 29 30setup(name='jsbeautifier', 31 version=__version__, 32 description='JavaScript unobfuscator and beautifier.', 33 long_description=('Beautify, unpack or deobfuscate JavaScript. ' 34 'Handles popular online obfuscators.'), 35 author='Liam Newman, Einar Lielmanis, et al.', 36 author_email='team@beautifier.io', 37 url='https://beautifier.io', 38 entry_points={ 39 'console_scripts': [ 40 'js-beautify = jsbeautifier:main' 41 ] 42 }, 43 packages=['jsbeautifier', 44 'jsbeautifier.tests', 'jsbeautifier.tests.generated', 45 'jsbeautifier.core', 46 'jsbeautifier.javascript', 47 'jsbeautifier.unpackers', 'jsbeautifier.unpackers.tests'], 48 install_requires=["six>=1.13.0", "editorconfig>=0.12.2"], 49 license='MIT', 50 test_suite='pytest.collector', 51 cmdclass={'test': PyTest}, 52 53 ) 54