Skip to content

Instantly share code, notes, and snippets.

View arichiardi's full-sized avatar

Andrea Richiardi arichiardi

View GitHub Profile

lumo logo

Lumo Unbundled

This is a proposal for creating a new package along with lumo-cljs containing all the un-bundled JavaScript files needed for the current lumo to work, like:

  • target/bundle.min.js
  • target/main.js
  • target/main.js.map
@arichiardi
arichiardi / package
Last active June 19, 2018 19:50
This is an example of how to bundle a ClojureScript artifact with webpack on node
#!/bin/bash
do_usage() {
echo
echo "Package the zip ready for lambda deployment."
echo
echo " -s is the stage, will default to dev is absent."
echo " -p accepts an dir path where the package will be copied, it defaults
to \"./.serverless\"".
echo " -B option skips compilation, in case you already have compiled
@arichiardi
arichiardi / shadow-build.clj
Created March 20, 2019 20:07
Shadow-cljs cljs deps.edn hook
(ns user.shadow-build
(:require [cheshire.core :as json]
[clojure.java.io :as io]))
(def ^:private package-json-path "package.json")
(def ^:private deps-edn-path "src/deps.cljs")
(defn deps-cljs
[package-json-edn]
{:npm-deps (get package-json-edn "dependencies" {})})
@arichiardi
arichiardi / pom-deps-to-clj
Created June 3, 2019 19:17
Convert the output of mvn dependency:list to leiningen deps
#!/usr/bin/env bash
set -euo pipefail
# The following is the mvn dependency:list expected output
#
# [INFO] The following files have been resolved:
# [INFO] com.elasticpath.service.tenant:tenant-service-model:jar:1.0-SNAPSHOT:compile
# [INFO] com.elasticpath.service.tenant:tenant-service-dao:jar:1.0-SNAPSHOT:compile
@arichiardi
arichiardi / app.clj
Created November 26, 2021 15:08
Integrant/Duct dev/prod app -main code
;; This setup solves the problem of prod and dev code path differing at startup.
;; The above issue leads to problems hard to catch, catch when deploying to prod.
;;
;; in production main
;;
(def duct-config-file-path (io/resource "/<project>/config.edn")
(defn prep-config
"Duct prep-config wrapper."
@arichiardi
arichiardi / parallel.clj
Created March 31, 2022 15:46
Very simple parallel testing utility
(ns test.parallel
(:require
[clojure.core.async :as clj-async :refer [>! go]])
(:import
java.util.concurrent.CountDownLatch
java.util.concurrent.TimeUnit))
(def
^{:dynamic true
:doc
@arichiardi
arichiardi / email.clj
Created July 15, 2016 18:28
Send an email with attachments using SES, postal and selmer
ns services.email
(:require [clojure.tools.logging :as log]
[clojure.string :as string]
[clojure.java.io :as io]
[schema.core :as s]
[camel-snake-kebab.core :as csk]
[camel-snake-kebab.extras :as cske]
[amazonica.core :as aws]
[amazonica.aws.simpleemail :as ses]
[selmer.parser :as selmer]