lol

docs: move node section to javascript section

+54 -53
+1 -1
doc/languages-frameworks/index.xml
··· 20 20 <xi:include href="idris.section.xml" /> 21 21 <xi:include href="ios.section.xml" /> 22 22 <xi:include href="java.section.xml" /> 23 + <xi:include href="javascript.section.xml" /> 23 24 <xi:include href="lua.section.xml" /> 24 25 <xi:include href="maven.section.xml" /> 25 - <xi:include href="node.section.xml" /> 26 26 <xi:include href="ocaml.section.xml" /> 27 27 <xi:include href="perl.section.xml" /> 28 28 <xi:include href="php.section.xml" />
+52
doc/languages-frameworks/javascript.section.md
··· 68 68 69 69 each tool has an abstraction to just build the node_modules (dependencies) directory. you can always use the stdenv.mkDerivation with the node_modules to build the package (symlink the node_modules directory and then use the package build command). the node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. mkYarnModules to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory 70 70 71 + ## javascript packages inside nixpkgs {#javascript-packages-nixpkgs} 72 + 73 + The `pkgs/development/node-packages` folder contains a generated collection of 74 + [NPM packages](https://npmjs.com/) that can be installed with the Nix package 75 + manager. 76 + 77 + As a rule of thumb, the package set should only provide _end user_ software 78 + packages, such as command-line utilities. Libraries should only be added to the 79 + package set if there is a non-NPM package that requires it. 80 + 81 + When it is desired to use NPM libraries in a development project, use the 82 + `node2nix` generator directly on the `package.json` configuration file of the 83 + project. 84 + 85 + The package set provides support for the official stable Node.js versions. 86 + The latest stable LTS release in `nodePackages`, as well as the latest stable 87 + Current release in `nodePackages_latest`. 88 + 89 + If your package uses native addons, you need to examine what kind of native 90 + build system it uses. Here are some examples: 91 + 92 + - `node-gyp` 93 + - `node-gyp-builder` 94 + - `node-pre-gyp` 95 + 96 + After you have identified the correct system, you need to override your package 97 + expression while adding in build system as a build input. For example, `dat` 98 + requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blob/32f5e5da4a1b3f0595527f5195ac3a91451e9b56/pkgs/development/node-packages/default.nix#L37-L40) its expression in [`default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/default.nix): 99 + 100 + ```nix 101 + dat = super.dat.override { 102 + buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ]; 103 + meta.broken = since "12"; 104 + }; 105 + ``` 106 + 107 + To add a package from NPM to nixpkgs: 108 + 109 + 1. Modify `pkgs/development/node-packages/node-packages.json` to add, update 110 + or remove package entries to have it included in `nodePackages` and 111 + `nodePackages_latest`. 112 + 2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`. 113 + 3. Build your new package to test your changes: 114 + `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`. 115 + To build against the latest stable Current Node.js version (e.g. 14.x): 116 + `nix-build -A nodePackages_latest.<new-or-updated-package>` 117 + 4. Add and commit all modified and generated files. 118 + 119 + For more information about the generation process, consult the 120 + [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` 121 + tool. 122 + 71 123 ## Tool specific instructions {#javascript-tool-specific} 72 124 73 125 ### node2nix {#javascript-node2nix}
-51
doc/languages-frameworks/node.section.md
··· 1 - # Node.js {#node.js} 2 - 3 - The `pkgs/development/node-packages` folder contains a generated collection of 4 - [NPM packages](https://npmjs.com/) that can be installed with the Nix package 5 - manager. 6 - 7 - As a rule of thumb, the package set should only provide *end user* software 8 - packages, such as command-line utilities. Libraries should only be added to the 9 - package set if there is a non-NPM package that requires it. 10 - 11 - When it is desired to use NPM libraries in a development project, use the 12 - `node2nix` generator directly on the `package.json` configuration file of the 13 - project. 14 - 15 - The package set provides support for the official stable Node.js versions. 16 - The latest stable LTS release in `nodePackages`, as well as the latest stable 17 - Current release in `nodePackages_latest`. 18 - 19 - If your package uses native addons, you need to examine what kind of native 20 - build system it uses. Here are some examples: 21 - 22 - * `node-gyp` 23 - * `node-gyp-builder` 24 - * `node-pre-gyp` 25 - 26 - After you have identified the correct system, you need to override your package 27 - expression while adding in build system as a build input. For example, `dat` 28 - requires `node-gyp-build`, so [we override](https://github.com/NixOS/nixpkgs/blob/32f5e5da4a1b3f0595527f5195ac3a91451e9b56/pkgs/development/node-packages/default.nix#L37-L40) its expression in [`default.nix`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/default.nix): 29 - 30 - ```nix 31 - dat = super.dat.override { 32 - buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ]; 33 - meta.broken = since "12"; 34 - }; 35 - ``` 36 - 37 - To add a package from NPM to nixpkgs: 38 - 39 - 1. Modify `pkgs/development/node-packages/node-packages.json` to add, update 40 - or remove package entries to have it included in `nodePackages` and 41 - `nodePackages_latest`. 42 - 2. Run the script: `cd pkgs/development/node-packages && ./generate.sh`. 43 - 3. Build your new package to test your changes: 44 - `cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`. 45 - To build against the latest stable Current Node.js version (e.g. 14.x): 46 - `nix-build -A nodePackages_latest.<new-or-updated-package>` 47 - 4. Add and commit all modified and generated files. 48 - 49 - For more information about the generation process, consult the 50 - [README.md](https://github.com/svanderburg/node2nix) file of the `node2nix` 51 - tool.
+1 -1
pkgs/development/node-packages/README.md
··· 1 - Moved to [/doc/languages-frameworks/node.section.md](/doc/languages-frameworks/node.section.md) 1 + Moved to [/doc/languages-frameworks/javascript.section.md](/doc/languages-frameworks/javascript.section.md)