Skip to content

Futuristic JavaScript and TypeScript module scaffolding tool

License

Notifications You must be signed in to change notification settings

friends-of-js/javascript-kit

Repository files navigation

@friends-of-js/javascript-kit

Build Status Maintainability Test Coverage codecov license

Preview

Install

yarn add global @friends-of-js/javascript-kit
# or
npm install -g @friends-of-js/javascript-kit

Usage

javascript-kit [directory]

Features

  • Support JavaScript and TypeScript languages
  • Fully customizable
  • TSlint and ESlint out of the box
  • Modules for both Node.js and browser
  • Browser modules with webpack
  • Generate both CommonJS and ESNext modules for Node.js
  • Autogenerated TypeScript defenitions
  • Node.js tests with Mocha and Chai
  • Browser tests with Karma, Mocha and Chai
  • Code coverage for both TypeScript and JavaScript through Istanbul and nyc
  • Sending code coverage to Codecov, Codeclimate, and Codacy
  • TravisCI out of the box
  • Autogenerated docs
  • Publishing to github and npm after succesfull build
  • Publishing release to github with generated changelog
  • Git hooks for linting and testing before publishing

Commands

For a complete list of the commands available for your module, see the section "scripts" in generated package.json

Yarn Npm Make Description
yarn build npm run build make build Build CommonJS, ESNext modules and Browser bundle
yarn lint npm run lint make lint Lint your code with TSLint or ESLint
yarn fix npm run fix make fix Fix errors found by linter
yarn test npm run test make test Run tests
yarn coverage npm run coverage make coverage Run tests and generate code coverage reports
yarn docs npm run docs make docs Generate documentation
yarn release.major npm run release.major make release.major Create and publish new major release
yarn release.minor npm run release.minor make release.minor Create and publish new minor release
yarn release.patch npm run release.patch make release.patch Create and publish new patch release
yarn commit npm run commit make commit Interactively create conventional commit message

Project structure

Name Description
src Your source files placed here
spec Contains your tests files
node_modules Contains all your npm dependencies
build Scripts that responsible for building package
build/browser Scripts for building browser package
build/module Typescript configs for building CommonJS and ESNext modules
build/declarations Typescript definitions and config for building eclarations files
lib Generated package
lib/module Node module packages
lib/module/commonjs Commonjs node module using es5 features
lib/module/esnext Node module using es7 and esnext features
lib/browser Browser package generated by webpack
coverage Code coverage report files
docs Generated documentation

License

@friends-of-js/javascript-kit © Dmitriy Romanov, released under the MIT License. Authored and maintained with help from contributors (list).