From 1b76da0cad8f55550173de48a119a5cda3d2a75c Mon Sep 17 00:00:00 2001 From: Bill Ewanick Date: Tue, 24 Aug 2021 10:45:23 -0400 Subject: [PATCH] Minor corrections --- doc/languages-frameworks/javascript.section.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index 008424ff458b..ada861c303bd 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -32,7 +32,7 @@ Using a different tool forces to commit a lock file to the repository. Those fil Exceptions to this rule are: -- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files commited +- when you encounter one of the bugs from a nix tool. In each of the tool specific instructions, known problems will be detailed. If you have a problem with a particular tool, then it's best to try another tool, even if this means you will have to recreate a lock file and commit it to nixpkgs. In general yarn2nix has less known problems and so a simple search in nixpkgs will reveal many yarn.lock files committed - Some lock files contain particular version of a package that has been pulled off npm for some reason. In that case, you can recreate upstream lock (by removing the original and `npm install`, `yarn`, ...) and commit this to nixpkgs. - The only tool that supports workspaces (a feature of npm that helps manage sub-directories with different package.json from a single top level package.json) is yarn2nix. If upstream has workspaces you should try yarn2nix. @@ -106,15 +106,15 @@ requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blo To add a package from NPM to nixpkgs: -1. Modify `pkgs/development/node-packages/node-packages.json` to add, update +1. Modify `pkgs/development/node-packages/node-packages.json` to add, update or remove package entries to have it included in `nodePackages` and `nodePackages_latest`. -2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`. -3. Build your new package to test your changes: +2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`. +3. Build your new package to test your changes: `cd /path/to/nixpkgs && nix-build -A nodePackages.`. To build against the latest stable Current Node.js version (e.g. 14.x): `nix-build -A nodePackages_latest.` -4. Add and commit all modified and generated files. +4. Add and commit all modified and generated files. For more information about the generation process, consult the [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` @@ -132,7 +132,7 @@ you will need to generate a nix expression for the dependencies - Most probably you will need the `--development` to include the `devDependencies` so the command will most likely be -`node2nix --developmennt -l package-lock.json` +`node2nix --development -l package-lock.json` [link to the doc in the repo](https://github.com/svanderburg/node2nix) @@ -153,7 +153,7 @@ you will need at least a yarn.lock and yarn.nix file #### mkYarnPackage {#javascript-yarn2nix-mkYarnPackage} -this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitely override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use +this will by default try to generate a binary. For package only generating static assets (Svelte, Vue, React...), you will need to explicitly override the build step with your instructions. It's important to use the `--offline` flag. For example if you script is `"build": "something"` in package.json use ```nix buildPhase = '' @@ -188,7 +188,7 @@ There are some other options available that can't be used inside nixpkgs. Those ### npmlock2nix {#javascript-npmlock2nix} -[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be suject to change. +[npmlock2nix](https://github.com/nix-community/npmlock2nix) aims at building node_modules without code generation. It hasn't reached v1 yet, the api might be subject to change. #### Pitfalls {#javascript-npmlock2nix-pitfalls}