A Slush-based ES.next module generator with typescript, babel, webpack and testing infrastructure
The module generator depends on two global dependencies - Yarn and Slush. If you dont already have them installed, please install them and the generator using:
npm install -g yarn && yarn global add slush slush-haaretz-lib
In the event you do already have them installed, install the generator:
yarn && yarn global add slush-haaretz-lib
Once you have the generator installed, cd
to a directory of your choice (where your new project will be created)
and run slush haaretz-lib
from the commend line.
Once the scaffolding is complete, your new project is ready to be worked on.
___ config/ Project configuration files.
|
|___ dist/ Production-ready generated files.
|
|__ src/ Library source files
| |
| |__ Lib/ Library sub modules
| |
| |__ Styles/ Stylesheets
|
|__ static/ Static files needed for the project,
namely html and images.
index.{ts,js}
within the src
directory, is the library's entry point, while submodules should
reside in their own files inside the src/lib/
directory.
Stylesheets (css
or scss
) should be placed in the src/styles
directory. They can then be
directly imported into index.{ts,js}
using import './styles/<filename>'
. When building for
production, a single css
file called style.css
will be generated in the dist
directory, and
automatically linked to in the html
file.
Your new progect comes with several ready-made scripts which you can run with npm run <script-name>
:
build
- Builds production-ready files.dev
- Fires up the webpack dev server.lint
- Lints your files.serve
- Start a BrowserSync live server serving fromdist
.test
- Run test specs.tdd
- Run test specs whenever files change.test:browser
- Run test specs in a browser environment (using Karma).tdd:browser
- Run test specs in a browser environment (using Karma) whenever files change.jsdoc
- Generate JSdoc documentation.gh-pager
- Publish documentation as gh-pages.