From c9f320590f432329c68378b949dd6c81b996769e Mon Sep 17 00:00:00 2001 From: Harry Garrood Date: Thu, 21 May 2020 20:41:42 +0100 Subject: [PATCH 1/3] Make the whole package set available Resolves #154. On my machine locally, with the RTS flags in `deploy/start`, the resident memory seems to sit fairly stable around 1.89G, which is encouraging. I've tweaked the RTS flags slightly in order to make better use of the resized droplet, which has 4GB memory and 2 virtual CPU cores. --- README.md | 12 ++ deploy/start | 2 +- staging/packages.dhall | 2 +- staging/spago.dhall | 416 ++++++++++++++++++++++++++++++++++++----- 4 files changed, 383 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index ea5a7597..3c068fce 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,18 @@ - Persistent session - Load PureScript code from Github Gists +### Which Libraries are Available? + +Try PureScript aims to provide a complete, recent package set from . The available libraries are those listed in `staging/spago.dhall`, at the versions in the package set mentioned in `staging/packages.dhall`. + +To update to a more recent package set, first update the `upstream` package set in `staging/packages.dhall`, and then run: + +``` +$ spago ls packages | cut -f 1 -d ' ' | xargs spago install +``` + +to install every package in the set. Before deploying an updated package set, someone should check that the memory required to hold the package set's externs files does not exceed that of the try.purescript.org server. + ### Control Features via the Query String Most of these features can be controlled not only from the toolbar, but also using the [query parameters](https://en.wikipedia.org/wiki/Query_string): diff --git a/deploy/start b/deploy/start index ced2cfa1..4ea236a4 100755 --- a/deploy/start +++ b/deploy/start @@ -4,4 +4,4 @@ set -ex set -o noglob export XDG_CACHE_HOME=.spago-cache spago install -exec trypurescript +RTS -N1 -A128m -M750M -RTS 8081 $(spago sources) +exec trypurescript +RTS -N2 -A128m -M3G -RTS 8081 $(spago sources) diff --git a/staging/packages.dhall b/staging/packages.dhall index 83881b1b..82eb86f7 100644 --- a/staging/packages.dhall +++ b/staging/packages.dhall @@ -1,5 +1,5 @@ let upstream = - https://github.com/purescript/package-sets/releases/download/psc-0.13.6-20200404/packages.dhall sha256:f239f2e215d0cbd5c203307701748581938f74c4c78f4aeffa32c11c131ef7b6 + https://github.com/purescript/package-sets/releases/download/psc-0.13.6-20200507/packages.dhall sha256:9c1e8951e721b79de1de551f31ecb5a339e82bbd43300eb5ccfb1bf8cf7bbd62 let overrides = {=} diff --git a/staging/spago.dhall b/staging/spago.dhall index 35c47afa..e152f0b6 100644 --- a/staging/spago.dhall +++ b/staging/spago.dhall @@ -1,52 +1,374 @@ { name = "try-purescript-server" , dependencies = - [ "arrays" - , "bifunctors" - , "console" - , "const" - , "contravariant" - , "control" - , "distributive" - , "effect" - , "either" - , "enums" - , "exceptions" - , "exists" - , "foldable-traversable" - , "foreign" - , "foreign-object" - , "free" - , "functions" - , "functors" - , "generics-rep" - , "globals" - , "identity" - , "integers" - , "lazy" - , "math" - , "maybe" - , "ordered-collections" - , "prelude" - , "profunctor" - , "proxy" - , "quickcheck" - , "random" - , "react" - , "react-dom" - , "record" - , "refs" - , "semirings" - , "st" - , "strings" - , "tailrec" - , "transformers" - , "tuples" - , "typelevel-prelude" - , "unfoldable" - , "validation" - , "web-dom" - , "web-html" - ] + [ "abides" + , "aff" + , "aff-bus" + , "aff-coroutines" + , "aff-promise" + , "aff-retry" + , "affjax" + , "ansi" + , "argonaut" + , "argonaut-codecs" + , "argonaut-core" + , "argonaut-generic" + , "argonaut-traversals" + , "array-views" + , "arraybuffer" + , "arraybuffer-class" + , "arraybuffer-types" + , "arrays" + , "assert" + , "avar" + , "b64" + , "basic-auth" + , "behaviors" + , "bifunctors" + , "bigints" + , "bip39" + , "biscotti-cookie" + , "biscotti-session" + , "bower-json" + , "bucketchain" + , "bucketchain-basic-auth" + , "bucketchain-conditional" + , "bucketchain-cors" + , "bucketchain-csrf" + , "bucketchain-header-utils" + , "bucketchain-health" + , "bucketchain-history-api-fallback" + , "bucketchain-logger" + , "bucketchain-secure" + , "bucketchain-simple-api" + , "bucketchain-sslify" + , "bucketchain-static" + , "byte-codec" + , "bytestrings" + , "call-by-name" + , "canvas" + , "cartesian" + , "catenable-lists" + , "checked-exceptions" + , "cheerio" + , "chirashi" + , "choco-pie" + , "codec" + , "codec-argonaut" + , "colors" + , "concur-core" + , "concur-react" + , "console" + , "const" + , "contravariant" + , "control" + , "coroutines" + , "crypto" + , "css" + , "cssom" + , "data-algebrae" + , "datetime" + , "debug" + , "decimals" + , "distributive" + , "dom-filereader" + , "dom-indexed" + , "dotenv" + , "drawing" + , "effect" + , "either" + , "email-validate" + , "encoding" + , "enums" + , "errors" + , "event" + , "exceptions" + , "exists" + , "exitcodes" + , "expect-inferred" + , "express" + , "filterable" + , "fixed-points" + , "fixed-precision" + , "flare" + , "float32" + , "flow-id" + , "foldable-traversable" + , "folds" + , "foreign" + , "foreign-generic" + , "foreign-object" + , "fork" + , "form-urlencoded" + , "format" + , "format-nix" + , "formatters" + , "free" + , "freeap" + , "freedom" + , "freedom-now" + , "freedom-portal" + , "freedom-router" + , "freedom-transition" + , "freedom-virtualized" + , "freedom-window-resize" + , "freet" + , "functions" + , "functors" + , "fuzzy" + , "gen" + , "generics-rep" + , "globals" + , "gomtang-basic" + , "group" + , "halogen" + , "halogen-bootstrap" + , "halogen-bootstrap4" + , "halogen-css" + , "halogen-formless" + , "halogen-hooks" + , "halogen-hooks-extra" + , "halogen-select" + , "halogen-storybook" + , "halogen-vdom" + , "heterogeneous" + , "higher-order" + , "html-parser-halogen" + , "http-methods" + , "httpure" + , "httpure-contrib-biscotti" + , "hyper" + , "hypertrout" + , "identity" + , "identy" + , "indexed-monad" + , "inflection" + , "int-53" + , "integers" + , "interpolate" + , "invariant" + , "jajanmen" + , "jquery" + , "js-date" + , "js-timers" + , "json-pointer" + , "json-schema" + , "jwt" + , "kancho" + , "kishimen" + , "lazy" + , "lcg" + , "leibniz" + , "lenient-html-parser" + , "lists" + , "logging" + , "logging-journald" + , "machines" + , "makkori" + , "math" + , "matrices" + , "maybe" + , "media-types" + , "memoize" + , "metadata" + , "milkis" + , "minibench" + , "mmorph" + , "monad-control" + , "monad-logger" + , "monad-loops" + , "monad-unlift" + , "money" + , "motsunabe" + , "mysql" + , "naporitan" + , "naturals" + , "newtype" + , "node-buffer" + , "node-child-process" + , "node-electron" + , "node-fs" + , "node-fs-aff" + , "node-he" + , "node-http" + , "node-net" + , "node-path" + , "node-postgres" + , "node-process" + , "node-readline" + , "node-sqlite3" + , "node-streams" + , "node-telegram-bot-api" + , "node-url" + , "nodemailer" + , "nodetrout" + , "nonempty" + , "now" + , "nullable" + , "numbers" + , "option" + , "options" + , "optparse" + , "ordered-collections" + , "ordered-set" + , "orders" + , "pairing" + , "pairs" + , "parallel" + , "parseint" + , "parsing" + , "partial" + , "pathy" + , "phoenix" + , "pipes" + , "pointed-list" + , "polyform" + , "polyform-validators" + , "posix-types" + , "precise-datetime" + , "prelude" + , "prettier" + , "profunctor" + , "profunctor-lenses" + , "promises" + , "proxy" + , "proxying" + , "psa-utils" + , "psc-ide" + , "psci-support" + , "quantities" + , "querydsl" + , "queue" + , "quickcheck" + , "quickcheck-combinators" + , "quickcheck-laws" + , "quotient" + , "radox" + , "random" + , "rationals" + , "rave" + , "react" + , "react-basic" + , "react-basic-hooks" + , "react-basic-native" + , "react-dom" + , "react-queue" + , "react-radox" + , "react-stylesheet" + , "read" + , "record" + , "record-extra" + , "record-format" + , "redis-client" + , "redis-hotqueue" + , "redux-devtools" + , "refined" + , "refs" + , "remotedata" + , "result" + , "ring-modules" + , "routing" + , "routing-duplex" + , "row-extra" + , "run" + , "run-profunctor-lenses" + , "run-streaming" + , "safely" + , "scrypt" + , "search-trie" + , "selection-foldable" + , "selective" + , "semirings" + , "server-sent-events" + , "setimmediate" + , "shoronpo" + , "signal" + , "sijidou" + , "simple-emitter" + , "simple-i18n" + , "simple-json" + , "simple-json-generics" + , "simple-json-utils" + , "simple-jwt" + , "simple-timestamp" + , "sized-matrices" + , "sized-vectors" + , "sjcl" + , "slug" + , "smolder" + , "snabbdom" + , "sodium" + , "spec" + , "spec-discovery" + , "spec-quickcheck" + , "spork" + , "st" + , "string-parsers" + , "strings" + , "strings-extra" + , "stringutils" + , "struct" + , "stylesheet" + , "subcategory" + , "subtlecrypto" + , "suggest" + , "sunde" + , "svg-parser" + , "svg-parser-halogen" + , "systemd-journald" + , "tailrec" + , "test-unit" + , "text-encoding" + , "thermite" + , "thermite-dom" + , "these" + , "tolerant-argonaut" + , "toppokki" + , "tortellini" + , "transformers" + , "trout" + , "trout-client" + , "tuples" + , "tuples-native" + , "type-equality" + , "type-isequal" + , "typedenv" + , "typelevel" + , "typelevel-peano" + , "typelevel-prelude" + , "typelevel-rowlist-limits" + , "uint" + , "uint-instances" + , "undefinable" + , "undefined" + , "undefined-or" + , "unfoldable" + , "unicode" + , "unordered-collections" + , "unorm" + , "unsafe-coerce" + , "unsafe-reference" + , "uri" + , "uuid" + , "validation" + , "variant" + , "vectorfield" + , "web-clipboard" + , "web-dom" + , "web-events" + , "web-file" + , "web-html" + , "web-socket" + , "web-storage" + , "web-touchevents" + , "web-uievents" + , "web-xhr" + , "websocket-moderate" + , "xiaomian" + , "yargs" + , "z85" + , "zeta" + , "zeta-extra" + ] , packages = ./packages.dhall , sources = [ "src/**/*.purs" ] } From ee592c716e53f36c25bb7d9e753cce9bfa5af6c9 Mon Sep 17 00:00:00 2001 From: Harry Garrood Date: Thu, 21 May 2020 21:13:03 +0100 Subject: [PATCH 2/3] Add big-integer shim --- client/src/Try/Shim.purs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/src/Try/Shim.purs b/client/src/Try/Shim.purs index cacf0617..3c799790 100644 --- a/client/src/Try/Shim.purs +++ b/client/src/Try/Shim.purs @@ -23,5 +23,9 @@ shims = Object.fromFoldable { url: "https://unpkg.com/react-dom@16.13.0/umd/react-dom-server.browser.development.js" , deps: [ "react" ] } + , Tuple "big-integer" + { url: "https://unpkg.com/big-integer@1.6.48/BigInteger.min.js" + , deps: [] + } ] From bf525742c97281cbfdd281d95230bd824e0c0d2d Mon Sep 17 00:00:00 2001 From: "Thomas R. Honeyman" Date: Tue, 26 May 2020 09:47:20 -0700 Subject: [PATCH 3/3] Bump React version and add uuid and decimal --- client/src/Try/Shim.purs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/client/src/Try/Shim.purs b/client/src/Try/Shim.purs index 3c799790..b6608b78 100644 --- a/client/src/Try/Shim.purs +++ b/client/src/Try/Shim.purs @@ -12,20 +12,28 @@ type Shim = shims :: Object Shim shims = Object.fromFoldable [ Tuple "react" - { url: "https://unpkg.com/react@16.13.0/umd/react.development.js" + { url: "https://unpkg.com/react@16.13.1/umd/react.development.js" , deps: [] } , Tuple "react-dom" - { url: "https://unpkg.com/react-dom@16.13.0/umd/react-dom.development.js" + { url: "https://unpkg.com/react-dom@16.13.1/umd/react-dom.development.js" , deps: [ "react" ] } , Tuple "react-dom/server" - { url: "https://unpkg.com/react-dom@16.13.0/umd/react-dom-server.browser.development.js" + { url: "https://unpkg.com/react-dom@16.13.1/umd/react-dom-server.browser.development.js" , deps: [ "react" ] } , Tuple "big-integer" { url: "https://unpkg.com/big-integer@1.6.48/BigInteger.min.js" , deps: [] } + , Tuple "decimal.js" + { url: "https://unpkg.com/decimal.js@10.2.0/decimal.min.js" + , deps: [] + } + , Tuple "uuid" + { url: "https://cdnjs.cloudflare.com/ajax/libs/uuid/8.1.0/uuid.min.js" + , deps: [] + } ]