Shadow-CLJS

It's a super quick introduction

 

 

And it's not because of El Classico tonight!!

Long Story Short

Shadow-CLJS is a new tool & it totally rocks!

Shadow CLJS is fullstack build tool for CLJS

Shdow-cljs and Me

Why is it good ?

  • Fullstack tool for CLJS
  • NPM integration
  • Dynamic code loading
  • Importing CommonJS & ES6 modules from npm or local JavaScript files
  • Ease of use
  • Reliable ( no constant `lein clean` )
  • Decent performance (server mode)
  • Built-in testing utilities
  • decent documentation

Fullstack build Tool

  • Compiler
  • Development
    • HUD interface
    • Hot code reload
    • Style reloader
    • Proxy
    • Reverse Proxy
    • Built-in web server
  • REPL ( duh ! )

Build Targets

  • Most of configurations live in build targets
  • Such as:
    • :node-script
    • :browser
    • :npm-module
    • :react-native
    • ...
  • Very little configuration is needed
  • Caches the compilation result for each build
  • New conditional readers for each target

NPM Integration

  • Flawless NPM integration
  • It's different from CLJS npm integration
  • No need for CLJSJS anymore

Dynamic code loading

  • Code splitting
  • Dynamic namespace loader (different loader from cljs.loader)

Testing Utilities

  • Test runner
  • Dedicated targets for node-tests and karma

Quick Demo

Questions ?

Shadow-CLJS

By Sameer Rahmani