get cider up and working

This commit is contained in:
Daniel O'Connell 2021-03-09 19:54:08 +01:00
parent a003bd582d
commit c5cece213a
6 changed files with 98 additions and 152 deletions

10
frontend/.dir-locals.el Normal file
View File

@ -0,0 +1,10 @@
((clojurescript-mode
;; You use a shadow-cljs to build the project
;; This answers the question "which command should be used?"
(cider-preferred-build-tool . shadow-cljs)
;; This sets a default repl type and answers the question "select cljs repl type".
(cider-default-cljs-repl . shadow)
;; This tells shadow cljs what to build and should match a key in your shadow-cljs.edn
;; build map. e.g :builds {:<some-key> {...}}
;; pramas passed to shadow-cljs to start nrepl via cider-jack-in
(cider-shadow-default-options . "frontend -A:dev")))

View File

@ -6,10 +6,6 @@ All visible stuff.
Start the server: Start the server:
clojure -A:shadow-cljs watch frontend
or
npx shadow-cljs watch frontend npx shadow-cljs watch frontend
The app will be available at http://localhost:8280/ The app will be available at http://localhost:8280/

View File

@ -4,9 +4,8 @@
day8.re-frame/http-fx {:mvn/version "0.2.3"}} day8.re-frame/http-fx {:mvn/version "0.2.3"}}
:aliases :aliases
{:shadow-cljs {:dev {:extra-deps { thheller/shadow-cljs {:mvn/version "2.11.21"}}
{:extra-deps {thheller/shadow-cljs {:mvn/version "2.11.21"}} :extra-paths ["test"]}
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
:garden :garden
{:extra-deps {garden/garden {:mvn/version "1.3.10"}}} {:extra-deps {garden/garden {:mvn/version "1.3.10"}}}

View File

@ -23,9 +23,9 @@
"dev": true "dev": true
}, },
"@types/node": { "@types/node": {
"version": "14.14.31", "version": "14.14.33",
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.31.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.33.tgz",
"integrity": "sha512-vFHy/ezP5qI0rFgJ7aQnjDXwAMrG0KqqIH7tQG5PPv3BWBayOPIQNBjVc/P6hhdZfMx51REc6tfDNXHUio893g==", "integrity": "sha512-oJqcTrgPUF29oUP8AsUqbXGJNuPutsetaa9kTQAQce5Lx5dTYWV02ScBiT/k1BX/Z7pKeqedmvp39Wu4zR7N7g==",
"dev": true "dev": true
}, },
"accepts": { "accepts": {
@ -114,6 +114,12 @@
"util": "0.10.3" "util": "0.10.3"
}, },
"dependencies": { "dependencies": {
"inherits": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
"dev": true
},
"util": { "util": {
"version": "0.10.3", "version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
@ -323,6 +329,12 @@
"string_decoder": "^1.1.1", "string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1" "util-deprecate": "^1.0.1"
} }
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
} }
} }
}, },
@ -471,14 +483,6 @@
"inherits": "^2.0.3", "inherits": "^2.0.3",
"readable-stream": "^2.2.2", "readable-stream": "^2.2.2",
"typedarray": "^0.0.6" "typedarray": "^0.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
}
} }
}, },
"connect": { "connect": {
@ -778,12 +782,6 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true "dev": true
},
"ws": {
"version": "7.4.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz",
"integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==",
"dev": true
} }
} }
}, },
@ -994,9 +992,9 @@
} }
}, },
"glob-parent": { "glob-parent": {
"version": "5.1.1", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
"integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
"dev": true, "dev": true,
"requires": { "requires": {
"is-glob": "^4.0.1" "is-glob": "^4.0.1"
@ -1051,6 +1049,12 @@
"string_decoder": "^1.1.1", "string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1" "util-deprecate": "^1.0.1"
} }
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true
} }
} }
}, },
@ -1062,14 +1066,6 @@
"requires": { "requires": {
"inherits": "^2.0.3", "inherits": "^2.0.3",
"minimalistic-assert": "^1.0.1" "minimalistic-assert": "^1.0.1"
},
"dependencies": {
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
}
} }
}, },
"hasha": { "hasha": {
@ -1104,14 +1100,6 @@
"setprototypeof": "1.1.1", "setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2", "statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0" "toidentifier": "1.0.0"
},
"dependencies": {
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
}
} }
}, },
"http-proxy": { "http-proxy": {
@ -1168,9 +1156,9 @@
} }
}, },
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true "dev": true
}, },
"is-binary-path": { "is-binary-path": {
@ -1317,9 +1305,9 @@
} }
}, },
"karma": { "karma": {
"version": "6.1.1", "version": "6.1.2",
"resolved": "https://registry.npmjs.org/karma/-/karma-6.1.1.tgz", "resolved": "https://registry.npmjs.org/karma/-/karma-6.1.2.tgz",
"integrity": "sha512-vVDFxFGAsclgmFjZA/qGw5xqWdZIWxVD7xLyCukYUYd5xs/uGzYbXGOT5zOruVBQleKEmXIr4H2hzGCTn+M9Cg==", "integrity": "sha512-mKbxgsJrt3UHBPdKfCxC2eg3lpqyt6hQRFhNWJ2sk0wUnbnLPEiCpgIgiycuLSra0vC6TaK9OPJiMGATGzgH/A==",
"dev": true, "dev": true,
"requires": { "requires": {
"body-parser": "^1.19.0", "body-parser": "^1.19.0",
@ -1345,14 +1333,6 @@
"tmp": "0.2.1", "tmp": "0.2.1",
"ua-parser-js": "^0.7.23", "ua-parser-js": "^0.7.23",
"yargs": "^16.1.1" "yargs": "^16.1.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
} }
}, },
"karma-chrome-launcher": { "karma-chrome-launcher": {
@ -1602,6 +1582,14 @@
"url": "^0.11.0", "url": "^0.11.0",
"util": "^0.11.0", "util": "^0.11.0",
"vm-browserify": "^1.0.1" "vm-browserify": "^1.0.1"
},
"dependencies": {
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
}
} }
}, },
"normalize-path": { "normalize-path": {
@ -1814,9 +1802,9 @@
} }
}, },
"punycode": { "punycode": {
"version": "1.4.1", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true "dev": true
}, },
"qjobs": { "qjobs": {
@ -1912,29 +1900,6 @@
"safe-buffer": "~5.1.1", "safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1", "string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1" "util-deprecate": "~1.0.1"
},
"dependencies": {
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
} }
}, },
"readdirp": { "readdirp": {
@ -2035,9 +2000,9 @@
} }
}, },
"safe-buffer": { "safe-buffer": {
"version": "5.2.1", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true "dev": true
}, },
"safer-buffer": { "safer-buffer": {
@ -2089,6 +2054,19 @@
"source-map-support": "^0.4.15", "source-map-support": "^0.4.15",
"which": "^1.3.1", "which": "^1.3.1",
"ws": "^3.0.0" "ws": "^3.0.0"
},
"dependencies": {
"ws": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
"dev": true,
"requires": {
"async-limiter": "~1.0.0",
"safe-buffer": "~5.1.0",
"ultron": "~1.1.0"
}
}
} }
}, },
"shadow-cljs-jar": { "shadow-cljs-jar": {
@ -2166,9 +2144,9 @@
} }
}, },
"source-map": { "source-map": {
"version": "0.5.7", "version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true "dev": true
}, },
"source-map-support": { "source-map-support": {
@ -2178,6 +2156,14 @@
"dev": true, "dev": true,
"requires": { "requires": {
"source-map": "^0.5.6" "source-map": "^0.5.6"
},
"dependencies": {
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
}
} }
}, },
"sshpk": { "sshpk": {
@ -2272,12 +2258,12 @@
} }
}, },
"string_decoder": { "string_decoder": {
"version": "1.3.0", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true, "dev": true,
"requires": { "requires": {
"safe-buffer": "~5.2.0" "safe-buffer": "~5.1.0"
} }
}, },
"strip-ansi": { "strip-ansi": {
@ -2342,14 +2328,6 @@
"requires": { "requires": {
"psl": "^1.1.28", "psl": "^1.1.28",
"punycode": "^2.1.1" "punycode": "^2.1.1"
},
"dependencies": {
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
}
} }
}, },
"tty-browserify": { "tty-browserify": {
@ -2420,14 +2398,6 @@
"dev": true, "dev": true,
"requires": { "requires": {
"punycode": "^2.1.0" "punycode": "^2.1.0"
},
"dependencies": {
"punycode": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
"dev": true
}
} }
}, },
"url": { "url": {
@ -2455,14 +2425,6 @@
"dev": true, "dev": true,
"requires": { "requires": {
"inherits": "2.0.3" "inherits": "2.0.3"
},
"dependencies": {
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
}
} }
}, },
"util-deprecate": { "util-deprecate": {
@ -2539,23 +2501,10 @@
"dev": true "dev": true
}, },
"ws": { "ws": {
"version": "3.3.3", "version": "7.4.4",
"resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
"integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", "integrity": "sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw==",
"dev": true, "dev": true
"requires": {
"async-limiter": "~1.0.0",
"safe-buffer": "~5.1.0",
"ultron": "~1.1.0"
},
"dependencies": {
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
}
}
}, },
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",

