Breaking:
-
Increased minimum
purs
version tov0.12.0
and dropped support for all compiler versions earlier than that. (#399 and #405 by @JordanMartinez) -
Increased minimum
psa
version tov0.7.0
and dropped support for all versions earlier than that. (#399 by @JordanMartinez) -
Increased minimum
node
version tov12.0.0
and dropped support for all versions earlier than that. (#401 by @JordanMartinez) -
Include
bower.json
'sdevDependencies
field when publishing (#405 by @JordanMartinez)Note:
pulp publish
will fail if a dependency (e.g.purescript-numbers
) exists in both thebower.json
file'sdependencies
anddevDependencies
field. When this occurs, you will see a message like the following:There is a problem with your package, which meant that it could not be published. Details: The following dependency does not appear to be installed: * purescript-numbers
Other improvements:
-
Added a
debug
flag that enables debugger output for thepulp publish
command (#405 by @JordanMartinez) -
Improve error message due to
pulp publish
needing to be run twice (#406 by @JordanMartinez)Whenever one runs
pulp publish
for the first time, the command will almost always fail with an HTTP 400 error due to invalid JSON. Running the command a second time will succeed and finish what was started in the first one. However, this fact is never communicated to users, so one can only handle this situation if they already know about it (e.g. aren't new users).The error message now suggests the user try running it a second time to get around this issue.
Internal:
- Added support for the
v0.15.0
compiler version (#401 by @JordanMartinez) - Update project and its dependencies to use PureScript
v0.14.5
andv0.14.0
-compatible libraries. (#399 by @JordanMartinez) - Migrated from Travis CI to GitHub Actions. (#399 by @JordanMartinez)
- Updated CI integration tests to verify
pulp
works when the compiler version used isv0.12.x
,v0.13.x
, andv0.14.x
. (#399 by @JordanMartinez)
- Remove the check for
main
being an appropriate entry point when generating a call tomain
. This previously relied on a compiler-internal API (the externs.json files) which the compiler no longer produces as of v0.13.8. Note that previous versions of Pulp can work around this bug by passing the--no-check-main
flag. (#392, @garyb).
- Stop attempting to register on the Bower registry on publish, since the Bower registry no longer accepts new registrations. Instead, require the user to register their package in the purescript/registry repo (#388).
- Changes to support
purs >= 0.13.0
inpulp docs
. Because of idiosyncrasies in the previouspurs docs
CLI, it has not been possible to support both, so support forpurs < 0.13.0
inpulp docs
has been dropped. - Remove the
--with-dependencies
option inpulp docs
; now that html is the default output format ofpurs docs
, it makes less sense to only produce local modules by default (since if we don't produce dependency modules then links will be broken). To restore the previous behaviour, you will need to runpulp docs -- --format markdown
, and then manually delete non-local modules from thegenerated-docs/md
directory. - Add a --build-path argument for
pulp docs
; to be passed topurs docs
forpurs >= 0.13.0
, sincepurs docs
now uses a compiler output directory. - Avoid using string-stream to fix
pulp browserify
on node 12.x (#380, @rnons). - Pass
follow: true
togaze
to follow symlinked directories (#378, @rnons).
- Fix
pulp version
andpulp publish
, which were both completely broken as of changes in v12.4.1 (@hdgarrood)
- Switch to gaze instead of watchpack for
--watch
andpulp server
; this fixes an issue where if you have source files which are symbolic links which point outside your source directory, changes to those files would not be picked up (@rnons, #371) - Fix an issue where
pulp version
andpulp publish
would fail for packages which do not have any dependencies (@hdgarrood)
- When running against a sufficiently new version of the PureScript compiler (specifically, v0.12.4 or later), when publishing, generate the new JSON format for resolutions files. This fixes an issue where Bower would produce out of memory errors when attempting to publish. (@hdgarrood, #351)
- Bug fix: the compiler command line interface changed in 0.12 to replace the
--source-maps
option with a new--codegen
option.pulp
has now been made aware of this and so generating source maps should now work (with compilers from both before and after this change). (@nwolverson, #343)
- Have
pulp init
generate projects based on compiler version: thepulp init
command now has the ability to produce a project skeleton using eitherEffect
orEff
. By default,Effect
is chosen if the compiler version is at least 0.12.0, otherwiseEff
is chosen. However, this behaviour can be overridden with the--with-eff
or--with-effect
flags topulp init
. (#340, @vladciobanu)
- The type
Effect.Effect
is now considered by Pulp to be acceptable for the type of your program's entry point (usuallyMain.main
).Control.Monad.Eff.Eff
also continues to be acceptable. (#338) - Allow specifying a list of allowable types for your program's entry point, by separating them with commas. (#338)
- Bug fix: allow specifying a specific version when running
pulp version
for the first time. (@plippe, #328) - Bug fix: Passthrough arguments with
pulp run
now go to your program, as the documentation claims, rather than topurs
. (@kika, #309) - Bug fix: Pulp will no longer check that your program has an acceptable entry
point when using
pulp browserify --standalone
, since there is no reason to do so. (#339)
- Add source map support (@nwolverson, #305).
- Fix a bug where running commands with
--watch
would sometimes produce an internal error (@thoradam, #300).
- Add support for psc-package (@thoradam, #243). See the README for details.
- Check that a program's entry point is of a suitable type when bundling (see purescript/purescript#2086). By default
main
is required to be of typeEff
, but this can be controlled using the--check-main-type
flag. Alternatively this check can be turned off entirely using the--no-check-main
flag. - Fix a bug where pulp would crash on uncommon operating systems (#299)
- Fix an error in the help message for the
--else
option (@tkawachi, #294)
- Fix a bug where running
pulp version
in a repo which didn't yet have any git tags would cause pulp to crash
- Allow empty paths for the
--include
option (@anilanar, #263) - Various fixes to pulp's docs and
--help
output (@anttih) - If psa is being used, check that it is not too old (#272)
- Use an exitcode of 1 on invalid options/commands (#285)
- Set Cache-Control: no-cache in
pulp server
(@geigerzaehler, #288)
- Compatibility with PureScript 0.11.x. Compatibility with 0.10.x and previous versions of the PureScript compiler has been dropped (@natefaubion).
- Create a .purs-repl file during pulp init, to automatically import Prelude in new projects (@chexxor).
- Fix an issue causing "EXDEV: cross-device link not permitted" errors in some configurations (#252).
Nothing changed this release, I just messed up the 10.0.2 release so published another patch-level update.
- Allow pulp to work with recent development builds of the PureScript compiler (#255, @sloosch).
- Fix a missing space character in a message during 'pulp run' (#256, @bionicbrian).
- Fix an issue where extra command line arguments were not being passed to test programs properly (#239, @mcoffin).
- Explicit separation of passthrough arguments (#220). The original behaviour
that unrecognised arguments were passed through to
psc
(or whichever underlying programpulp
calls) has turned out to be confusing. Instead, passthrough arguments are now separated from pulp's arguments with a--
. Any unrecognised arguments before the--
will now cause pulp to complain. pulp server
has been broken since 9.0.0 and is now fixed! It also no longer uses webpack and purs-loader, instead it builds with the same mechanisms thatpulp build
uses, which should make things more reliable and easier (#151). This is a breaking change because some command line options forpulp server
were removed as they were webpack-specific and therefore no longer applicable.- Remove options from
pulp run
which were not applicable and should never have been there:--skip-entry-point
,--to
, and--optimise
. - Remove
pulp dep
(#234).pulp dep
has been deprecated for quite a long time now.
- Add
--jobs
for specifying parallelism inpsc
(#93). - Fix swallowing of "Compiling <module>" messages from
psc
. - Stop hardcoding version ranges in the initial bower.json created by
pulp init
(#231). Now, pulp delegates tobower install --save
to select an appropriate version range. - Fix a bug where some arguments were mistakenly dropped instead of being
passed to
psc-bundle
(#188).
- Ignore .psc-ide-port, .psa-stash, and other dotfiles beginning with .psc or .psa in the default .gitignore file created by
pulp init
(@texastoland, #223, 225). - Bump version ranges in the default bower.json file created by
pulp init
to pick up the newest versions of core libraries (@Risto-Stevcev, #230). - Updated some npm dependencies to reduce the number of warnings you get when you run
npm install pulp
.
- Improved error messages in the case where submitting a package to Pursuit as
part of
pulp publish
fails. - Update README to use
bower uninstall
instead of the undocumented and presumably deprecatedbower rm
(@menelaos, #215).
- Compatibility with version 0.9 of the PureScript compiler. Pulp no longer works with earlier versions of the PureScript compiler; to use earlier versions, you will need to downgrade to a previous version of Pulp.
- Fix a bug where the version of psc being used was not being printed properly (#210).
- Remove unused npm dependencies (
xhr2
,ansi
, andsupports-color
). - Fix Pulp's description in package.json; Pulp is not a package manager.
- Update the dependency on
watchpack
to fix deprecation warnings (#196). - Add a
--no-push
flag topulp publish
, allowing you to skip pushing tags to a Git remote as part of publishing (#201). - Add a
--push-to
option topulp publish
, allowing you to push to a specific Git remote (#201).
- Actually fix
pulp login
(which was still broken). - Include the response body for any errors from the GitHub API in
pulp login
.
- Remove the
moduleType
field from the bower.json file generated bypulp init
. - Fix
pulp login
using the wrong environment variable for the home directory on Windows (#197). - Fix
pulp login
failing to check the auth token with GitHub (#199). - Don't require being inside a project to run
pulp init
(#200).
- Added
pulp version
for bumping versions and creating git tags for releases of PureScript packages, as well aspulp publish
for sending those releases out into the world. Seepulp version --help
andpulp publish --help
for more info.
- Revert to an open Prelude import in the default code generated by
pulp init
.
- Fix
pulp browserify
hanging on Windows. - Fix
--dependency-path
and--monochrome
options not being honoured when using psa. - Add
pulp login
, which will be useful later along with the upcomingpulp release
. - Fix compiler warnings in PureScript source files generated by
pulp init
.
- Pulp's rebuild logic has been removed, as it was causing more
trouble than it was worth. This means the
--force
flag is now once again only available onpulp browserify
, to force a non-incremental build. - Pulp will now use the
psa
tool instead ofpsc
if available on your path. You can disable this behaviour by passing the--no-psa
flag.
Bugs fixed: #140.
- Remove the
--engine
option, since the--runtime
option fulfils the same need. - Fix the
--runtime
option, which was previously broken. (#143) - Fix a bug where Pulp was sometimes using terminal ANSI codes for colours when it shouldn't have been, and not using them when it should. (#147)
- Relay interrupts (Ctrl+C) to
psci
when runningpulp psci
, so that long-running commands can be interrupted, and to stop the "hGetChar: hardware fault (Input/output error)" message from being shown. (#88)
- Fix the
--watch
option, which was broken in 6.2.0. - Remove the
--optimise
option forpulp test
andpulp server
, since it doesn't really make sense with these commands.
pulp dep
is now deprecated. It continues to work as before, but you will have to install Bower yourself in order to use it. It’s recommended that you use Bower directly instead.- New global options
--before
and--else
to complement--then
. --skip-entry-point
now works when usingpulp build --to
.
- You can now use
pulp browserify --standalone <module-name>
to produce a browserified bundle wrapped in a UMD header, which can berequire()
d, and which re-exports the main module of your PureScript project. It works by invokingbrowserify --standalone
; see the Browserify documentation.
- Remove unnecessary
postinstall
script.
-
Pulp has been ported to PureScript :)
-
The
--with-deps
flag forpulp docs
has been renamed to--with-dependencies
.
Bugs fixed: #123, #122, #121, #111, #108, #92.
Bugs fixed: #109.
Bugs fixed: #105, #106, #107, #113.
-
Pulp will now skip the build step if your project hasn't changed since your last rebuild.
-
The
--force
flag is now avaliable on all commands that trigger a build, and will force a rebuild regardless of whether your project has changed. It still also forces a non-incremental build when used withpulp browserify
. -
You can now use the flags
--src-path
,--test-path
and--dependency-path
to override the normal locations for these directories. -
The format for passing multiple directories to
--include
has changed: you now separate directories using the standard system path delimiter, as opposed to spaces.