Our great sponsors
-
create-reagent-app
Bootstrap a ClojureScript frontend app that uses Reagent for the UI and Shadow-CLJS as its build tool.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
webpack
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
Create Reagent App to create the project scaffold
Reagent (CLJS wrapper around React) for building your user interface
const path = require("path"); const webpack = require("webpack"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const HtmlBeautifierPlugin = require("html-beautifier-webpack-plugin"); module.exports = { mode: "development", entry: "./target/index.js", output: { path: path.resolve(__dirname, "public"), filename: "js/libs/bundle.js", clean: false, }, devtool: "source-map", module: { rules: [ { // docs: https://webpack.js.org/configuration/module/#resolvefullyspecified test: /\.m?js/, resolve: { fullySpecified: false, alias: { models: "../src/amplify/models/index.js", "ui-components": "../src/amplify/ui-components", }, }, }, { test: /\.jsx$/, exclude: /node_modules/, use: ["babel-loader"], }, ], }, resolve: { extensions: ["", ".js", ".jsx"], }, plugins: [ new webpack.ProvidePlugin({ process: "process/browser", }), new HtmlWebpackPlugin({ template: "./public/index.html.tmpl", filename: "index.html", }), new HtmlBeautifierPlugin(), ], };
Shadow-CLJS as the build tool / compiler
Reagent (CLJS wrapper around React) for building your user interface
Babel Used by webpack to convert JSX to JS