Sie bauen Ihr Backend schon mit einem Build-Server nach aller Kunst der CI? Und wie sieht das mit dem JavaScript-Code aus? Das Bündeln und Minifizieren beispielsweise mithilfe von Uglify und Grunt mit in den Build-Server einzuklinken, ist ja erst der Anfang. Sollte der Build nicht auch "Rot" werden, wenn ein JavaScript-Test von Jasmine fehlschlägt? Ach, und sammeln Sie noch keine Qualitätsmetriken über den clientseitigen Code? Laufen Sie dann nicht Gefahr, in der Scripthölle zu landen?
2. danielfisher.com
I’m a technician & always concerned about bandwidth
So I ask you to send one packet instead of two
DANIEL
My name is
Any further questions? Just Ask!
3. danielfisher.com
software
I design, develop, deploy, teach, train, coach and speak
HTML5 & WEB, DATA ACCESS & PERFORMANCE,
SCALABLE & TESTABLE DESIGN, DISTRIBUTED SYSTEMS
& SERVICES, SECURITY & TRUST
lennybacon.com my blog url
@lennybacon my twitter handle
info@danielfisher.com my smtp
find my services at danielfisher.com
6. danielfisher.com
What is npm?
• Node.js Package Manager
– Open Source founded by
Isaac Z. Schlueter
– The package manager for
Javascript.
– Installed with node.js!
– Nested dependency trees
– Install modules used in a node.js environment, or
development tools built using node.js such Karma, lint,
minifiers and so on
https://www.npmjs.com/
7. danielfisher.com
Install a package
:: Local Installation
npm install --save {package name}
:: --save adds package to packages.json
:: Global Installation
npm install --global {package name}
npm install -g {package name}
30. danielfisher.com
What is Gulp?
• A node.js Task Runner
– Most contributions by
Eric Schoffstall (contra)
– Grunt plug-ins often perform n tasks
• Gulp plug-ins are designed
to do only thing.
– Grunt requires plug-ins for basics
• Gulp has them built-in.
– Grunt uses JSON-like data configuration files
• Gulp uses leaner, simpler JavaScript code.
40. danielfisher.com
What is Jasmine
• A JavaScript Testing Framework
– Most contributions by
Gregg Van Hove (slackersoft).
– Behavior Driven Development.
– Does not rely on browsers, DOM, or any
JavaScript framework.
– Suited for websites, Node.js projects, or
anywhere that JavaScript can run.
• https://jasmine.github.io/
46. danielfisher.com
What is TSLint?
• Static Code analysis for
TypeScript
– Maintained by Palantir
Technologies from New York
– Most contributions by Ashwin
Ramaswamy (ashwinr)
• https://github.com/palantir/tslint