Joshua Potter 0aaa1ebc38 | ||
---|---|---|
.. | ||
.githooks | ||
src | ||
.envrc | ||
.gitignore | ||
README.md | ||
flake.lock | ||
flake.nix | ||
package-lock.json | ||
package.json | ||
prettier.config.cjs | ||
tsconfig.json |
README.md
NodeJS Flake Template
This is a template for constructing a working environment for
Node.js development (version v18.18.2) with the npm
(version 9.8.1) packaging tool. direnv can be used to
launch a dev shell upon entering this directory (refer to .envrc
). Otherwise
run via:
$ nix develop
Building
If you make changes to the package-lock.json
file, you'll need to update the
npmDepsHash
value in flake.nix
. The easiest way to discover this value is
by running the following:
$ prefetch-npm-deps package-lock.json
Alternatively, you can set the value of npmDepsHash
to lib.fakeHash
and run:
$ nix build
Nix will complain with the has value it actually expected.
Language Server
The typescript-language-server (version 4.1.2) is included in this flake.
Formatting
Formatting depends on prettier (version 3.1.0). A
pre-commit
hook is included in .githooks
that can be used to format all
*.jsx?
and *.tsx?
files prior to commit. Install via:
$ git config --local core.hooksPath .githooks/
If running direnv, this hook is installed automatically when entering the directory.