yarn2nix: remove more mentions of it (#493108)
This commit is contained in:
@@ -93,7 +93,7 @@ there are 3 steps: frontend dependencies (javascript), backend dependencies (eli
|
||||
|
||||
##### mixRelease - Frontend dependencies (javascript) {#mix-release-javascript-deps}
|
||||
|
||||
For phoenix projects, inside of Nixpkgs you can either use yarn2nix (mkYarnModule) or node2nix. An example with yarn2nix can be found [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix#L39). An example with node2nix will follow. To package something outside of nixpkgs, you have alternatives like [npmlock2nix](https://github.com/nix-community/npmlock2nix) or [nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage)
|
||||
For phoenix projects, inside of Nixpkgs you can either use `fetchYarnDeps` or `buildNpmPackage`. An example with `fetchYarnDeps` can be found [here](https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/pl/plausible/package.nix). An example with `fetchYarnDeps` will follow. To package something outside of nixpkgs, you have alternatives like [npmlock2nix](https://github.com/nix-community/npmlock2nix) or [nix-npm-buildpackage](https://github.com/serokell/nix-npm-buildpackage)
|
||||
|
||||
##### mixRelease - backend dependencies (mix) {#mix-release-mix-deps}
|
||||
|
||||
|
||||
@@ -89,6 +89,7 @@ Exceptions to this rule are:
|
||||
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/by-name/pl/plausible/package.nix) is built.
|
||||
Then when building the frontend you can just symlink the node_modules directory.
|
||||
|
||||
## Tool-specific instructions {#javascript-tool-specific}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
const path = require('path')
|
||||
|
||||
// This has to match the logic in pkgs/development/tools/yarn2nix-moretea/yarn2nix/lib/urlToName.js
|
||||
// so that fixup_yarn_lock produces the same paths
|
||||
const urlToName = url => {
|
||||
const isCodeloadGitTarballUrl = url.startsWith('https://codeload.github.com/') && url.includes('/tar.gz/')
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
copyDesktopItems,
|
||||
}:
|
||||
# NOTE mqtt-explorer has 3 yarn subpackages and uses relative links
|
||||
# between them, which makes it hard to package them via 3 `mkYarnPackage`
|
||||
# between them, which makes it hard to package them via 3 `fetchYarnDeps`
|
||||
# since the resulting `node_modules` directories don't have the same structure
|
||||
# as if they were installed directly. Hence why we opted to use a
|
||||
# `stdenv.mkDerivation` instead.
|
||||
|
||||
@@ -91,7 +91,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# of better-sqlite3. It has a native part that it wants to build using a
|
||||
# script which is disallowed.
|
||||
# What's more, we need to use headers from electron to avoid ABI mismatches.
|
||||
# Adapted from mkYarnModules.
|
||||
for f in $(find . -path '*/node_modules/better-sqlite3' -type d); do
|
||||
(cd "$f" && (
|
||||
npm run build-release --offline --nodedir="${electron.headers}"
|
||||
|
||||
@@ -89,7 +89,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# After the pnpm configure, we need to build the binaries of all instances
|
||||
# of better-sqlite3. It has a native part that it wants to build using a
|
||||
# script which is disallowed.
|
||||
# Adapted from mkYarnModules.
|
||||
preBuild = ''
|
||||
for f in $(find -path '*/node_modules/better-sqlite3' -type d); do
|
||||
(cd "$f" && (
|
||||
|
||||
Reference in New Issue
Block a user