A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Make -> Just

+235 -241
+220
Justfile
··· 1 + BUILD_DIR := "./build" 2 + NPM_DIR := "./node_modules" 3 + SRC_DIR := "./src" 4 + SYSTEM_DIR := "./system" 5 + TEMPORARY_DIR := "./tmp" 6 + 7 + 8 + default: dev 9 + 10 + 11 + # Tasks 12 + # ===== 13 + 14 + @build: clean system css elm js 15 + echo "> Build completed ⚡" 16 + 17 + 18 + @build-prod: clean system css-prod elm-prod js-prod 19 + echo "> Production build completed 🛳" 20 + 21 + 22 + @clean: 23 + echo "> Cleaning build directory" 24 + rm -rf {{BUILD_DIR}} || true 25 + 26 + 27 + @css: 28 + echo "> Compiling CSS" 29 + mkdir -p {{BUILD_DIR}} 30 + mkdir -p {{TEMPORARY_DIR}} 31 + {{NPM_DIR}}/.bin/postcss \ 32 + "{{SRC_DIR}}/Css/About.css" \ 33 + --output "{{BUILD_DIR}}/about.css" \ 34 + --config "{{SYSTEM_DIR}}/Css/" 35 + {{NPM_DIR}}/.bin/postcss \ 36 + "{{SRC_DIR}}/Css/Application.css" \ 37 + --output "{{BUILD_DIR}}/application.css" \ 38 + --config "{{SYSTEM_DIR}}/Css/" 39 + 40 + 41 + @css-prod: css 42 + echo "> Optimizing CSS" 43 + {{NPM_DIR}}/.bin/purgecss \ 44 + --config {{SYSTEM_DIR}}/Css/purgecss.about.js \ 45 + --out {{BUILD_DIR}} 46 + {{NPM_DIR}}/.bin/purgecss \ 47 + --config {{SYSTEM_DIR}}/Css/purgecss.application.js \ 48 + --out {{BUILD_DIR}} 49 + {{NPM_DIR}}/.bin/csso \ 50 + "{{BUILD_DIR}}/about.css" \ 51 + --output "{{BUILD_DIR}}/about.css" 52 + {{NPM_DIR}}/.bin/csso \ 53 + "{{BUILD_DIR}}/application.css" \ 54 + --output "{{BUILD_DIR}}/application.css" 55 + 56 + 57 + @elm: 58 + echo "> Compiling Elm application" 59 + elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/brain.elm.js 60 + elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/ui.elm.js 61 + 62 + 63 + @elm-prod: 64 + echo "> Compiling Elm application (optimized)" 65 + elm make {{SRC_DIR}}/Applications/Brain.elm --output {{BUILD_DIR}}/brain.elm.js --optimize 66 + elm make {{SRC_DIR}}/Applications/UI.elm --output {{BUILD_DIR}}/ui.elm.js --optimize 67 + 68 + {{NPM_DIR}}/.bin/terser {{BUILD_DIR}}/brain.elm.js \ 69 + --output {{BUILD_DIR}}/brain.elm.tmp.js \ 70 + --compress --mangle 71 + 72 + {{NPM_DIR}}/.bin/terser {{BUILD_DIR}}/ui.elm.js \ 73 + --output {{BUILD_DIR}}/ui.elm.tmp.js \ 74 + --compress --mangle 75 + 76 + rm {{BUILD_DIR}}/brain.elm.js 77 + mv {{BUILD_DIR}}/brain.elm.tmp.js {{BUILD_DIR}}/brain.elm.js 78 + rm {{BUILD_DIR}}/ui.elm.js 79 + mv {{BUILD_DIR}}/ui.elm.tmp.js {{BUILD_DIR}}/ui.elm.js 80 + 81 + 82 + @js: vendor-js 83 + echo "> Compiling Javascript code" 84 + 85 + # ... 86 + cp {{NPM_DIR}}/subworkers/subworkers.js {{BUILD_DIR}}/subworkers.js 87 + 88 + # Main builds 89 + {{NPM_DIR}}/.bin/webpack-cli \ 90 + --entry ./src/Javascript/index.js \ 91 + --mode none \ 92 + --output {{BUILD_DIR}}/ui.js 93 + 94 + {{NPM_DIR}}/.bin/webpack-cli \ 95 + --entry ./src/Javascript/Brain/index.js \ 96 + --mode none \ 97 + --target webworker \ 98 + --output {{BUILD_DIR}}/brain.js 99 + 100 + # Workers 101 + {{NPM_DIR}}/.bin/webpack-cli \ 102 + --entry ./src/Javascript/Workers/search.js \ 103 + --mode none \ 104 + --target webworker \ 105 + --output {{BUILD_DIR}}/search.js 106 + 107 + {{NPM_DIR}}/.bin/webpack-cli \ 108 + --entry ./src/Javascript/Workers/service.js \ 109 + --mode none \ 110 + --target webworker \ 111 + --output {{BUILD_DIR}}/service-worker.js 112 + 113 + 114 + @js-prod: vendor-js 115 + echo "> Compiling Javascript code (optimized)" 116 + 117 + # ... 118 + cp {{NPM_DIR}}/subworkers/subworkers.js {{BUILD_DIR}}/subworkers.js 119 + 120 + # Main builds 121 + {{NPM_DIR}}/.bin/webpack-cli \ 122 + --entry ./src/Javascript/index.js \ 123 + --mode production \ 124 + --output {{BUILD_DIR}}/ui.js 125 + 126 + {{NPM_DIR}}/.bin/webpack-cli \ 127 + --entry ./src/Javascript/Brain/index.js \ 128 + --mode production \ 129 + --target webworker \ 130 + --output {{BUILD_DIR}}/brain.js 131 + 132 + # Workers 133 + {{NPM_DIR}}/.bin/webpack-cli \ 134 + --entry ./src/Javascript/Workers/search.js \ 135 + --mode production \ 136 + --target webworker \ 137 + --output {{BUILD_DIR}}/search.js 138 + 139 + {{NPM_DIR}}/.bin/webpack-cli \ 140 + --entry ./src/Javascript/Workers/service.js \ 141 + --mode production \ 142 + --target webworker \ 143 + --output {{BUILD_DIR}}/service-worker.js 144 + 145 + 146 + @system: 147 + echo "> Compiling system" 148 + stack build && stack exec build 149 + 150 + 151 + @vendor-js: 152 + mkdir -p {{BUILD_DIR}}/vendor 153 + cp {{NPM_DIR}}/remotestoragejs/release/remotestorage.js {{BUILD_DIR}}/vendor/remotestorage.min.js 154 + cp {{NPM_DIR}}/blockstack/blockstack.min.js {{BUILD_DIR}}/vendor/blockstack.min.js 155 + 156 + {{NPM_DIR}}/.bin/terser {{NPM_DIR}}/pep/elm-pep.js \ 157 + --output {{BUILD_DIR}}/vendor/pep.js \ 158 + --compress --mangle 159 + 160 + 161 + # 162 + # Dev tasks 163 + # 164 + 165 + @dev: build 166 + make -j watch-wo-build server 167 + 168 + 169 + @doc-tests: 170 + echo "> Running documentation tests" 171 + ( cd src && \ 172 + find . -name "*.elm" -print0 | \ 173 + xargs -0 -n 1 -I % sh -c 'elm-proofread -- % || exit 255; echo "\n\n"' \ 174 + ) 175 + 176 + 177 + @quality: 178 + echo "> Running es-lint" 179 + {{NPM_DIR}}/.bin/eslint src/Javascript/** 180 + echo "> Running elm-review" 181 + {{NPM_DIR}}/.bin/elm-review src --config system/Review 182 + 183 + 184 + @quality-fix: 185 + echo "> Running elm-review" 186 + {{NPM_DIR}}/.bin/elm-review src --config system/Review --fix 187 + 188 + 189 + @server: 190 + echo "> Booting up web server on port 5000" 191 + devd --port 5000 --all --crossdomain --quiet --notfound=301.html {{BUILD_DIR}} 192 + 193 + 194 + @test: 195 + make -j doc-tests 196 + 197 + 198 + @watch: build 199 + make watch-wo-build 200 + 201 + 202 + @watch-wo-build: 203 + echo "> Watching" 204 + make -j watch-css watch-elm watch-js watch-system 205 + 206 + 207 + @watch-css: 208 + watchexec -p -w {{SRC_DIR}}/Css -w {{SYSTEM_DIR}}/Css -- make css 209 + 210 + 211 + @watch-elm: 212 + watchexec -p -w {{SRC_DIR}} -e elm -- make elm 213 + 214 + 215 + @watch-js: 216 + watchexec -p -w {{SRC_DIR}} -e js -- make js 217 + 218 + 219 + @watch-system: 220 + watchexec -p --ignore *.elm --ignore *.js --ignore *.css -- make system
-228
Makefile
··· 1 - .PHONY: build system vendor 2 - 3 - 4 - # Variables 5 - 6 - BUILD_DIR=./build 7 - NPM_DIR=./node_modules 8 - SRC_DIR=./src 9 - SYSTEM_DIR=./system 10 - TEMPORARY_DIR=./tmp 11 - 12 - 13 - # Default task 14 - 15 - all: dev 16 - 17 - 18 - # 19 - # Build tasks 20 - # 21 - 22 - build: clean system css elm js 23 - @echo "> Build completed ⚡" 24 - 25 - 26 - build-prod: clean system css-prod elm-prod js-prod 27 - @echo "> Production build completed 🛳" 28 - 29 - 30 - clean: 31 - @echo "> Cleaning build directory" 32 - @rm -rf $(BUILD_DIR) || true 33 - 34 - 35 - css: 36 - @echo "> Compiling CSS" 37 - @mkdir -p $(BUILD_DIR) 38 - @mkdir -p $(TEMPORARY_DIR) 39 - @$(NPM_DIR)/.bin/postcss \ 40 - "${SRC_DIR}/Css/About.css" \ 41 - --output "${BUILD_DIR}/about.css" \ 42 - --config "${SYSTEM_DIR}/Css/" 43 - @$(NPM_DIR)/.bin/postcss \ 44 - "${SRC_DIR}/Css/Application.css" \ 45 - --output "${BUILD_DIR}/application.css" \ 46 - --config "${SYSTEM_DIR}/Css/" 47 - 48 - 49 - css-prod: css 50 - @echo "> Optimizing CSS" 51 - @$(NPM_DIR)/.bin/purgecss \ 52 - --config $(SYSTEM_DIR)/Css/purgecss.about.js \ 53 - --out $(BUILD_DIR) 54 - @$(NPM_DIR)/.bin/purgecss \ 55 - --config $(SYSTEM_DIR)/Css/purgecss.application.js \ 56 - --out $(BUILD_DIR) 57 - @$(NPM_DIR)/.bin/csso \ 58 - "${BUILD_DIR}/about.css" \ 59 - --output "${BUILD_DIR}/about.css" 60 - @$(NPM_DIR)/.bin/csso \ 61 - "${BUILD_DIR}/application.css" \ 62 - --output "${BUILD_DIR}/application.css" 63 - 64 - 65 - elm: 66 - @echo "> Compiling Elm application" 67 - @elm make $(SRC_DIR)/Applications/Brain.elm --output $(BUILD_DIR)/brain.elm.js 68 - @elm make $(SRC_DIR)/Applications/UI.elm --output $(BUILD_DIR)/ui.elm.js 69 - 70 - 71 - elm-prod: 72 - @echo "> Compiling Elm application (optimized)" 73 - @elm make $(SRC_DIR)/Applications/Brain.elm --output $(BUILD_DIR)/brain.elm.js --optimize 74 - @elm make $(SRC_DIR)/Applications/UI.elm --output $(BUILD_DIR)/ui.elm.js --optimize 75 - 76 - @$(NPM_DIR)/.bin/terser $(BUILD_DIR)/brain.elm.js \ 77 - --output $(BUILD_DIR)/brain.elm.tmp.js \ 78 - --compress --mangle 79 - 80 - @$(NPM_DIR)/.bin/terser $(BUILD_DIR)/ui.elm.js \ 81 - --output $(BUILD_DIR)/ui.elm.tmp.js \ 82 - --compress --mangle 83 - 84 - @rm $(BUILD_DIR)/brain.elm.js 85 - @mv $(BUILD_DIR)/brain.elm.tmp.js $(BUILD_DIR)/brain.elm.js 86 - @rm $(BUILD_DIR)/ui.elm.js 87 - @mv $(BUILD_DIR)/ui.elm.tmp.js $(BUILD_DIR)/ui.elm.js 88 - 89 - 90 - js: vendor-js 91 - @echo "> Compiling Javascript code" 92 - 93 - @# ... 94 - @cp $(NPM_DIR)/subworkers/subworkers.js $(BUILD_DIR)/subworkers.js 95 - 96 - @# Main builds 97 - @$(NPM_DIR)/.bin/webpack-cli \ 98 - --entry ./src/Javascript/index.js \ 99 - --mode none \ 100 - --output $(BUILD_DIR)/ui.js 101 - 102 - @$(NPM_DIR)/.bin/webpack-cli \ 103 - --entry ./src/Javascript/Brain/index.js \ 104 - --mode none \ 105 - --target webworker \ 106 - --output $(BUILD_DIR)/brain.js 107 - 108 - @# Workers 109 - @$(NPM_DIR)/.bin/webpack-cli \ 110 - --entry ./src/Javascript/Workers/search.js \ 111 - --mode none \ 112 - --target webworker \ 113 - --output $(BUILD_DIR)/search.js 114 - 115 - @$(NPM_DIR)/.bin/webpack-cli \ 116 - --entry ./src/Javascript/Workers/service.js \ 117 - --mode none \ 118 - --target webworker \ 119 - --output $(BUILD_DIR)/service-worker.js 120 - 121 - 122 - js-prod: vendor-js 123 - @echo "> Compiling Javascript code (optimized)" 124 - 125 - @# ... 126 - @cp $(NPM_DIR)/subworkers/subworkers.js $(BUILD_DIR)/subworkers.js 127 - 128 - @# Main builds 129 - @$(NPM_DIR)/.bin/webpack-cli \ 130 - --entry ./src/Javascript/index.js \ 131 - --mode production \ 132 - --output $(BUILD_DIR)/ui.js 133 - 134 - @$(NPM_DIR)/.bin/webpack-cli \ 135 - --entry ./src/Javascript/Brain/index.js \ 136 - --mode production \ 137 - --target webworker \ 138 - --output $(BUILD_DIR)/brain.js 139 - 140 - @# Workers 141 - @$(NPM_DIR)/.bin/webpack-cli \ 142 - --entry ./src/Javascript/Workers/search.js \ 143 - --mode production \ 144 - --target webworker \ 145 - --output $(BUILD_DIR)/search.js 146 - 147 - @$(NPM_DIR)/.bin/webpack-cli \ 148 - --entry ./src/Javascript/Workers/service.js \ 149 - --mode production \ 150 - --target webworker \ 151 - --output $(BUILD_DIR)/service-worker.js 152 - 153 - 154 - system: 155 - @echo "> Compiling system" 156 - @stack build && stack exec build 157 - 158 - 159 - vendor-js: 160 - @mkdir -p $(BUILD_DIR)/vendor 161 - @cp $(NPM_DIR)/remotestoragejs/release/remotestorage.js $(BUILD_DIR)/vendor/remotestorage.min.js 162 - @cp $(NPM_DIR)/blockstack/blockstack.min.js $(BUILD_DIR)/vendor/blockstack.min.js 163 - 164 - @$(NPM_DIR)/.bin/terser $(NPM_DIR)/pep/elm-pep.js \ 165 - --output $(BUILD_DIR)/vendor/pep.js \ 166 - --compress --mangle 167 - 168 - 169 - # 170 - # Dev tasks 171 - # 172 - 173 - dev: build 174 - @make -j watch-wo-build server 175 - 176 - 177 - doc-tests: 178 - @echo "> Running documentation tests" 179 - @( cd src && \ 180 - find . -name "*.elm" -print0 | \ 181 - xargs -0 -n 1 -I % sh -c 'elm-proofread -- % || exit 255; echo "\n\n"' \ 182 - ) 183 - 184 - 185 - quality: 186 - @echo "> Running es-lint" 187 - @$(NPM_DIR)/.bin/eslint src/Javascript/** 188 - @echo "> Running elm-review" 189 - @$(NPM_DIR)/.bin/elm-review src --config system/Review 190 - 191 - 192 - quality-fix: 193 - @echo "> Running elm-review" 194 - @$(NPM_DIR)/.bin/elm-review src --config system/Review --fix 195 - 196 - 197 - server: 198 - @echo "> Booting up web server on port 5000" 199 - @devd --port 5000 --all --crossdomain --quiet --notfound=301.html $(BUILD_DIR) 200 - 201 - 202 - test: 203 - @make -j doc-tests 204 - 205 - 206 - watch: build 207 - @make watch-wo-build 208 - 209 - 210 - watch-wo-build: 211 - @echo "> Watching" 212 - @make -j watch-css watch-elm watch-js watch-system 213 - 214 - 215 - watch-css: 216 - @watchexec -p -w $(SRC_DIR)/Css -w $(SYSTEM_DIR)/Css -- make css 217 - 218 - 219 - watch-elm: 220 - @watchexec -p -w $(SRC_DIR) -e elm -- make elm 221 - 222 - 223 - watch-js: 224 - @watchexec -p -w $(SRC_DIR) -e js -- make js 225 - 226 - 227 - watch-system: 228 - @watchexec -p --ignore *.elm --ignore *.js --ignore *.css -- make system
+2 -1
README.md
··· 65 65 - [Elm](https://elm-lang.org/) programming language 66 66 - [Haskell](https://docs.haskellstack.org/en/stable/README/) programming language 67 67 - [Node.js](https://nodejs.org/) programming language with the [Yarn](https://yarnpkg.com/) package manager 68 + - [Just](https://github.com/casey/just) command runner (improved `make`) 68 69 - [Devd](https://github.com/cortesi/devd) web server for development (optional) 69 70 - [Watchexec](https://github.com/watchexec/watchexec) watching for file changes (optional) 70 71 - [Elm Proofread](https://github.com/icidasset/elm-proofread) documentation tests (optional) ··· 80 81 yarn install 81 82 82 83 # 3. Build, start server & watch for changes 83 - make 84 + just 84 85 ```
+1 -1
package.json
··· 3 3 "devDependencies": { 4 4 "autoprefixer": "^9.7.3", 5 5 "csso-cli": "^3.0.0", 6 - "elm-review": "^1.0.1", 6 + "elm-review": "^1.0.2", 7 7 "eslint": "^6.8.0", 8 8 "postcss": "^7.0.23", 9 9 "postcss-cli": "^6.1.3",
+1
src/Applications/UI/Equalizer/State.elm
··· 4 4 import Color.Ext as Color 5 5 import Coordinates exposing (Coordinates) 6 6 import Equalizer exposing (..) 7 + import Html.Events.Extra.Pointer as Pointer 7 8 import Json.Decode as Decode 8 9 import Management 9 10 import Material.Icons as Icons
+11 -11
yarn.lock
··· 529 529 buffers "~0.1.1" 530 530 chainsaw "~0.1.0" 531 531 532 - binwrap@^0.2.0: 532 + binwrap@^0.2.2: 533 533 version "0.2.2" 534 534 resolved "https://registry.yarnpkg.com/binwrap/-/binwrap-0.2.2.tgz#7d1ea74b28332f18dfdc75548aef993041ffafc9" 535 535 integrity sha512-Y+Wvypk3JhH5GPZAvlwJAWOVH/OsOhQMSj37vySuWHwQivoALplPxfBA8b973rFJI7OS+O+1YmmYXIiEXVMAcw== ··· 1338 1338 minimalistic-assert "^1.0.0" 1339 1339 minimalistic-crypto-utils "^1.0.0" 1340 1340 1341 - elm-json@^0.2.1: 1342 - version "0.2.2" 1343 - resolved "https://registry.yarnpkg.com/elm-json/-/elm-json-0.2.2.tgz#fc8d2331c506a261ad56172ee3db23f879ddb41a" 1344 - integrity sha512-5xAEWQfw0jsWUYC7Xz2fN1VN8raLu14s2qo51IGpL/dnMW8N9vnOUy9cGoxfQDQshBmgT9GJvpATzFZNwHYzmA== 1341 + elm-json@^0.2.6: 1342 + version "0.2.6" 1343 + resolved "https://registry.yarnpkg.com/elm-json/-/elm-json-0.2.6.tgz#d73305fe1ed1e833508d1a614b083360aab089ac" 1344 + integrity sha512-ExZYy9bml4EnHr0fRU/Wt907o7MqHsHWQj7e6j3vqRTK0Uod3bXFCR79N9MQkHm9ko8tY6nkjRQJ87O0X7ZE/Q== 1345 1345 dependencies: 1346 - binwrap "^0.2.0" 1346 + binwrap "^0.2.2" 1347 1347 1348 - elm-review@^1.0.1: 1349 - version "1.0.1" 1350 - resolved "https://registry.yarnpkg.com/elm-review/-/elm-review-1.0.1.tgz#9769baf54fc4f735b34f7d6b3d6e7b65b07a17bb" 1351 - integrity sha512-TqXgbwTm/CpN+ZzjnvJyenl5U0+rzHoEeUnfW05IOx2ajgeeu2ibOXAZQLmRl6fDiVG0gIHRRsmBreQjoVq/0Q== 1348 + elm-review@^1.0.2: 1349 + version "1.0.2" 1350 + resolved "https://registry.yarnpkg.com/elm-review/-/elm-review-1.0.2.tgz#48c297a55b93fcc54ca3ee62e0aca5089172bdd2" 1351 + integrity sha512-DkDRJUchPsopoUduZAeHFZb3aHToPCPXcpu51QiCYCWMB8YqH9njk79PH/kR26i1yC2kQ4p3PMsDwuSVhDRG/A== 1352 1352 dependencies: 1353 1353 chalk "^2.4.2" 1354 1354 cross-spawn "^6.0.5" 1355 - elm-json "^0.2.1" 1355 + elm-json "^0.2.6" 1356 1356 find-up "^4.1.0" 1357 1357 fs-extra "^7.0.1" 1358 1358 glob "^7.1.4"