diff options
-rw-r--r-- | flake.lock | 50 | ||||
-rw-r--r-- | user/packages/node2nix/Makefile | 5 | ||||
-rw-r--r-- | user/packages/node2nix/default.nix | 22 | ||||
-rw-r--r-- | user/packages/node2nix/node-env.nix | 752 | ||||
-rw-r--r-- | user/packages/node2nix/node-packages.json | 7 | ||||
-rw-r--r-- | user/packages/node2nix/node-packages.nix | 1355 | ||||
-rw-r--r-- | user/settings/development/clojure.nix | 3 | ||||
-rw-r--r-- | user/settings/development/javascript.nix | 40 |
8 files changed, 34 insertions, 2200 deletions
diff --git a/flake.lock b/flake.lock index cd512d00..285d30d6 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1709771483, - "narHash": "sha256-Hjzu9nCknHLQvhdaRFfCEprH0o15KcaNu1QDr3J88DI=", + "lastModified": 1710717205, + "narHash": "sha256-Wf3gHh5uV6W1TV/A8X8QJf99a5ypDSugY4sNtdJDe0A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "550340062c16d7ef8c2cc20a3d2b97bcd3c6b6f6", + "rev": "bcc8afd06e237df060c85bad6af7128e05fd61a3", "type": "github" }, "original": { @@ -30,11 +30,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1709974977, - "narHash": "sha256-h0k0+volnVkG1NB9Iswgqrm5neA+13Ye8tdJiKcVJ0U=", + "lastModified": 1711301146, + "narHash": "sha256-q74EoQ3bnf0nCUz26QBjcRJ76CJgS7mcpOq2FeYfS3o=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "aed9a9e58391a498c2ed2b5bbd0b59ec3d862f6d", + "rev": "cea4619a3f9026cb4d805c81a70280c05ace512a", "type": "github" }, "original": { @@ -48,11 +48,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1709126324, - "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "d465f4819400de7c8d874d50b982301f28a84605", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -68,11 +68,11 @@ ] }, "locked": { - "lastModified": 1709938482, - "narHash": "sha256-2Vw2WOFmEXWQH8ziFNOr0U48Guh5FacuD6BOEIcE99s=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "17431970b4ebc75a92657101ccffcfc9e1f9d8f0", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -88,11 +88,11 @@ ] }, "locked": { - "lastModified": 1709906691, - "narHash": "sha256-206XMy1NGW42bnHukJl5W2F90yHNoJc7+H3i+/8i2Pg=", + "lastModified": 1711249705, + "narHash": "sha256-h/NQECj6mIzF4XR6AQoSpkCnwqAM+ol4+qOdYi2ykmQ=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "2ad5ebce1e1be47a8cf330d85265ac09ffa15178", + "rev": "34519f3bb678a5abbddf7b200ac5347263ee781b", "type": "github" }, "original": { @@ -103,11 +103,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1709410583, - "narHash": "sha256-esOSUoQ7mblwcsSea0K17McZuwAIjoS6dq/4b83+lvw=", + "lastModified": 1711274671, + "narHash": "sha256-19KQXya5VERUXOdeEJJN+zOqtvuE6MV3qTk9Gr4J9Uo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "59e37017b9ed31dee303dbbd4531c594df95cfbc", + "rev": "7559df1e4af972d5f1de87975b5ef6a8d7559db2", "type": "github" }, "original": { @@ -118,11 +118,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709703039, - "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9df3e30ce24fd28c7b3e2de0d986769db5d6225d", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", "type": "github" }, "original": { @@ -134,11 +134,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1709884566, - "narHash": "sha256-NSYJg2sfdO/XS3L8XN/59Zhzn0dqWm7XtVnKI2mHq3w=", + "lastModified": 1711124224, + "narHash": "sha256-l0zlN/3CiodvWDtfBOVxeTwYSRz93muVbXWSpaMjXxM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2be119add7b37dc535da2dd4cba68e2cf8d1517e", + "rev": "56528ee42526794d413d6f244648aaee4a7b56c0", "type": "github" }, "original": { @@ -164,7 +164,7 @@ "locked": { "lastModified": 1700668056, "narHash": "sha256-xcTTGxV0uzbyTsZqQDhE0u2vF5XAeP1P3dnjIJFuHmI=", - "ref": "f4e0f0f6fad0ee875a210eb731a8fb231acf8987", + "ref": "refs/heads/main", "rev": "f4e0f0f6fad0ee875a210eb731a8fb231acf8987", "revCount": 60, "type": "git", diff --git a/user/packages/node2nix/Makefile b/user/packages/node2nix/Makefile deleted file mode 100644 index 3fc533ec..00000000 --- a/user/packages/node2nix/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -default.nix: node-packages.json - nix-shell -p nodePackages.node2nix --run "node2nix --nodejs-18 --input $<" - -install: default.nix - nix-env -f default.nix -i diff --git a/user/packages/node2nix/default.nix b/user/packages/node2nix/default.nix deleted file mode 100644 index 13d7a1e2..00000000 --- a/user/packages/node2nix/default.nix +++ /dev/null @@ -1,22 +0,0 @@ -# This file has been generated by node2nix 1.11.1. Do not edit! -{ pkgs ? import <nixpkgs> { - inherit system; - } -, system ? builtins.currentSystem -, nodejs ? pkgs."nodejs-18_x" -, -}: -let - nodeEnv = import ./node-env.nix { - inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript; - inherit pkgs nodejs; - libtool = - if pkgs.stdenv.isDarwin - then pkgs.darwin.cctools - else null; - }; -in -import ./node-packages.nix { - inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit; - inherit nodeEnv; -} diff --git a/user/packages/node2nix/node-env.nix b/user/packages/node2nix/node-env.nix deleted file mode 100644 index 16720d90..00000000 --- a/user/packages/node2nix/node-env.nix +++ /dev/null @@ -1,752 +0,0 @@ -# This file originates from node2nix -{ lib -, stdenv -, nodejs -, python2 -, pkgs -, libtool -, runCommand -, writeTextFile -, writeShellScript -, -}: -let - # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master - utillinux = - if pkgs ? utillinux - then pkgs.utillinux - else pkgs.util-linux; - - python = - if nodejs ? python - then nodejs.python - else python2; - - # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise - tarWrapper = runCommand "tarWrapper" { } '' - mkdir -p $out/bin - - cat > $out/bin/tar <<EOF - #! ${stdenv.shell} -e - $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore - EOF - - chmod +x $out/bin/tar - ''; - - # Function that generates a TGZ file from a NPM project - buildNodeSourceDist = - { name - , version - , src - , ... - }: - stdenv.mkDerivation { - name = "node-tarball-${name}-${version}"; - inherit src; - buildInputs = [ nodejs ]; - buildPhase = '' - export HOME=$TMPDIR - tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts) - ''; - installPhase = '' - mkdir -p $out/tarballs - mv $tgzFile $out/tarballs - mkdir -p $out/nix-support - echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products - ''; - }; - - # Common shell logic - installPackage = writeShellScript "install-package" '' - installPackage() { - local packageName=$1 src=$2 - - local strippedName - - local DIR=$PWD - cd $TMPDIR - - unpackFile $src - - # Make the base dir in which the target dependency resides first - mkdir -p "$(dirname "$DIR/$packageName")" - - if [ -f "$src" ] - then - # Figure out what directory has been unpacked - packageDir="$(find . -maxdepth 1 -type d | tail -1)" - - # Restore write permissions to make building work - find "$packageDir" -type d -exec chmod u+x {} \; - chmod -R u+w "$packageDir" - - # Move the extracted tarball into the output folder - mv "$packageDir" "$DIR/$packageName" - elif [ -d "$src" ] - then - # Get a stripped name (without hash) of the source directory. - # On old nixpkgs it's already set internally. - if [ -z "$strippedName" ] - then - strippedName="$(stripHash $src)" - fi - - # Restore write permissions to make building work - chmod -R u+w "$strippedName" - - # Move the extracted directory into the output folder - mv "$strippedName" "$DIR/$packageName" - fi - - # Change to the package directory to install dependencies - cd "$DIR/$packageName" - } - ''; - - # Bundle the dependencies of the package - # - # Only include dependencies if they don't exist. They may also be bundled in the package. - includeDependencies = { dependencies }: - lib.optionalString (dependencies != [ ]) ( - '' - mkdir -p node_modules - cd node_modules - '' - + (lib.concatMapStrings - ( - dependency: '' - if [ ! -e "${dependency.packageName}" ]; then - ${composePackage dependency} - fi - '' - ) - dependencies) - + '' - cd .. - '' - ); - - # Recursively composes the dependencies of a package - composePackage = - { name - , packageName - , src - , dependencies ? [ ] - , ... - } @ args: - builtins.addErrorContext "while evaluating node package '${packageName}'" '' - installPackage "${packageName}" "${src}" - ${includeDependencies {inherit dependencies;}} - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - ''; - - pinpointDependencies = - { dependencies - , production - , - }: - let - pinpointDependenciesFromPackageJSON = writeTextFile { - name = "pinpointDependencies.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - function resolveDependencyVersion(location, name) { - if(location == process.env['NIX_STORE']) { - return null; - } else { - var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json"); - - if(fs.existsSync(dependencyPackageJSON)) { - var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON)); - - if(dependencyPackageObj.name == name) { - return dependencyPackageObj.version; - } - } else { - return resolveDependencyVersion(path.resolve(location, ".."), name); - } - } - } - - function replaceDependencies(dependencies) { - if(typeof dependencies == "object" && dependencies !== null) { - for(var dependency in dependencies) { - var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency); - - if(resolvedVersion === null) { - process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n"); - } else { - dependencies[dependency] = resolvedVersion; - } - } - } - } - - /* Read the package.json configuration */ - var packageObj = JSON.parse(fs.readFileSync('./package.json')); - - /* Pinpoint all dependencies */ - replaceDependencies(packageObj.dependencies); - if(process.argv[2] == "development") { - replaceDependencies(packageObj.devDependencies); - } - else { - packageObj.devDependencies = {}; - } - replaceDependencies(packageObj.optionalDependencies); - replaceDependencies(packageObj.peerDependencies); - - /* Write the fixed package.json file */ - fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2)); - ''; - }; - in - '' - node ${pinpointDependenciesFromPackageJSON} ${ - if production - then "production" - else "development" - } - - ${lib.optionalString (dependencies != []) - '' - if [ -d node_modules ] - then - cd node_modules - ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies} - cd .. - fi - ''} - ''; - - # Recursively traverses all dependencies of a package and pinpoints all - # dependencies in the package.json file to the versions that are actually - # being used. - - pinpointDependenciesOfPackage = - { packageName - , dependencies ? [ ] - , production ? true - , ... - } @ args: '' - if [ -d "${packageName}" ] - then - cd "${packageName}" - ${pinpointDependencies {inherit dependencies production;}} - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - fi - ''; - - # Extract the Node.js source code which is used to compile packages with - # native bindings - nodeSources = runCommand "node-sources" { } '' - tar --no-same-owner --no-same-permissions -xf ${nodejs.src} - mv node-* $out - ''; - - # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty) - addIntegrityFieldsScript = writeTextFile { - name = "addintegrityfields.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - function augmentDependencies(baseDir, dependencies) { - for(var dependencyName in dependencies) { - var dependency = dependencies[dependencyName]; - - // Open package.json and augment metadata fields - var packageJSONDir = path.join(baseDir, "node_modules", dependencyName); - var packageJSONPath = path.join(packageJSONDir, "package.json"); - - if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored - console.log("Adding metadata fields to: "+packageJSONPath); - var packageObj = JSON.parse(fs.readFileSync(packageJSONPath)); - - if(dependency.integrity) { - packageObj["_integrity"] = dependency.integrity; - } else { - packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads. - } - - if(dependency.resolved) { - packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided - } else { - packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories. - } - - if(dependency.from !== undefined) { // Adopt from property if one has been provided - packageObj["_from"] = dependency.from; - } - - fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2)); - } - - // Augment transitive dependencies - if(dependency.dependencies !== undefined) { - augmentDependencies(packageJSONDir, dependency.dependencies); - } - } - } - - if(fs.existsSync("./package-lock.json")) { - var packageLock = JSON.parse(fs.readFileSync("./package-lock.json")); - - if(![1, 2].includes(packageLock.lockfileVersion)) { - process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n"); - process.exit(1); - } - - if(packageLock.dependencies !== undefined) { - augmentDependencies(".", packageLock.dependencies); - } - } - ''; - }; - - # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes - reconstructPackageLock = writeTextFile { - name = "reconstructpackagelock.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - var packageObj = JSON.parse(fs.readFileSync("package.json")); - - var lockObj = { - name: packageObj.name, - version: packageObj.version, - lockfileVersion: 2, - requires: true, - packages: { - "": { - name: packageObj.name, - version: packageObj.version, - license: packageObj.license, - bin: packageObj.bin, - dependencies: packageObj.dependencies, - engines: packageObj.engines, - optionalDependencies: packageObj.optionalDependencies - } - }, - dependencies: {} - }; - - function augmentPackageJSON(filePath, packages, dependencies) { - var packageJSON = path.join(filePath, "package.json"); - if(fs.existsSync(packageJSON)) { - var packageObj = JSON.parse(fs.readFileSync(packageJSON)); - packages[filePath] = { - version: packageObj.version, - integrity: "sha1-000000000000000000000000000=", - dependencies: packageObj.dependencies, - engines: packageObj.engines, - optionalDependencies: packageObj.optionalDependencies - }; - dependencies[packageObj.name] = { - version: packageObj.version, - integrity: "sha1-000000000000000000000000000=", - dependencies: {} - }; - processDependencies(path.join(filePath, "node_modules"), packages, dependencies[packageObj.name].dependencies); - } - } - - function processDependencies(dir, packages, dependencies) { - if(fs.existsSync(dir)) { - var files = fs.readdirSync(dir); - - files.forEach(function(entry) { - var filePath = path.join(dir, entry); - var stats = fs.statSync(filePath); - - if(stats.isDirectory()) { - if(entry.substr(0, 1) == "@") { - // When we encounter a namespace folder, augment all packages belonging to the scope - var pkgFiles = fs.readdirSync(filePath); - - pkgFiles.forEach(function(entry) { - if(stats.isDirectory()) { - var pkgFilePath = path.join(filePath, entry); - augmentPackageJSON(pkgFilePath, packages, dependencies); - } - }); - } else { - augmentPackageJSON(filePath, packages, dependencies); - } - } - }); - } - } - - processDependencies("node_modules", lockObj.packages, lockObj.dependencies); - - fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2)); - ''; - }; - - # Script that links bins defined in package.json to the node_modules bin directory - # NPM does not do this for top-level packages itself anymore as of v7 - linkBinsScript = writeTextFile { - name = "linkbins.js"; - text = '' - var fs = require('fs'); - var path = require('path'); - - var packageObj = JSON.parse(fs.readFileSync("package.json")); - - var nodeModules = Array(packageObj.name.split("/").length).fill("..").join(path.sep); - - if(packageObj.bin !== undefined) { - fs.mkdirSync(path.join(nodeModules, ".bin")) - - if(typeof packageObj.bin == "object") { - Object.keys(packageObj.bin).forEach(function(exe) { - if(fs.existsSync(packageObj.bin[exe])) { - console.log("linking bin '" + exe + "'"); - fs.symlinkSync( - path.join("..", packageObj.name, packageObj.bin[exe]), - path.join(nodeModules, ".bin", exe) - ); - } - else { - console.log("skipping non-existent bin '" + exe + "'"); - } - }) - } - else { - if(fs.existsSync(packageObj.bin)) { - console.log("linking bin '" + packageObj.bin + "'"); - fs.symlinkSync( - path.join("..", packageObj.name, packageObj.bin), - path.join(nodeModules, ".bin", packageObj.name.split("/").pop()) - ); - } - else { - console.log("skipping non-existent bin '" + packageObj.bin + "'"); - } - } - } - else if(packageObj.directories !== undefined && packageObj.directories.bin !== undefined) { - fs.mkdirSync(path.join(nodeModules, ".bin")) - - fs.readdirSync(packageObj.directories.bin).forEach(function(exe) { - if(fs.existsSync(path.join(packageObj.directories.bin, exe))) { - console.log("linking bin '" + exe + "'"); - fs.symlinkSync( - path.join("..", packageObj.name, packageObj.directories.bin, exe), - path.join(nodeModules, ".bin", exe) - ); - } - else { - console.log("skipping non-existent bin '" + exe + "'"); - } - }) - } - ''; - }; - - prepareAndInvokeNPM = - { packageName - , bypassCache - , reconstructLock - , npmFlags - , production - , - }: - let - forceOfflineFlag = - if bypassCache - then "--offline" - else "--registry http://www.example.com"; - in - '' - # Pinpoint the versions of all dependencies to the ones that are actually being used - echo "pinpointing versions of dependencies..." - source $pinpointDependenciesScriptPath - - # Patch the shebangs of the bundled modules to prevent them from - # calling executables outside the Nix store as much as possible - patchShebangs . - - # Deploy the Node.js package by running npm install. Since the - # dependencies have been provided already by ourselves, it should not - # attempt to install them again, which is good, because we want to make - # it Nix's responsibility. If it needs to install any dependencies - # anyway (e.g. because the dependency parameters are - # incomplete/incorrect), it fails. - # - # The other responsibilities of NPM are kept -- version checks, build - # steps, postprocessing etc. - - export HOME=$TMPDIR - cd "${packageName}" - runHook preRebuild - - ${lib.optionalString bypassCache '' - ${lib.optionalString reconstructLock '' - if [ -f package-lock.json ] - then - echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!" - echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!" - rm package-lock.json - else - echo "No package-lock.json file found, reconstructing..." - fi - - node ${reconstructPackageLock} - ''} - - node ${addIntegrityFieldsScript} - ''} - - npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild - - runHook postRebuild - - if [ "''${dontNpmInstall-}" != "1" ] - then - # NPM tries to download packages even when they already exist if npm-shrinkwrap is used. - rm -f npm-shrinkwrap.json - - npm ${forceOfflineFlag} --nodedir=${nodeSources} --no-bin-links --ignore-scripts ${npmFlags} ${lib.optionalString production "--production"} install - fi - - # Link executables defined in package.json - node ${linkBinsScript} - ''; - - # Builds and composes an NPM package including all its dependencies - buildNodePackage = - { name - , packageName - , version ? null - , dependencies ? [ ] - , buildInputs ? [ ] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , preRebuild ? "" - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , meta ? { } - , ... - } @ args: - let - extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ]; - in - stdenv.mkDerivation ({ - name = "${name}${ - if version == null - then "" - else "-${version}" - }"; - buildInputs = - [ tarWrapper python nodejs ] - ++ lib.optional (stdenv.isLinux) utillinux - ++ lib.optional (stdenv.isDarwin) libtool - ++ buildInputs; - - inherit nodejs; - - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall preRebuild unpackPhase buildPhase; - - compositionScript = composePackage args; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; - - passAsFile = [ "compositionScript" "pinpointDependenciesScript" ]; - - installPhase = '' - source ${installPackage} - - # Create and enter a root node_modules/ folder - mkdir -p $out/lib/node_modules - cd $out/lib/node_modules - - # Compose the package and all its dependencies - source $compositionScriptPath - - ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} - - # Create symlink to the deployed executable folder, if applicable - if [ -d "$out/lib/node_modules/.bin" ] - then - ln -s $out/lib/node_modules/.bin $out/bin - - # Patch the shebang lines of all the executables - ls $out/bin/* | while read i - do - file="$(readlink -f "$i")" - chmod u+rwx "$file" - patchShebangs "$file" - done - fi - - # Create symlinks to the deployed manual page folders, if applicable - if [ -d "$out/lib/node_modules/${packageName}/man" ] - then - mkdir -p $out/share - for dir in "$out/lib/node_modules/${packageName}/man/"* - do - mkdir -p $out/share/man/$(basename "$dir") - for page in "$dir"/* - do - ln -s $page $out/share/man/$(basename "$dir") - done - done - fi - - # Run post install hook, if provided - runHook postInstall - ''; - - meta = - { - # default to Node.js' platforms - platforms = nodejs.meta.platforms; - } - // meta; - } - // extraArgs); - - # Builds a node environment (a node_modules folder and a set of binaries) - buildNodeDependencies = - { name - , packageName - , version ? null - , src - , dependencies ? [ ] - , buildInputs ? [ ] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , ... - } @ args: - let - extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ]; - in - stdenv.mkDerivation ({ - name = "node-dependencies-${name}${ - if version == null - then "" - else "-${version}" - }"; - - buildInputs = - [ tarWrapper python nodejs ] - ++ lib.optional (stdenv.isLinux) utillinux - ++ lib.optional (stdenv.isDarwin) libtool - ++ buildInputs; - - inherit dontStrip; # Stripping may fail a build for some package deployments - inherit dontNpmInstall unpackPhase buildPhase; - - includeScript = includeDependencies { inherit dependencies; }; - pinpointDependenciesScript = pinpointDependenciesOfPackage args; - - passAsFile = [ "includeScript" "pinpointDependenciesScript" ]; - - installPhase = '' - source ${installPackage} - - mkdir -p $out/${packageName} - cd $out/${packageName} - - source $includeScriptPath - - # Create fake package.json to make the npm commands work properly - cp ${src}/package.json . - chmod 644 package.json - ${lib.optionalString bypassCache '' - if [ -f ${src}/package-lock.json ] - then - cp ${src}/package-lock.json . - chmod 644 package-lock.json - fi - ''} - - # Go to the parent folder to make sure that all packages are pinpointed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - - ${prepareAndInvokeNPM {inherit packageName bypassCache reconstructLock npmFlags production;}} - - # Expose the executables that were installed - cd .. - ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."} - - mv ${packageName} lib - ln -s $out/lib/node_modules/.bin $out/bin - ''; - } - // extraArgs); - - # Builds a development shell - buildNodeShell = - { name - , packageName - , version ? null - , src - , dependencies ? [ ] - , buildInputs ? [ ] - , production ? true - , npmFlags ? "" - , dontNpmInstall ? false - , bypassCache ? false - , reconstructLock ? false - , dontStrip ? true - , unpackPhase ? "true" - , buildPhase ? "true" - , ... - } @ args: - let - nodeDependencies = buildNodeDependencies args; - extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ]; - in - stdenv.mkDerivation ({ - name = "node-shell-${name}${ - if version == null - then "" - else "-${version}" - }"; - - buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs; - buildCommand = '' - mkdir -p $out/bin - cat > $out/bin/shell <<EOF - #! ${stdenv.shell} -e - $shellHook - exec ${stdenv.shell} - EOF - chmod +x $out/bin/shell - ''; - - # Provide the dependencies in a development shell through the NODE_PATH environment variable - inherit nodeDependencies; - shellHook = lib.optionalString (dependencies != [ ]) '' - export NODE_PATH=${nodeDependencies}/lib/node_modules - export PATH="${nodeDependencies}/bin:$PATH" - ''; - } - // extraArgs); -in -{ - buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist; - buildNodePackage = lib.makeOverridable buildNodePackage; - buildNodeDependencies = lib.makeOverridable buildNodeDependencies; - buildNodeShell = lib.makeOverridable buildNodeShell; -} diff --git a/user/packages/node2nix/node-packages.json b/user/packages/node2nix/node-packages.json deleted file mode 100644 index 29885292..00000000 --- a/user/packages/node2nix/node-packages.json +++ /dev/null @@ -1,7 +0,0 @@ -[ - { "pnpm": "7.12" }, - "pino-pretty", - "npm-merge-driver", - "node-cljfmt", - "shadow-cljs" -] diff --git a/user/packages/node2nix/node-packages.nix b/user/packages/node2nix/node-packages.nix deleted file mode 100644 index 65622884..00000000 --- a/user/packages/node2nix/node-packages.nix +++ /dev/null @@ -1,1355 +0,0 @@ -# This file has been generated by node2nix 1.11.1. Do not edit! -{ nodeEnv -, fetchurl -, fetchgit -, nix-gitignore -, stdenv -, lib -, globalBuildInputs ? [ ] -, -}: -let - sources = { - "abort-controller-3.0.0" = { - name = "abort-controller"; - packageName = "abort-controller"; - version = "3.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"; - sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="; - }; - }; - "asn1.js-5.4.1" = { - name = "asn1.js"; - packageName = "asn1.js"; - version = "5.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz"; - sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA=="; - }; - }; - "assert-1.5.0" = { - name = "assert"; - packageName = "assert"; - version = "1.5.0"; - src = fetchurl { - url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz"; - sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA=="; - }; - }; - "atomic-sleep-1.0.0" = { - name = "atomic-sleep"; - packageName = "atomic-sleep"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz"; - sha512 = "kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ=="; - }; - }; - "balanced-match-1.0.2" = { - name = "balanced-match"; - packageName = "balanced-match"; - version = "1.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"; - sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="; - }; - }; - "base64-js-1.5.1" = { - name = "base64-js"; - packageName = "base64-js"; - version = "1.5.1"; - src = fetchurl { - url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"; - sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="; - }; - }; - "bn.js-4.12.0" = { - name = "bn.js"; - packageName = "bn.js"; - version = "4.12.0"; - src = fetchurl { - url = "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz"; - sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="; - }; - }; - "bn.js-5.2.1" = { - name = "bn.js"; - packageName = "bn.js"; - version = "5.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz"; - sha512 = "eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ=="; - }; - }; - "brace-expansion-2.0.1" = { - name = "brace-expansion"; - packageName = "brace-expansion"; - version = "2.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"; - sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA=="; - }; - }; - "brorand-1.1.0" = { - name = "brorand"; - packageName = "brorand"; - version = "1.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"; - sha512 = "cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="; - }; - }; - "browserify-aes-1.2.0" = { - name = "browserify-aes"; - packageName = "browserify-aes"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"; - sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA=="; - }; - }; - "browserify-cipher-1.0.1" = { - name = "browserify-cipher"; - packageName = "browserify-cipher"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; - sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w=="; - }; - }; - "browserify-des-1.0.2" = { - name = "browserify-des"; - packageName = "browserify-des"; - version = "1.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz"; - sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A=="; - }; - }; - "browserify-rsa-4.1.0" = { - name = "browserify-rsa"; - packageName = "browserify-rsa"; - version = "4.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz"; - sha512 = "AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog=="; - }; - }; - "browserify-sign-4.2.1" = { - name = "browserify-sign"; - packageName = "browserify-sign"; - version = "4.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz"; - sha512 = "/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg=="; - }; - }; - "browserify-zlib-0.2.0" = { - name = "browserify-zlib"; - packageName = "browserify-zlib"; - version = "0.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; - sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA=="; - }; - }; - "buffer-4.9.2" = { - name = "buffer"; - packageName = "buffer"; - version = "4.9.2"; - src = fetchurl { - url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz"; - sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="; - }; - }; - "buffer-6.0.3" = { - name = "buffer"; - packageName = "buffer"; - version = "6.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"; - sha512 = "FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="; - }; - }; - "buffer-xor-1.0.3" = { - name = "buffer-xor"; - packageName = "buffer-xor"; - version = "1.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"; - sha512 = "571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="; - }; - }; - "bufferutil-4.0.6" = { - name = "bufferutil"; - packageName = "bufferutil"; - version = "4.0.6"; - src = fetchurl { - url = "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.6.tgz"; - sha512 = "jduaYOYtnio4aIAyc6UbvPCVcgq7nYpVnucyxr6eCYg/Woad9Hf/oxxBRDnGGjPfjUm6j5O/uBWhIu4iLebFaw=="; - }; - }; - "builtin-status-codes-3.0.0" = { - name = "builtin-status-codes"; - packageName = "builtin-status-codes"; - version = "3.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; - sha512 = "HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ=="; - }; - }; - "cipher-base-1.0.4" = { - name = "cipher-base"; - packageName = "cipher-base"; - version = "1.0.4"; - src = fetchurl { - url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz"; - sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q=="; - }; - }; - "colorette-2.0.19" = { - name = "colorette"; - packageName = "colorette"; - version = "2.0.19"; - src = fetchurl { - url = "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz"; - sha512 = "3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="; - }; - }; - "console-browserify-1.2.0" = { - name = "console-browserify"; - packageName = "console-browserify"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz"; - sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="; - }; - }; - "constants-browserify-1.0.0" = { - name = "constants-browserify"; - packageName = "constants-browserify"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"; - sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ=="; - }; - }; - "core-util-is-1.0.3" = { - name = "core-util-is"; - packageName = "core-util-is"; - version = "1.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"; - sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="; - }; - }; - "create-ecdh-4.0.4" = { - name = "create-ecdh"; - packageName = "create-ecdh"; - version = "4.0.4"; - src = fetchurl { - url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz"; - sha512 = "mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A=="; - }; - }; - "create-hash-1.2.0" = { - name = "create-hash"; - packageName = "create-hash"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"; - sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg=="; - }; - }; - "create-hmac-1.1.7" = { - name = "create-hmac"; - packageName = "create-hmac"; - version = "1.1.7"; - src = fetchurl { - url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"; - sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg=="; - }; - }; - "crypto-browserify-3.12.0" = { - name = "crypto-browserify"; - packageName = "crypto-browserify"; - version = "3.12.0"; - src = fetchurl { - url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; - sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg=="; - }; - }; - "dateformat-4.6.3" = { - name = "dateformat"; - packageName = "dateformat"; - version = "4.6.3"; - src = fetchurl { - url = "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz"; - sha512 = "2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA=="; - }; - }; - "des.js-1.0.1" = { - name = "des.js"; - packageName = "des.js"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz"; - sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA=="; - }; - }; - "diffie-hellman-5.0.3" = { - name = "diffie-hellman"; - packageName = "diffie-hellman"; - version = "5.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; - sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg=="; - }; - }; - "domain-browser-1.2.0" = { - name = "domain-browser"; - packageName = "domain-browser"; - version = "1.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"; - sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="; - }; - }; - "elliptic-6.5.4" = { - name = "elliptic"; - packageName = "elliptic"; - version = "6.5.4"; - src = fetchurl { - url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz"; - sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ=="; - }; - }; - "end-of-stream-1.4.4" = { - name = "end-of-stream"; - packageName = "end-of-stream"; - version = "1.4.4"; - src = fetchurl { - url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"; - sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="; - }; - }; - "event-target-shim-5.0.1" = { - name = "event-target-shim"; - packageName = "event-target-shim"; - version = "5.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"; - sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="; - }; - }; - "events-3.3.0" = { - name = "events"; - packageName = "events"; - version = "3.3.0"; - src = fetchurl { - url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz"; - sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="; - }; - }; - "evp_bytestokey-1.0.3" = { - name = "evp_bytestokey"; - packageName = "evp_bytestokey"; - version = "1.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; - sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="; - }; - }; - "fast-copy-2.1.7" = { - name = "fast-copy"; - packageName = "fast-copy"; - version = "2.1.7"; - src = fetchurl { - url = "https://registry.npmjs.org/fast-copy/-/fast-copy-2.1.7.tgz"; - sha512 = "ozrGwyuCTAy7YgFCua8rmqmytECYk/JYAMXcswOcm0qvGoE3tPb7ivBeIHTOK2DiapBhDZgacIhzhQIKU5TCfA=="; - }; - }; - "fast-safe-stringify-2.1.1" = { - name = "fast-safe-stringify"; - packageName = "fast-safe-stringify"; - version = "2.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz"; - sha512 = "W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA=="; - }; - }; - "fs.realpath-1.0.0" = { - name = "fs.realpath"; - packageName = "fs.realpath"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; - sha512 = "OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="; - }; - }; - "glob-8.0.3" = { - name = "glob"; - packageName = "glob"; - version = "8.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz"; - sha512 = "ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ=="; - }; - }; - "hash-base-3.1.0" = { - name = "hash-base"; - packageName = "hash-base"; - version = "3.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz"; - sha512 = "1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA=="; - }; - }; - "hash.js-1.1.7" = { - name = "hash.js"; - packageName = "hash.js"; - version = "1.1.7"; - src = fetchurl { - url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz"; - sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="; - }; - }; - "help-me-4.1.0" = { - name = "help-me"; - packageName = "help-me"; - version = "4.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/help-me/-/help-me-4.1.0.tgz"; - sha512 = "5HMrkOks2j8Fpu2j5nTLhrBhT7VwHwELpqnSnx802ckofys5MO2SkLpgSz3dgNFHV7IYFX2igm5CM75SmuYidw=="; - }; - }; - "hmac-drbg-1.0.1" = { - name = "hmac-drbg"; - packageName = "hmac-drbg"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; - sha512 = "Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg=="; - }; - }; - "https-browserify-1.0.0" = { - name = "https-browserify"; - packageName = "https-browserify"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"; - sha512 = "J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg=="; - }; - }; - "ieee754-1.2.1" = { - name = "ieee754"; - packageName = "ieee754"; - version = "1.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"; - sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="; - }; - }; - "inflight-1.0.6" = { - name = "inflight"; - packageName = "inflight"; - version = "1.0.6"; - src = fetchurl { - url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"; - sha512 = "k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="; - }; - }; - "inherits-2.0.1" = { - name = "inherits"; - packageName = "inherits"; - version = "2.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; - sha512 = "8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="; - }; - }; - "inherits-2.0.3" = { - name = "inherits"; - packageName = "inherits"; - version = "2.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; - sha512 = "x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="; - }; - }; - "inherits-2.0.4" = { - name = "inherits"; - packageName = "inherits"; - version = "2.0.4"; - src = fetchurl { - url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"; - sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; - }; - }; - "isarray-1.0.0" = { - name = "isarray"; - packageName = "isarray"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; - sha512 = "VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="; - }; - }; - "isexe-2.0.0" = { - name = "isexe"; - packageName = "isexe"; - version = "2.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"; - sha512 = "RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="; - }; - }; - "joycon-3.1.1" = { - name = "joycon"; - packageName = "joycon"; - version = "3.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz"; - sha512 = "34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="; - }; - }; - "md5.js-1.3.5" = { - name = "md5.js"; - packageName = "md5.js"; - version = "1.3.5"; - src = fetchurl { - url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"; - sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="; - }; - }; - "miller-rabin-4.0.1" = { - name = "miller-rabin"; - packageName = "miller-rabin"; - version = "4.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"; - sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="; - }; - }; - "minimalistic-assert-1.0.1" = { - name = "minimalistic-assert"; - packageName = "minimalistic-assert"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; - sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="; - }; - }; - "minimalistic-crypto-utils-1.0.1" = { - name = "minimalistic-crypto-utils"; - packageName = "minimalistic-crypto-utils"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; - sha512 = "JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="; - }; - }; - "minimatch-5.1.0" = { - name = "minimatch"; - packageName = "minimatch"; - version = "5.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz"; - sha512 = "9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg=="; - }; - }; - "minimist-1.2.6" = { - name = "minimist"; - packageName = "minimist"; - version = "1.2.6"; - src = fetchurl { - url = "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz"; - sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q=="; - }; - }; - "node-gyp-build-4.5.0" = { - name = "node-gyp-build"; - packageName = "node-gyp-build"; - version = "4.5.0"; - src = fetchurl { - url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz"; - sha512 = "2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg=="; - }; - }; - "node-libs-browser-2.2.1" = { - name = "node-libs-browser"; - packageName = "node-libs-browser"; - version = "2.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz"; - sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q=="; - }; - }; - "object-assign-4.1.1" = { - name = "object-assign"; - packageName = "object-assign"; - version = "4.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; - sha512 = "rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="; - }; - }; - "on-exit-leak-free-2.1.0" = { - name = "on-exit-leak-free"; - packageName = "on-exit-leak-free"; - version = "2.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz"; - sha512 = "VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w=="; - }; - }; - "once-1.4.0" = { - name = "once"; - packageName = "once"; - version = "1.4.0"; - src = fetchurl { - url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; - sha512 = "lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="; - }; - }; - "os-browserify-0.3.0" = { - name = "os-browserify"; - packageName = "os-browserify"; - version = "0.3.0"; - src = fetchurl { - url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz"; - sha512 = "gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A=="; - }; - }; - "pako-1.0.11" = { - name = "pako"; - packageName = "pako"; - version = "1.0.11"; - src = fetchurl { - url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz"; - sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="; - }; - }; - "parse-asn1-5.1.6" = { - name = "parse-asn1"; - packageName = "parse-asn1"; - version = "5.1.6"; - src = fetchurl { - url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz"; - sha512 = "RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw=="; - }; - }; - "path-browserify-0.0.1" = { - name = "path-browserify"; - packageName = "path-browserify"; - version = "0.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz"; - sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="; - }; - }; - "pbkdf2-3.1.2" = { - name = "pbkdf2"; - packageName = "pbkdf2"; - version = "3.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz"; - sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA=="; - }; - }; - "pino-abstract-transport-1.0.0" = { - name = "pino-abstract-transport"; - packageName = "pino-abstract-transport"; - version = "1.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz"; - sha512 = "c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA=="; - }; - }; - "process-0.11.10" = { - name = "process"; - packageName = "process"; - version = "0.11.10"; - src = fetchurl { - url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz"; - sha512 = "cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="; - }; - }; - "process-nextick-args-2.0.1" = { - name = "process-nextick-args"; - packageName = "process-nextick-args"; - version = "2.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; - sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="; - }; - }; - "public-encrypt-4.0.3" = { - name = "public-encrypt"; - packageName = "public-encrypt"; - version = "4.0.3"; - src = fetchurl { - url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz"; - sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q=="; - }; - }; - "pump-3.0.0" = { - name = "pump"; - packageName = "pump"; - version = "3.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"; - sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="; - }; - }; - "punycode-1.3.2" = { - name = "punycode"; - packageName = "punycode"; - version = "1.3.2"; - src = fetchurl { - url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"; - sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="; - }; - }; - "punycode-1.4.1" = { - name = "punycode"; - packageName = "punycode"; - version = "1.4.1"; - src = fetchurl { - url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; - sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="; - }; - }; - "querystring-0.2.0" = { - name = "querystring"; - packageName = "querystring"; - version = "0.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"; - sha512 = "X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="; - }; - }; - "querystring-es3-0.2.1" = { - name = "querystring-es3"; - packageName = "querystring-es3"; - version = "0.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"; - sha512 = "773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="; - }; - }; - "randombytes-2.1.0" = { - name = "randombytes"; - packageName = "randombytes"; - version = "2.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"; - sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="; - }; - }; - "randomfill-1.0.4" = { - name = "randomfill"; - packageName = "randomfill"; - version = "1.0.4"; - src = fetchurl { - url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz"; - sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw=="; - }; - }; - "readable-stream-2.3.7" = { - name = "readable-stream"; - packageName = "readable-stream"; - version = "2.3.7"; - src = fetchurl { - url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"; - sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="; - }; - }; - "readable-stream-3.6.0" = { - name = "readable-stream"; - packageName = "readable-stream"; - version = "3.6.0"; - src = fetchurl { - url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"; - sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="; - }; - }; - "readable-stream-4.2.0" = { - name = "readable-stream"; - packageName = "readable-stream"; - version = "4.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/readable-stream/-/readable-stream-4.2.0.tgz"; - sha512 = "gJrBHsaI3lgBoGMW/jHZsQ/o/TIWiu5ENCJG1BB7fuCKzpFM8GaS2UoBVt9NO+oI+3FcrBNbUkl3ilDe09aY4A=="; - }; - }; - "readline-sync-1.4.10" = { - name = "readline-sync"; - packageName = "readline-sync"; - version = "1.4.10"; - src = fetchurl { - url = "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz"; - sha512 = "gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw=="; - }; - }; - "ripemd160-2.0.2" = { - name = "ripemd160"; - packageName = "ripemd160"; - version = "2.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"; - sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="; - }; - }; - "safe-buffer-5.1.2" = { - name = "safe-buffer"; - packageName = "safe-buffer"; - version = "5.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"; - sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; - }; - }; - "safe-buffer-5.2.1" = { - name = "safe-buffer"; - packageName = "safe-buffer"; - version = "5.2.1"; - src = fetchurl { - url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"; - sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="; - }; - }; - "safer-buffer-2.1.2" = { - name = "safer-buffer"; - packageName = "safer-buffer"; - version = "2.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"; - sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; - }; - }; - "secure-json-parse-2.5.0" = { - name = "secure-json-parse"; - packageName = "secure-json-parse"; - version = "2.5.0"; - src = fetchurl { - url = "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.5.0.tgz"; - sha512 = "ZQruFgZnIWH+WyO9t5rWt4ZEGqCKPwhiw+YbzTwpmT9elgLrLcfuyUiSnwwjUiVy9r4VM3urtbNF1xmEh9IL2w=="; - }; - }; - "setimmediate-1.0.5" = { - name = "setimmediate"; - packageName = "setimmediate"; - version = "1.0.5"; - src = fetchurl { - url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"; - sha512 = "MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="; - }; - }; - "sha.js-2.4.11" = { - name = "sha.js"; - packageName = "sha.js"; - version = "2.4.11"; - src = fetchurl { - url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"; - sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ=="; - }; - }; - "shadow-cljs-jar-1.3.2" = { - name = "shadow-cljs-jar"; - packageName = "shadow-cljs-jar"; - version = "1.3.2"; - src = fetchurl { - url = "https://registry.npmjs.org/shadow-cljs-jar/-/shadow-cljs-jar-1.3.2.tgz"; - sha512 = "XmeffAZHv8z7451kzeq9oKh8fh278Ak+UIOGGrapyqrFBB773xN8vMQ3O7J7TYLnb9BUwcqadKkmgaq7q6fhZg=="; - }; - }; - "sonic-boom-3.2.0" = { - name = "sonic-boom"; - packageName = "sonic-boom"; - version = "3.2.0"; - src = fetchurl { - url = "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.0.tgz"; - sha512 = "SbbZ+Kqj/XIunvIAgUZRlqd6CGQYq71tRRbXR92Za8J/R3Yh4Av+TWENiSiEgnlwckYLyP0YZQWVfyNC0dzLaA=="; - }; - }; - "source-map-0.5.7" = { - name = "source-map"; - packageName = "source-map"; - version = "0.5.7"; - src = fetchurl { - url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"; - sha512 = "LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="; - }; - }; - "source-map-support-0.4.18" = { - name = "source-map-support"; - packageName = "source-map-support"; - version = "0.4.18"; - src = fetchurl { - url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz"; - sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA=="; - }; - }; - "split2-4.1.0" = { - name = "split2"; - packageName = "split2"; - version = "4.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz"; - sha512 = "VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ=="; - }; - }; - "stream-browserify-2.0.2" = { - name = "stream-browserify"; - packageName = "stream-browserify"; - version = "2.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"; - sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="; - }; - }; - "stream-http-2.8.3" = { - name = "stream-http"; - packageName = "stream-http"; - version = "2.8.3"; - src = fetchurl { - url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz"; - sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw=="; - }; - }; - "string_decoder-1.1.1" = { - name = "string_decoder"; - packageName = "string_decoder"; - version = "1.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"; - sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; - }; - }; - "string_decoder-1.3.0" = { - name = "string_decoder"; - packageName = "string_decoder"; - version = "1.3.0"; - src = fetchurl { - url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"; - sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="; - }; - }; - "strip-json-comments-3.1.1" = { - name = "strip-json-comments"; - packageName = "strip-json-comments"; - version = "3.1.1"; - src = fetchurl { - url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"; - sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="; - }; - }; - "timers-browserify-2.0.12" = { - name = "timers-browserify"; - packageName = "timers-browserify"; - version = "2.0.12"; - src = fetchurl { - url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz"; - sha512 = "9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ=="; - }; - }; - "to-arraybuffer-1.0.1" = { - name = "to-arraybuffer"; - packageName = "to-arraybuffer"; - version = "1.0.1"; - src = fetchurl { - url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; - sha512 = "okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="; - }; - }; - "tty-browserify-0.0.0" = { - name = "tty-browserify"; - packageName = "tty-browserify"; - version = "0.0.0"; - src = fetchurl { - url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"; - sha512 = "JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw=="; - }; - }; - "url-0.11.0" = { - name = "url"; - packageName = "url"; - version = "0.11.0"; - src = fetchurl { - url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz"; - sha512 = "kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ=="; - }; - }; - "utf-8-validate-5.0.9" = { - name = "utf-8-validate"; - packageName = "utf-8-validate"; - version = "5.0.9"; - src = fetchurl { - url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.9.tgz"; - sha512 = "Yek7dAy0v3Kl0orwMlvi7TPtiCNrdfHNd7Gcc/pLq4BLXqfAmd0J7OWMizUQnTTJsyjKn02mU7anqwfmUP4J8Q=="; - }; - }; - "util-0.10.3" = { - name = "util"; - packageName = "util"; - version = "0.10.3"; - src = fetchurl { - url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz"; - sha512 = "5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ=="; - }; - }; - "util-0.11.1" = { - name = "util"; - packageName = "util"; - version = "0.11.1"; - src = fetchurl { - url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz"; - sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ=="; - }; - }; - "util-deprecate-1.0.2" = { - name = "util-deprecate"; - packageName = "util-deprecate"; - version = "1.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; - sha512 = "EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="; - }; - }; - "vm-browserify-1.1.2" = { - name = "vm-browserify"; - packageName = "vm-browserify"; - version = "1.1.2"; - src = fetchurl { - url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"; - sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="; - }; - }; - "which-1.3.1" = { - name = "which"; - packageName = "which"; - version = "1.3.1"; - src = fetchurl { - url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz"; - sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; - }; - }; - "wrappy-1.0.2" = { - name = "wrappy"; - packageName = "wrappy"; - version = "1.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; - sha512 = "l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="; - }; - }; - "ws-7.5.9" = { - name = "ws"; - packageName = "ws"; - version = "7.5.9"; - src = fetchurl { - url = "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz"; - sha512 = "F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q=="; - }; - }; - "xtend-4.0.2" = { - name = "xtend"; - packageName = "xtend"; - version = "4.0.2"; - src = fetchurl { - url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"; - sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="; - }; - }; - }; -in -{ - "pnpm-7.12" = nodeEnv.buildNodePackage { - name = "pnpm"; - packageName = "pnpm"; - version = "7.12.2"; - src = fetchurl { - url = "https://registry.npmjs.org/pnpm/-/pnpm-7.12.2.tgz"; - sha512 = "8QvnKANKN+YZXDmVYGI7zRJysdKldZI+w3AYnxu9IwtnLv1x6WuzrJr0nxMcTeuUAT908RjDqK+/6KJB9wNqxA=="; - }; - buildInputs = globalBuildInputs; - meta = { - description = "Fast, disk space efficient package manager"; - homepage = "https://pnpm.io"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; - pino-pretty = nodeEnv.buildNodePackage { - name = "pino-pretty"; - packageName = "pino-pretty"; - version = "9.1.0"; - src = fetchurl { - url = "https://registry.npmjs.org/pino-pretty/-/pino-pretty-9.1.0.tgz"; - sha512 = "IM6NY9LLo/dVgY7/prJhCh4rAJukafdt0ibxeNOWc2fxKMyTk90SOB9Ao2HfbtShT9QPeP0ePpJktksMhSQMYA=="; - }; - dependencies = [ - sources."abort-controller-3.0.0" - sources."atomic-sleep-1.0.0" - sources."balanced-match-1.0.2" - sources."base64-js-1.5.1" - sources."brace-expansion-2.0.1" - sources."buffer-6.0.3" - sources."colorette-2.0.19" - sources."dateformat-4.6.3" - sources."end-of-stream-1.4.4" - sources."event-target-shim-5.0.1" - sources."events-3.3.0" - sources."fast-copy-2.1.7" - sources."fast-safe-stringify-2.1.1" - sources."fs.realpath-1.0.0" - sources."glob-8.0.3" - (sources."help-me-4.1.0" - // { - dependencies = [ - sources."readable-stream-3.6.0" - ]; - }) - sources."ieee754-1.2.1" - sources."inflight-1.0.6" - sources."inherits-2.0.4" - sources."joycon-3.1.1" - sources."minimatch-5.1.0" - sources."minimist-1.2.6" - sources."on-exit-leak-free-2.1.0" - sources."once-1.4.0" - sources."pino-abstract-transport-1.0.0" - sources."process-0.11.10" - sources."pump-3.0.0" - sources."readable-stream-4.2.0" - sources."safe-buffer-5.2.1" - sources."secure-json-parse-2.5.0" - sources."sonic-boom-3.2.0" - sources."split2-4.1.0" - sources."string_decoder-1.3.0" - sources."strip-json-comments-3.1.1" - sources."util-deprecate-1.0.2" - sources."wrappy-1.0.2" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "Prettifier for Pino log lines"; - homepage = "https://github.com/pinojs/pino-pretty#readme"; - license = "MIT"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; - npm-merge-driver = nodeEnv.buildNodePackage { - name = "npm-merge-driver"; - packageName = "npm-merge-driver"; - version = "2.3.6"; - src = fetchurl { - url = "https://registry.npmjs.org/npm-merge-driver/-/npm-merge-driver-2.3.6.tgz"; - sha512 = "uPjCEWZ93f379zw0AMEgFtZIlpSSnpXc8BEIcs8yYHEZs5Y3d85OZHisLjNhjbYnbdAznxTq+VbyBWAQZDEm9w=="; - }; - buildInputs = globalBuildInputs; - meta = { - description = "git merge driver for automatically merging lockfiles"; - homepage = "https://github.com/npm/npm-merge-driver#readme"; - license = "ISC"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; - node-cljfmt = nodeEnv.buildNodePackage { - name = "node-cljfmt"; - packageName = "node-cljfmt"; - version = "0.5.4-0"; - src = fetchurl { - url = "https://registry.npmjs.org/node-cljfmt/-/node-cljfmt-0.5.4-0.tgz"; - sha512 = "VHH8k8W/vOUpVBRMLBTeFuGAcG4sAOIRiz0/OxBZpg/iUGJ3EBJD3JrubUkrGG40iWBl/qK2Vqu9hBmyMyhJ6A=="; - }; - buildInputs = globalBuildInputs; - meta = { - description = "A node script that reformats a file to proper clojure formatting"; - homepage = "https://github.com/snoe/node-cljfmt#readme"; - license = "EPL"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; - shadow-cljs = nodeEnv.buildNodePackage { - name = "shadow-cljs"; - packageName = "shadow-cljs"; - version = "2.20.2"; - src = fetchurl { - url = "https://registry.npmjs.org/shadow-cljs/-/shadow-cljs-2.20.2.tgz"; - sha512 = "2kzWnV1QM6KBetziCAkCf8BJdnDX2CwiAr4yhvOsiQpaNJcMzwMsJTX/gTHz58yQg0dV5uwPsIyBlvyIfl30rg=="; - }; - dependencies = [ - (sources."asn1.js-5.4.1" - // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - (sources."assert-1.5.0" - // { - dependencies = [ - sources."util-0.10.3" - ]; - }) - sources."base64-js-1.5.1" - sources."bn.js-5.2.1" - sources."brorand-1.1.0" - sources."browserify-aes-1.2.0" - sources."browserify-cipher-1.0.1" - sources."browserify-des-1.0.2" - sources."browserify-rsa-4.1.0" - (sources."browserify-sign-4.2.1" - // { - dependencies = [ - sources."inherits-2.0.4" - sources."readable-stream-3.6.0" - ]; - }) - sources."browserify-zlib-0.2.0" - sources."buffer-4.9.2" - sources."buffer-xor-1.0.3" - sources."bufferutil-4.0.6" - sources."builtin-status-codes-3.0.0" - sources."cipher-base-1.0.4" - sources."console-browserify-1.2.0" - sources."constants-browserify-1.0.0" - sources."core-util-is-1.0.3" - (sources."create-ecdh-4.0.4" - // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - sources."create-hash-1.2.0" - sources."create-hmac-1.1.7" - sources."crypto-browserify-3.12.0" - sources."des.js-1.0.1" - (sources."diffie-hellman-5.0.3" - // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - sources."domain-browser-1.2.0" - (sources."elliptic-6.5.4" - // { - dependencies = [ - sources."bn.js-4.12.0" - sources."inherits-2.0.4" - ]; - }) - sources."events-3.3.0" - sources."evp_bytestokey-1.0.3" - (sources."hash-base-3.1.0" - // { - dependencies = [ - sources."inherits-2.0.4" - sources."readable-stream-3.6.0" - ]; - }) - (sources."hash.js-1.1.7" - // { - dependencies = [ - sources."inherits-2.0.4" - ]; - }) - sources."hmac-drbg-1.0.1" - sources."https-browserify-1.0.0" - sources."ieee754-1.2.1" - sources."inherits-2.0.1" - sources."isarray-1.0.0" - sources."isexe-2.0.0" - sources."md5.js-1.3.5" - (sources."miller-rabin-4.0.1" - // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - sources."minimalistic-assert-1.0.1" - sources."minimalistic-crypto-utils-1.0.1" - sources."node-gyp-build-4.5.0" - sources."node-libs-browser-2.2.1" - sources."object-assign-4.1.1" - sources."os-browserify-0.3.0" - sources."pako-1.0.11" - sources."parse-asn1-5.1.6" - sources."path-browserify-0.0.1" - sources."pbkdf2-3.1.2" - sources."process-0.11.10" - sources."process-nextick-args-2.0.1" - (sources."public-encrypt-4.0.3" - // { - dependencies = [ - sources."bn.js-4.12.0" - ]; - }) - sources."punycode-1.4.1" - sources."querystring-0.2.0" - sources."querystring-es3-0.2.1" - sources."randombytes-2.1.0" - sources."randomfill-1.0.4" - (sources."readable-stream-2.3.7" - // { - dependencies = [ - sources."inherits-2.0.4" - sources."safe-buffer-5.1.2" - sources."string_decoder-1.1.1" - ]; - }) - sources."readline-sync-1.4.10" - sources."ripemd160-2.0.2" - sources."safe-buffer-5.2.1" - sources."safer-buffer-2.1.2" - sources."setimmediate-1.0.5" - sources."sha.js-2.4.11" - sources."shadow-cljs-jar-1.3.2" - sources."source-map-0.5.7" - sources."source-map-support-0.4.18" - sources."stream-browserify-2.0.2" - sources."stream-http-2.8.3" - sources."string_decoder-1.3.0" - sources."timers-browserify-2.0.12" - sources."to-arraybuffer-1.0.1" - sources."tty-browserify-0.0.0" - (sources."url-0.11.0" - // { - dependencies = [ - sources."punycode-1.3.2" - ]; - }) - sources."utf-8-validate-5.0.9" - (sources."util-0.11.1" - // { - dependencies = [ - sources."inherits-2.0.3" - ]; - }) - sources."util-deprecate-1.0.2" - sources."vm-browserify-1.1.2" - sources."which-1.3.1" - sources."ws-7.5.9" - sources."xtend-4.0.2" - ]; - buildInputs = globalBuildInputs; - meta = { - description = "ClojureScript compiler and JS bundler"; - homepage = "https://github.com/thheller/shadow-cljs#readme"; - license = "ISC"; - }; - production = true; - bypassCache = true; - reconstructLock = true; - }; -} diff --git a/user/settings/development/clojure.nix b/user/settings/development/clojure.nix index d240b805..c85bf869 100644 --- a/user/settings/development/clojure.nix +++ b/user/settings/development/clojure.nix @@ -4,8 +4,7 @@ }: { home.packages = with pkgs; [ clojure - node2nixPackages.node-cljfmt - node2nixPackages.shadow-cljs + cljfmt ]; programs.emacs.extraPackages = epkgs: (with epkgs; [ cider diff --git a/user/settings/development/javascript.nix b/user/settings/development/javascript.nix index 8bb0375f..f677d28a 100644 --- a/user/settings/development/javascript.nix +++ b/user/settings/development/javascript.nix @@ -3,33 +3,16 @@ , ... }: let - nodejs = pkgs.nodejs-18_x; + nodejs = pkgs.nodejs; in { - nixpkgs.overlays = [ - (self: super: { - node2nixPackages = super.callPackage ../../packages/node2nix { - inherit nodejs; - }; - }) - ]; home.packages = - (with pkgs; - [ + (with pkgs; [ nodejs bun - ] - ++ ( - if stdenv.isDarwin - then [ - ] - else [ - # npm install may use any of these - binutils - gnumake - gcc - ] - )) + pnpm-shell-completion + bunyan-rs + ]) ++ (with pkgs.nodePackages; [ node2nix nodemon @@ -37,15 +20,8 @@ in typescript-language-server eslint_d typescript - - node-gyp - node-gyp-build - node-pre-gyp - ]) - ++ (with pkgs.node2nixPackages; [ - pkgs.node2nixPackages."pnpm-7.12" - - pino-pretty + pnpm + npm-merge-driver ]); home.sessionVariables = { @@ -68,7 +44,7 @@ in avaf = "bunx ava --fail-fast"; avafw = "bunx ava --fail-fast --watch"; avawf = "bunx ava --fail-fast --watch"; - pino = "pino-pretty"; + pino = "bunyan"; mocha = "bunx mocha"; standard = "bunx standard"; tsc = "bunx tsc"; |