Skip to content

Commit ec1018e

Browse files
committed
refactoring wip
1 parent a59ce52 commit ec1018e

File tree

10 files changed

+261
-32
lines changed

10 files changed

+261
-32
lines changed

ghcjs/lightning-verifier/default.nix

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ in rec {
4242
(
4343
cd ${repo}
4444
${functora-pkgs.nodejs}/bin/npm i --prefer-offline
45-
${functora-pkgs.nodejs}/bin/npm run build
4645
nix-build -A releaseDer
4746
rm -rf ./dist/latest
4847
mkdir -p ./dist/latest
@@ -81,16 +80,6 @@ in rec {
8180
cp ${./static}/*.woff2 $out/static/
8281
cp ${./static}/*.webmanifest $out/
8382
cp ${./static}/*.ico $out/
84-
for FILE in ${./static}/web*.js; do
85-
${functora-pkgs.terser}/bin/terser \
86-
$FILE -o $out/$(basename $FILE) --compress --mangle --source-map
87-
done
88-
for FILE in ${./static}/pwa*.js; do
89-
${functora-pkgs.terser}/bin/terser \
90-
$FILE -o $out/$(basename $FILE) --compress --mangle --source-map
91-
done
92-
${functora-pkgs.terser}/bin/terser \
93-
${./static}/main.js -o $out/main.js --compress --mangle --source-map
9483
${functora-pkgs.html-minifier}/bin/html-minifier \
9584
--minify-js \
9685
--minify-css \
@@ -105,23 +94,28 @@ in rec {
10594
--minify-js \
10695
--minify-css \
10796
-o $out/index.html \
108-
${./static}/ghcjs.html
97+
${./static/ghcjs.html}
10998
${functora-pkgs.clean-css-cli}/bin/cleancss \
11099
-O2 \
111100
--source-map \
112101
-o $out/static/all.css \
113-
${./static}/material-components-web.min.css \
114-
${./static}/material-icons.css \
115-
${./static}/app.css
102+
${./static/material-components-web.min.css} \
103+
${./static/material-icons.css} \
104+
${./static/app.css}
116105
${functora-pkgs.closurecompiler}/bin/closure-compiler \
117106
--jscomp_off=checkVars \
118107
--compilation_level ADVANCED_OPTIMIZATIONS \
119108
--externs ${app}/bin/${label}.jsexe/all.js.externs \
120-
--externs ${./static}/app.js \
121-
--externs ${./static/hs-bitcoin-hash.js} \
122-
--externs ${./static/hs-bitcoin-keys.js} \
123-
--externs ${./static}/material-components-web.min.js \
124-
--externs ${./static}/material-components-web-elm.min.js \
109+
--externs ${./static/app.js} \
110+
--externs ${
111+
pkgs.haskell.packages.ghc865.bitcoin-hash.src
112+
}/js/index.compiled.js \
113+
--externs ${
114+
pkgs.haskell.packages.ghc865.bitcoin-keys.src
115+
}/js/index.compiled.js \
116+
--externs ${../miso-widgets/js/main.min.js} \
117+
--externs ${../miso-components/material-components-web.min.js} \
118+
--externs ${../miso-components/material-components-web-elm.min.js} \
125119
--output_wrapper "%output%//# sourceMappingURL=all.js.map" \
126120
--create_source_map $out/all.js.map \
127121
--js ${app}/bin/${label}.jsexe/all.js \

ghcjs/lightning-verifier/src/App/Types.hs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ import Functora.Money hiding (Currency, Money, Text)
3838
import qualified Functora.Prelude as Prelude
3939
import qualified Paths_lightning_verifier as Paths
4040
import qualified Text.URI as URI
41-
import qualified Text.URI.QQ as URI
4241

4342
data Model = Model
4443
{ modelFav :: OpenedOrClosed,
@@ -298,19 +297,24 @@ btc = CurrencyInfo (CurrencyCode "btc") mempty
298297

299298
googlePlayLink :: URI
300299
googlePlayLink =
301-
[URI.uri|https://play.google.com/apps/testing/com.functora.lightning_verifier|]
300+
either impureThrow id
301+
$ mkURI "https://play.google.com/apps/testing/com.functora.lightning_verifier"
302302

303303
testGroupLink :: URI
304304
testGroupLink =
305-
[URI.uri|https://groups.google.com/g/functora|]
305+
either impureThrow id
306+
$ mkURI "https://groups.google.com/g/functora"
306307

307308
functoraLink :: URI
308309
functoraLink =
309-
[URI.uri|https://functora.github.io/|]
310+
either impureThrow id
311+
$ mkURI "https://functora.github.io/"
310312

311313
sourceLink :: URI
312314
sourceLink =
313-
[URI.uri|https://github.com/functora/functora.github.io/tree/master/ghcjs/lightning-verifier|]
315+
either impureThrow id
316+
$ mkURI
317+
"https://github.com/functora/functora.github.io/tree/master/ghcjs/lightning-verifier"
314318

315319
apkLink :: URI
316320
apkLink =

ghcjs/lightning-verifier/src/Main.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ main =
6161
#if !defined(__GHCJS__) && !defined(ghcjs_HOST_OS) && !defined(wasi_HOST_OS)
6262
runApp :: JSM () -> IO ()
6363
runApp app = do
64-
let cap = "const cap = document.createElement('script'); cap.language = 'javascript'; cap.src = 'main.js'; cap.defer = 'defer'; cap.type = 'module'; document.getElementsByTagName('head')[0].appendChild(cap);" :: BL.ByteString
64+
cap <- BL.readFile "../miso-widgets/js/main.min.js"
6565
js0 <- BL.readFile "static/app.js"
66-
js1 <- BL.readFile "static/material-components-web.min.js"
67-
js2 <- BL.readFile "static/material-components-web-elm.min.js"
66+
js1 <- BL.readFile "../miso-components/material-components-web.min.js"
67+
js2 <- BL.readFile "../miso-components/material-components-web-elm.min.js"
6868
Warp.runSettings
6969
( Warp.setPort
7070
8080

ghcjs/miso-components/material-components-web.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ghcjs/miso-components/miso-components.cabal

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ build-type: Simple
77

88
common pkg
99
default-language: Haskell2010
10-
js-sources: material-components-web-elm.min.js
10+
js-sources:
11+
material-components-web-elm.min.js
12+
material-components-web.min.js
13+
1114
default-extensions: NoImplicitPrelude
1215
build-depends:
1316
, aeson

ghcjs/miso-widgets/js/main.min.js

Lines changed: 1 addition & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ghcjs/miso-widgets/js/main.min.js.LICENSE.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

ghcjs/miso-widgets/package-lock.json

Lines changed: 215 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ghcjs/miso-widgets/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@
2323
"devDependencies": {
2424
"@capacitor/assets": "^3.0.4",
2525
"@capacitor/cli": "^6.0.0",
26+
"@swc/core": "^1.7.26",
2627
"@trapezedev/configure": "^7.0.10",
28+
"terser-webpack-plugin": "^5.3.10",
2729
"webpack": "^5.94.0",
2830
"webpack-cli": "^5.1.4"
2931
}

ghcjs/miso-widgets/webpack.config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const webpack = require("webpack");
2+
const TerserPlugin = require("terser-webpack-plugin");
23
module.exports = {
34
entry: "./js/main.js",
45
output: {
@@ -8,6 +9,17 @@ module.exports = {
89
libraryTarget: "var",
910
library: "h$miso_widgets",
1011
},
12+
optimization: {
13+
minimize: true,
14+
minimizer: [
15+
new TerserPlugin({
16+
minify: TerserPlugin.swcMinify,
17+
// `terserOptions` options will be passed to `swc` (`@swc/core`)
18+
// Link to options - https://swc.rs/docs/config-js-minify
19+
terserOptions: {},
20+
}),
21+
],
22+
},
1123
plugins: [
1224
new webpack.optimize.LimitChunkCountPlugin({
1325
maxChunks: 1,

0 commit comments

Comments
 (0)