diff --git a/README.md b/README.md index f72657f3..2077296f 100644 --- a/README.md +++ b/README.md @@ -64,10 +64,9 @@ stack build # Install PureScript dependencies cd staging -psc-package install +spago install -# note: globs like **/src/** do not work -stack exec trypurescript 8081 ".psc-package/psc-0.13.6-*/*/*/src/**/*.purs" "src/*.purs" +stack exec trypurescript 8081 $(spago sources) # should output that is is compiling the sources (first time) # then: Setting phasers to stun... (port 8081) (ctrl-c to quit) ``` diff --git a/staging/.gitignore b/staging/.gitignore new file mode 100644 index 00000000..c6cff108 --- /dev/null +++ b/staging/.gitignore @@ -0,0 +1 @@ +.spago/ diff --git a/staging/packages.dhall b/staging/packages.dhall new file mode 100644 index 00000000..83881b1b --- /dev/null +++ b/staging/packages.dhall @@ -0,0 +1,8 @@ +let upstream = + https://github.com/purescript/package-sets/releases/download/psc-0.13.6-20200404/packages.dhall sha256:f239f2e215d0cbd5c203307701748581938f74c4c78f4aeffa32c11c131ef7b6 + +let overrides = {=} + +let additions = {=} + +in upstream // overrides // additions diff --git a/staging/psc-package.json b/staging/psc-package.json deleted file mode 100644 index 816e6be9..00000000 --- a/staging/psc-package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "core", - "set": "psc-0.13.6-20200127", - "source": "https://github.com/purescript/package-sets.git", - "depends": [ - "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" - ] -} diff --git a/staging/spago.dhall b/staging/spago.dhall new file mode 100644 index 00000000..1c288104 --- /dev/null +++ b/staging/spago.dhall @@ -0,0 +1,340 @@ +{ name = "try-purescript-server" +, dependencies = + [ "aff" + , "aff-bus" + , "aff-coroutines" + , "aff-promise" + , "aff-retry" + , "affjax" + , "ansi" + , "argonaut" + , "argonaut-codecs" + , "argonaut-core" + , "argonaut-generic" + , "argonaut-traversals" + , "array-views" + , "arraybuffer" + , "arraybuffer-types" + , "arrays" + , "assert" + , "avar" + , "b64" + , "basic-auth" + , "behaviors" + , "bifunctors" + , "bigints" + , "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" + , "bytestrings" + , "call-by-name" + , "canvas" + , "cartesian" + , "catenable-lists" + , "checked-exceptions" + , "cheerio" + , "chirashi" + , "choco-pie" + , "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" + , "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-select" + , "halogen-storybook" + , "halogen-vdom" + , "heterogeneous" + , "higher-order" + , "html-parser-halogen" + , "http-methods" + , "httpure" + , "httpure-contrib-biscotti" + , "hyper" + , "hypertrout" + , "identity" + , "identy" + , "indexed-monad" + , "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" + , "milkis" + , "minibench" + , "mmorph" + , "monad-logger" + , "monad-loops" + , "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" + , "options" + , "optparse" + , "ordered-collections" + , "orders" + , "pairing" + , "pairs" + , "parallel" + , "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-laws" + , "quotient" + , "radox" + , "random" + , "rationals" + , "rave" + , "react" + , "react-basic" + , "react-basic-hooks" + , "react-basic-native" + , "react-dom" + , "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" + , "run" + , "run-profunctor-lenses" + , "run-streaming" + , "safely" + , "search-trie" + , "selection-foldable" + , "semirings" + , "server-sent-events" + , "shoronpo" + , "signal" + , "sijidou" + , "simple-emitter" + , "simple-i18n" + , "simple-json" + , "simple-json-generics" + , "simple-json-utils" + , "simple-jwt" + , "simple-timestamp" + , "sized-matrices" + , "sized-vectors" + , "slug" + , "smolder" + , "snabbdom" + , "sodium" + , "spec" + , "spec-discovery" + , "spec-quickcheck" + , "spork" + , "st" + , "string-parsers" + , "strings" + , "strings-extra" + , "stringutils" + , "strongcheck" + , "struct" + , "stylesheet" + , "subcategory" + , "suggest" + , "sunde" + , "svg-parser" + , "svg-parser-halogen" + , "systemd-journald" + , "tailrec" + , "test-unit" + , "these" + , "tolerant-argonaut" + , "toppokki" + , "tortellini" + , "transformers" + , "trout" + , "trout-client" + , "tuples" + , "type-equality" + , "type-isequal" + , "typedenv" + , "typelevel" + , "typelevel-peano" + , "typelevel-prelude" + , "uint" + , "undefinable" + , "undefined" + , "unfoldable" + , "unicode" + , "unordered-collections" + , "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" + , "xiaomian" + , "yargs" + ] +, packages = ./packages.dhall +, sources = [ "src/**/*.purs" ] +} diff --git a/staging/update.sh b/staging/update.sh new file mode 100755 index 00000000..0786c7b4 --- /dev/null +++ b/staging/update.sh @@ -0,0 +1,40 @@ +#! /usr/bin/env bash + +# Given a package-set ID such as "psc-0.13.6-20200402", this script generates a +# `packages.dhall` and a `spago.dhall` file so that every package in the given +# set is listed in the 'dependencies' key of spago.dhall. This means that users +# of the compile server can use any package from the package set. +# +# To update to a new package set, simply rerun the script and check in the +# updated `spago.dhall` and `packages.dhall`. + +package_set="$1" + +if [ "$package_set" = "" ]; then + echo >&2 "error: expected a package set name" + exit 1 +fi + +echo "Creating a project which depends on the entire package set $package_set..." + +cat >packages.dhall <spago.dhall <