Repository - API - Source
sed
commands on macOSno-default-dependencie
flag to not include the dependency on nodejs
and sudo
.package-lock.json
if it existssudo
which is needed for starting the app with Upstartcopy
or auto
, symlinks in node_modules
are dereferenced.node_deb.entrypoints.cli
or .node_deb.entrypoints.daemon
and not
.start
or .node_deb.start_command
in package.json
. See README.md
for more details.cd
to the install root before executingnode_modules
was fixed by the addition of --install-strategy
optionnode_deb.architecture
field in package.json
--install-strategy
to decide if a package should include dependencies or add them at
install timebash
errors.--output-deb-name
option to change the name of the generated debian package.init
scripts.bash
errors.package.json
, npm-shrinkwrap.json
, and node_modules
. These no longer need to be
specified on the command line.md5sums
to not be calculated.--no-md5sums
CLI arg.--no-rebuild
flag to prevent postinst
maintainer script from running npm rebuild
.--arch
CLI option to allow setting the architecture of the target system. Intended to be used primarily with
the --no-rebuild
option for finecky packages.node_modules
is reduced down to only the production dependencies via npm ls --prod
.xargs
callrsync
postrm
scriptshellcheck
purenode-deb
has reverted back to using cp
instead of rsync
for copying filespostrm
now correctly cleans up /var/log/{{ package }}
on purge
node-deb
no longer creates /var/run/{{ package }}
. This never worked correctly anyway on systems using systemd
because of a typo.postinst
and prerm
default to prioritizing systemctl
over service
and start
/stop
for stopping
and startin servicesLICENSE
in node-deb
's Debian package.README
README
CHANGELOG
README
--extra-files
that adds a single directory of files to the Debian package. These files are
added to the root of the file system. E.g., if the dir extra
contains /var/lib/foo.dat
, then the Debian
package will install foo.dat
to /var/lib/
at install time.README
control
file to be overriddennode_modules
install step mentioned in release notes from 0.1.13
executable
template now by default includes the bash
variable $@
as arguments to the start_command
.
This is breaking in the sense that is a user set their start_command
to something like node my-exe-thing $@
,
then this change will pass the arguments twice.fakeroot
while creating the package to avoid uid
and gid
collisions
between the environment where a package is built and where it is deployed.deb
packages that did not include node_modules
did not do an npm install
when installed with dpkg
or apt
.
The postinst
now conditionally installs based on the existence of node_modules
.node-deb
no longer produces jq
errors about missing package.json
when run outside a project directory--start-command
to allow setting of the start command from the command line0.1.9
where node-deb
did not include the node_modules
directory. Now the default
behavior is to include this directory and warn when it is not included on the command line.node-deb
itself and all templatespostinst
template now runs npm rebuild
to recompile platform specific binariesnode_modules
and npm-shrinkwrap.json
aims to make packages and
builds as reproducible as possible.postinst
now runs npm install
with the --production
optionnode-deb
will no longer include the node_modules
directory, but instead will run npm install
during the
postinst
step in the install directory. Thus, if package.json
exists, it will be auto included in the .deb
.package.json
and npm-shrinkwrap.json
are included by default, and warning messages are displayed if they aren't
includednode_deb.start_command
is not present in package.json
, default to using scripts.start
gmd5sum
for packages built on OSX (with brew install gmd5sum
)--list-template-variables
so users can see which variables are injected into templatessystemd
and upstart
to the --init
flag/usr/share/$package_name/app/
instead of /usr/share/$package_name/
to avoid name
conflicts if a user has a directory in their project called bin
--template-{control, executable, postinst, postrm, prerm,
systemd-service, upstart-conf}
node_deb.start_command
in the package.json
-d | --description
: Debian package description-e | --executable-name
: the name of the runnable file-h | --help
: print help/usage message-i | --init
: select init type (auto, none)-m | --maintainer
: Debian package maintainer-n | --package-name
: the named of the Debian package--no-md5sums
: disable creating of md5sums in Debian packagesystemd
init supporttest.sh
(dev only)binary
to executable
(because that's what it actually is)-N
is now named --no-delete-temp
.deb
staging directory.deb
staging directory.deb
directory to the DEBIAN
directory in the package.deb
test.sh
and test/
for automated testing (dev only)package.json
field for Debian package versionpackage.json
preinst
, postinst
, prerm
, binary
, and Upstart script