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