сегодня в 13:45
Поддержка нового стандарта EcmaScript 6 в браузерах все ближе и ближе, и тем кому не терпится начать разрабатывать с использованием новых возможностей ES6 предлагаю взглянуть на шаблонный проект для этой цели.
Представляю вашему вниманию http://ift.tt/1LDENFs.
В основу шаблона лег http://ift.tt/1SXdszj, но gulpfile.js был основательно почищен и упрощен. Многие зависимости я убрал и оставил возможности, которые необходимы для разработки приложений для браузеров.
Основные цели, которые я преследовал:
- Шаблон должен быть хорошей стартовой точкой для разработки SPA и third party SDK.
- Минималистичность и расширяемость.
- Весь код, то есть и само приложение и тесты можно писать на ES6.
Рабочее окружение
Требования к рабочему окружению достаточно стандартные и скорее всего, если вы разрабатываете на JavaScript у вас уже все установлено. Вам потребуется NodeJS либо io.js, NPM, Gulp, Bower и Java 7+ (java нужна, т. к. для минификации используется Google Closure Compiler).
Возможности шаблона
- Для поддержки синтаксиса ES6 используется компилятор Babel.
- Проверка качества кода обеспечивается двумя утилитами, ESLint и JSCS.
- За сборку проекта отвечает browserify и babelify.
- Минификацию кода делает Google Closure Compiler.
- Unit тесты используют mocha, chai и sinon.
- Отчет о покрытии кода тестами генерируется с помощью istanbul и isparta.
- Integration тесты запускаются в karma.
- В качестве таск раннера используется Gulp.
Как использовать
Скачать и подготовить проект к работе очень просто:
$ git clone git@github.com:DavidKlassen/es6-browser-boilerplate.git
$ cd es6-browser-boilerplate
$ npm run setup
После этого можно удалить .git и начинать кодить.
Список доступных задач gulp:
gulp lint
— запускает проверку качества кода с помощью ESLint и JSCS.gulp test:unit
— запускает unit тесты.gulp coverage
— запускае unit тесты и генерирует отчет о покрытии кода тестами.gulp test:integration
— запускает интеграционные тесты в браузере с помощью karma.gulp test
— запускает все тесты.gulp browserify
— собирает скрипт готовый для использования в браузере.gulp compile
— собирает минифицированную версию скрипта.gulp build
— собирает обе версии скрипта.gulp
— дефолтная задача, запускает проверку кода, тесты и сборку проекта.
Вещи которые хотелось бы улучшить
Помимо всяческих мелочей типа подключения test-frameworks глобально для всех файлов с тестами и мелких улучшений в gulpfile, хотелось бы подключить возможность использования Google Closure Compiler в режиме ADVANCED_OPTIMIZATIONS и статический анализ типов на основе аннотаций gcc.
Ну и конечно же я жду отзывов, пожеланий и пулреквестов. Спасибо за внимание! :)
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий