All Projects → facjure → replify

facjure / replify

Licence: EPL-1.0 license
Minimalist, standalone Clojure(script) build tool

Programming Languages

clojure
4091 projects
HTML
75241 projects

Projects that are alternatives of or similar to replify

qb
Zero-configuration build system to very quickly build C/C++ projects.
Stars: ✭ 201 (+644.44%)
Mutual labels:  build-tool
native-samples
Samples of modern build automation for native languages with Gradle
Stars: ✭ 140 (+418.52%)
Mutual labels:  build-tool
6umpukc
Тулинг для разработки сайтов и решений на Bitrix под Ubuntu/Windows
Stars: ✭ 13 (-51.85%)
Mutual labels:  build-tool
eclipse
Eclipse For Bazel (deprecated, see https://github.com/salesforce/bazel-eclipse instead)
Stars: ✭ 31 (+14.81%)
Mutual labels:  build-tool
ycm
Extra CMake Modules for YARP and friends
Stars: ✭ 42 (+55.56%)
Mutual labels:  build-tool
Cake.Incubator
This project contains various experimental but useful extension methods and aliases for Cake
Stars: ✭ 17 (-37.04%)
Mutual labels:  build-tool
proguard-core
Library to read, write, analyze, and process java bytecode
Stars: ✭ 215 (+696.3%)
Mutual labels:  build-tool
unity-build-pipeline
Custom BASH script for build, archive, export and upload APK and IPA to server with Telegram notification
Stars: ✭ 59 (+118.52%)
Mutual labels:  build-tool
fort depend.py
A python script to generate dependencies for Fortran projects
Stars: ✭ 35 (+29.63%)
Mutual labels:  build-tool
makestudio
Setup your Delphi Environment very easily - build your projects with more comfort
Stars: ✭ 43 (+59.26%)
Mutual labels:  build-tool
psh
PSH - PHP shell helper
Stars: ✭ 60 (+122.22%)
Mutual labels:  build-tool
up
UP - Ultimate Provisioner CLI
Stars: ✭ 43 (+59.26%)
Mutual labels:  build-tool
vim-build-tools-wrapper
Projects building plugin for Vim
Stars: ✭ 23 (-14.81%)
Mutual labels:  build-tool
alfons
🚀 Task runner for Lua and MoonScript.
Stars: ✭ 17 (-37.04%)
Mutual labels:  build-tool
b2
B2 makes it easy to build C++ projects, everywhere.
Stars: ✭ 38 (+40.74%)
Mutual labels:  build-tool
angular-build-info
🛠 A CLI to generate an easily importable `build.ts` file containing various details about the application build
Stars: ✭ 25 (-7.41%)
Mutual labels:  build-tool
jeka
Build JVM software with vanilla code
Stars: ✭ 73 (+170.37%)
Mutual labels:  build-tool
CMake-Cheatsheet
Short introduction to CMake with some examples.
Stars: ✭ 90 (+233.33%)
Mutual labels:  build-tool
Nginx-builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 143 (+429.63%)
Mutual labels:  build-tool
elite
Fegeya Elitebuild, small, powerful build system. Written in Rust.
Stars: ✭ 24 (-11.11%)
Mutual labels:  build-tool

Replify

A fast Clojure/Cljs REPL and a minimalist build tool with zero configuration, as a standalone uberjar.

Rationale

Why learn another build tool when you can code on the REPL with zero configuration?

The node-based, blazing fast (~10x) Browser, Rhino, Nashorn, and Node repls are bundled in Clojurescript. This library exposes these build tasks as plain old functions on the repl. In addition it maintains compatibility with leiningen project maps, and provides utilties to manage runtime classpath and dynamic dependencies using alembic.

Quickstart

Assuming you installed Java8, rlwrap (optional), and downloaded replify.jar, start a REPL:

rlwrap java -jar replify.jar
user=> (use 'replify.core)

On an Intel i7-7500U CPU @ 2.70GHz and 32GB Ram, with Ubuntu 17, this repl launches instantly. From here you can perform common Cljs tasks.

For lightweight scipts under 'src' add the classpath, like this:

rlwrap java -cp 'replify.jar:src' clojure.main

Tasks

All tasks assume your current cljs/cljc source files are under src.

user=> (use 'replify.core)
user=> (build 'foobar.core)
user=> (build-on-node 'foobar.core)
... node main.js
user=> (start-node-repl)
user=> (start-rhino-repl)
user=> (start-brepl)
user=> (release 'hello.core)

For browser REPLs: Create an index.html at the project root and include (:require [replify.core :as repl]) in your main source file.

<html>
	<body>
      <script src="target/app.js" type="text/javascript"></script>
      <div id="app"> </div>
    </body>
</html>

Refresh browser at localhost:9000 for brepl to connect.

To manage dependencies, create a project.clj in the current directory. Replify wraps leiningen but you don't have to install it.

(defproject FIXME "0.1.0"
    :description "FIXME"
    :url "https://github.com/FIXME"
    :dependencies [[org.clojure/clojure "1.7.0"]
                   [org.clojure/clojurescript "1.7.28"]]
    :jvm-opts ^:replace ["-Xmx512m" "-server"]
    :node-dependencies [[source-map-support "0.3.1"]]
    :plugins [[lein-npm "0.5.0"]]
    :source-paths ["src" "target/classes"]
    :clean-targets ["out" "release"]
    :profiles {:dev {:dependencies [[facjure/replify "0.3.0"]]}}
    :target-path "target")

Add dynamic dependencies

=> (add-deps '[org.omcljs/om "0.9.0"])
=> (add-deps '[[org.omcljs/om "0.9.0"] [sablono "0.3.4"] [facjure/mesh "0.3.0"]])
=> (load-cljsjs-deps) ;; load all available cljsjs deps into classpath

With Figwheel/Boot?

Replify is aimed at prototyping on the CLI and your favorite editor, with zero dependencies and configuration.

For projects with 'complex' build tasks and configuration use Figwheel, Boot, or even Lumo on Node.

Credits

Clojurescript Wiki.

Status

Clojars Project

License

Copyright © 2015 - 2017 Facjure, LLC.

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].