View File

@ -4,7 +4,7 @@
"private": true, "private": true,
"devDependencies": { "devDependencies": {
"jasmine-core": "^3.6.0", "jasmine-core": "^3.6.0",
"karma": "^6.1.1", "karma": "^6.1.2",
"karma-chrome-launcher": "^3.1.0", "karma-chrome-launcher": "^3.1.0",
"karma-cljs-test": "^0.1.0", "karma-cljs-test": "^0.1.0",
"karma-firefox-launcher": "^2.1.0", "karma-firefox-launcher": "^2.1.0",

View File

@ -1,32 +1,24 @@
{ {:deps {:aliases [:dev]}
:source-paths ["src" "test"]
:dependencies [[reagent "1.0.0"] :nrepl {:middleware [refactor-nrepl.middleware/wrap-refactor]}
[re-frame "1.2.0"]
[day8.re-frame/http-fx "0.2.2"]
[cider/cider-nrepl "0.25.9"]
[garden/garden "1.3.10"]]
:builds :builds
{:frontend {:target :browser {:frontend {:target :browser
:output-dir "resources/public/js" :output-dir "resources/public/js"
:asset-path "/js" :asset-path "/js"
:modules {:app {:init-fn chicken-master.core/init}} :modules {:app {:init-fn chicken-master.core/init}}
:devtools {:http-root "resources/public" :http-port 8280}} :devtools {:repl-pprint true
:after-load chicken-master.core/init
:http-root "resources/public"
:http-port 8280}}
:test {:target :browser-test :test {:target :browser-test
:test-dir "resources/public/js/test" :test-dir "resources/public/js/test"
:ns-regexp "-test$" :ns-regexp "-test$"
:devtools {:http-port 8021 :devtools {:http-port 8021
:http-root "resources/public/js/test"}} :http-root "resources/public/js/test"}}
:ci {:target :karma :ci {:target :karma
:test-dir "resources/public/js/test" :test-dir "resources/public/js/test"
:output-to "target/ci.js" :output-to "target/ci.js"
:ns-regexp "-test$"} :ns-regexp "-test$"}}}
:script
{:target :node-script
:main demo.script/main
:output-to "out/demo-script/script.js"}
}}