From 925b028f1779027d65ef75ecc87563c45805d0c3 Mon Sep 17 00:00:00 2001 From: Aneesh Agrawal Date: Sun, 26 Aug 2018 22:33:29 -0700 Subject: nixos/shadow: create setuid wrapper for chsh This allows non-declarative users to change their login shells. https://github.com/NixOS/nixpkgs/pull/41966 will make this possible for declarative users as well if the system config explicitly allows it. --- nixos/modules/programs/shadow.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/programs/shadow.nix b/nixos/modules/programs/shadow.nix index 8ec4169207db..824e451014e6 100644 --- a/nixos/modules/programs/shadow.nix +++ b/nixos/modules/programs/shadow.nix @@ -108,8 +108,9 @@ in newgrp.source = "${pkgs.shadow.out}/bin/newgrp"; newuidmap.source = "${pkgs.shadow.out}/bin/newuidmap"; newgidmap.source = "${pkgs.shadow.out}/bin/newgidmap"; - } // (if config.users.mutableUsers then { + } // lib.optionalAttrs config.users.mutableUsers { + chsh.source = "${pkgs.shadow.out}/bin/chsh"; passwd.source = "${pkgs.shadow.out}/bin/passwd"; - } else {}); + }; }; } -- cgit 1.4.1 From d0bdb55093458bcc9060dbe3c645cef1cb880440 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 24 Apr 2019 13:34:18 -0400 Subject: Fix the rootPartitionUUID description The value given here is used as the ext4 filesystem uuid. It is not used as the partition uuid. --- nixos/modules/installer/cd-dvd/sd-image.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/installer/cd-dvd/sd-image.nix b/nixos/modules/installer/cd-dvd/sd-image.nix index 69746a8e9799..ce4f53ec2b96 100644 --- a/nixos/modules/installer/cd-dvd/sd-image.nix +++ b/nixos/modules/installer/cd-dvd/sd-image.nix @@ -57,7 +57,7 @@ in default = null; example = "14e19a7b-0ae0-484d-9d54-43bd6fdc20c7"; description = '' - UUID for the main NixOS partition on the SD card. + UUID for the filesystem on the main NixOS partition on the SD card. ''; }; -- cgit 1.4.1 From 75afd2fc344ec506f12476c26a23d55192c5075d Mon Sep 17 00:00:00 2001 From: Serval Date: Wed, 25 Mar 2020 01:51:56 +0800 Subject: nixos/v2ray: check v2ray config during the build time --- nixos/modules/services/networking/v2ray.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/networking/v2ray.nix b/nixos/modules/services/networking/v2ray.nix index a1774cdffbb9..6a924a16449a 100644 --- a/nixos/modules/services/networking/v2ray.nix +++ b/nixos/modules/services/networking/v2ray.nix @@ -58,7 +58,13 @@ with lib; cfg = config.services.v2ray; configFile = if cfg.configFile != null then cfg.configFile - else (pkgs.writeText "v2ray.json" (builtins.toJSON cfg.config)); + else pkgs.writeTextFile { + name = "v2ray.json"; + text = builtins.toJSON cfg.config; + checkPhase = '' + ${pkgs.v2ray}/bin/v2ray -test -config $out + ''; + }; in mkIf cfg.enable { assertions = [ -- cgit 1.4.1 From 47c8e52a220e8a84f67042e58e0578e0b6548a91 Mon Sep 17 00:00:00 2001 From: Milan Pässler Date: Tue, 5 May 2020 15:29:33 +0200 Subject: nixos/gitlab: use new structure.sql According to https://gitlab.com/gitlab-org/gitlab/-/issues/211487 --- nixos/modules/services/misc/gitlab.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 730166b04d20..7b2bbf89a446 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -129,7 +129,7 @@ let HOME = "${cfg.statePath}/home"; UNICORN_PATH = "${cfg.statePath}/"; GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/"; - SCHEMA = "${cfg.statePath}/db/schema.rb"; + SCHEMA = "${cfg.statePath}/db/structure.sql"; GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads"; GITLAB_LOG_PATH = "${cfg.statePath}/log"; GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "redis.yml" (builtins.toJSON redisConfig); -- cgit 1.4.1 From 297c2651137f2daa78390c2cbd782dbe47b16bc3 Mon Sep 17 00:00:00 2001 From: davidak Date: Sun, 24 May 2020 06:09:01 +0200 Subject: nixos/chromium: add example and update description --- nixos/modules/programs/chromium.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/programs/chromium.nix b/nixos/modules/programs/chromium.nix index 16c063ebc89d..3f0429136190 100644 --- a/nixos/modules/programs/chromium.nix +++ b/nixos/modules/programs/chromium.nix @@ -69,11 +69,24 @@ in extraOpts = mkOption { type = types.attrs; description = '' - Extra chromium policy options, see - https://www.chromium.org/administrators/policy-list-3 - for a list of avalible options + Extra chromium policy options. A list of available policies + can be found in the Chrome Enterprise documentation: + https://cloud.google.com/docs/chrome-enterprise/policies/ + Make sure the selected policy is supported on Linux and your browser version. ''; default = {}; + example = literalExample '' + { + "BrowserSignin" = 0; + "SyncDisabled" = true; + "PasswordManagerEnabled" = false; + "SpellcheckEnabled" = true; + "SpellcheckLanguage" = [ + "de" + "en-US" + ]; + } + ''; }; }; }; -- cgit 1.4.1 From c18fae4a3521cde806e925f34427e0234af71faf Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Mon, 25 May 2020 20:14:20 +0200 Subject: vsftpd: listen on both address families --- nixos/modules/services/networking/vsftpd.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/networking/vsftpd.nix b/nixos/modules/services/networking/vsftpd.nix index b3e201844236..c57994533c17 100644 --- a/nixos/modules/services/networking/vsftpd.nix +++ b/nixos/modules/services/networking/vsftpd.nix @@ -116,7 +116,8 @@ let userlist_file=${cfg.userlistFile} ''} background=YES - listen=YES + listen=NO + listen_ipv6=YES nopriv_user=vsftpd secure_chroot_dir=/var/empty ${optionalString (cfg.localRoot != null) '' -- cgit 1.4.1 From 5d3a72f68394aa82bfd22db8a2ca28ea6c102bdd Mon Sep 17 00:00:00 2001 From: Doro Rose Date: Sun, 24 May 2020 21:19:50 +0200 Subject: networking-interfaces.nix: remove broken NDP bits from proxyARP The `networking.interfaces..proxyARP` option previously mentioned it would also enable IPv6 forwarding and `proxy_ndp`. However, the `proxy_ndp` option was never actually set (the non-existing `net.ipv6.conf.proxy_arp` sysctl was set instead). In addition `proxy_ndp` also needs individual entries for each ip to proxy for. Proxy ARP and Proxy NDP are two different concepts, and enabling the latter should be a conscious decision. This commit removes the broken NDP support, and disables explicitly enabling IPv6 forwarding (which is the default in most cases anyways) Fixes #62339. --- nixos/modules/tasks/network-interfaces.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index 44677d417ead..3258e7e61a35 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -283,7 +283,7 @@ let default = false; type = types.bool; description = '' - Turn on proxy_arp for this device (and proxy_ndp for ipv6). + Turn on proxy_arp for this device. This is mainly useful for creating pseudo-bridges between a real interface and a virtual network such as VPN or a virtual machine for interfaces that don't support real bridging (most wlan interfaces). @@ -1055,11 +1055,11 @@ in optionalString hasBonds "options bonding max_bonds=0"; boot.kernel.sysctl = { + "net.ipv4.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces); "net.ipv6.conf.all.disable_ipv6" = mkDefault (!cfg.enableIPv6); "net.ipv6.conf.default.disable_ipv6" = mkDefault (!cfg.enableIPv6); - "net.ipv6.conf.all.forwarding" = mkDefault (any (i: i.proxyARP) interfaces); } // listToAttrs (flip concatMap (filter (i: i.proxyARP) interfaces) - (i: forEach [ "4" "6" ] (v: nameValuePair "net.ipv${v}.conf.${replaceChars ["."] ["/"] i.name}.proxy_arp" true))) + (i: [(nameValuePair "net.ipv4.conf.${replaceChars ["."] ["/"] i.name}.proxy_arp" true)])) // listToAttrs (forEach interfaces (i: let opt = i.tempAddress; -- cgit 1.4.1 From 180d1d37b28a92cf544a6bdc7834733819be3ad8 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Sat, 30 May 2020 11:56:45 -0400 Subject: nixos/kvmgt: allow multiple uuids on same mdev --- nixos/modules/virtualisation/kvmgt.nix | 52 ++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 24 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix index 0902d2dc2cb0..e08ad3446281 100644 --- a/nixos/modules/virtualisation/kvmgt.nix +++ b/nixos/modules/virtualisation/kvmgt.nix @@ -9,8 +9,8 @@ let vgpuOptions = { uuid = mkOption { - type = types.str; - description = "UUID of VGPU device. You can generate one with libossp_uuid."; + type = with types; listOf str; + description = "UUID(s) of VGPU device. You can generate one with libossp_uuid."; }; }; @@ -36,7 +36,7 @@ in { and find info about device via cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description ''; example = { - i915-GVTg_V5_8.uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525"; + i915-GVTg_V5_8.uuid = [ "a297db4a-f4c2-11e6-90f6-d3b88d6c9525" ]; }; }; }; @@ -51,31 +51,35 @@ in { boot.kernelModules = [ "kvmgt" ]; boot.kernelParams = [ "i915.enable_gvt=1" ]; - systemd.paths = mapAttrs' (name: value: - nameValuePair "kvmgt-${name}" { - description = "KVMGT VGPU ${name} path"; - wantedBy = [ "multi-user.target" ]; - pathConfig = { - PathExists = "/sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create"; - }; - } - ) cfg.vgpus; - services.udev.extraRules = '' SUBSYSTEM=="vfio", OWNER="root", GROUP="kvm" ''; - systemd.services = mapAttrs' (name: value: - nameValuePair "kvmgt-${name}" { - description = "KVMGT VGPU ${name}"; - serviceConfig = { - Type = "oneshot"; - RemainAfterExit = true; - ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'"; - ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'"; - }; - } - ) cfg.vgpus; + systemd = let + vgpus = listToAttrs (flatten (mapAttrsToList + (mdev: opt: map (id: nameValuePair "kvmgt-${id}" { inherit mdev; uuid = id; }) opt.uuid) + cfg.vgpus)); + in { + paths = mapAttrs (_: opt: + { + description = "KVMGT VGPU ${opt.uuid} path"; + wantedBy = [ "multi-user.target" ]; + pathConfig = { + PathExists = "/sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${opt.mdev}/create"; + }; + }) vgpus; + + services = mapAttrs (_: opt: + { + description = "KVMGT VGPU ${opt.uuid}"; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + ExecStart = "${pkgs.runtimeShell} -c 'echo ${opt.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${opt.mdev}/create'"; + ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${opt.uuid}/remove'"; + }; + }) vgpus; + }; }; meta.maintainers = with maintainers; [ gnidorah ]; -- cgit 1.4.1 From 3052b4eafba0a69764bae24c8ad8e250fa1acfae Mon Sep 17 00:00:00 2001 From: jakobrs Date: Sun, 31 May 2020 08:38:09 +0200 Subject: nixos/libvirtd: correct spelling formally -> formerly --- nixos/modules/virtualisation/libvirtd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix index f89e5d544b22..43b5fcfa8fae 100644 --- a/nixos/modules/virtualisation/libvirtd.nix +++ b/nixos/modules/virtualisation/libvirtd.nix @@ -114,7 +114,7 @@ in { Specifies the action to be done to / on the guests when the host boots. The "start" option starts all guests that were running prior to shutdown regardless of their autostart settings. The "ignore" option will not - start the formally running guest on boot. However, any guest marked as + start the formerly running guest on boot. However, any guest marked as autostart will still be automatically started by libvirtd. ''; }; -- cgit 1.4.1 From c784d3ab76e872dc28c1ea62137e9f95106e6c58 Mon Sep 17 00:00:00 2001 From: Hugo Geoffroy Date: Wed, 20 May 2020 09:29:27 +0200 Subject: nixos/haproxy: add reloading support, use upstream service hardening Refactor the systemd service definition for the haproxy reverse proxy, using the upstream systemd service definition. This allows the service to be reloaded on changes, preserving existing server state, and adds some hardening options. --- nixos/modules/services/networking/haproxy.nix | 32 +++++++++++++++++++++++---- nixos/tests/haproxy.nix | 8 +++++++ 2 files changed, 36 insertions(+), 4 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix index 4678829986c6..e9d72b35499d 100644 --- a/nixos/modules/services/networking/haproxy.nix +++ b/nixos/modules/services/networking/haproxy.nix @@ -56,6 +56,9 @@ with lib; message = "You must provide services.haproxy.config."; }]; + # configuration file indirection is needed to support reloading + environment.etc."haproxy.cfg".source = haproxyCfg; + systemd.services.haproxy = { description = "HAProxy"; after = [ "network.target" ]; @@ -64,11 +67,32 @@ with lib; User = cfg.user; Group = cfg.group; Type = "notify"; - # when running the config test, don't be quiet so we can see what goes wrong - ExecStartPre = "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}"; - ExecStart = "${pkgs.haproxy}/sbin/haproxy -Ws -f ${haproxyCfg}"; - Restart = "on-failure"; + ExecStartPre = [ + # when the master process receives USR2, it reloads itself using exec(argv[0]), + # so we create a symlink there and update it before reloading + "${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy" + # when running the config test, don't be quiet so we can see what goes wrong + "/run/haproxy/haproxy -c -f ${haproxyCfg}" + ]; + ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid"; + # support reloading + ExecReload = [ + "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}" + "${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy" + "${pkgs.coreutils}/bin/kill -USR2 $MAINPID" + ]; + KillMode = "mixed"; + SuccessExitStatus = "143"; + Restart = "always"; RuntimeDirectory = "haproxy"; + # upstream hardening options + NoNewPrivileges = true; + ProtectHome = true; + ProtectSystem = "strict"; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + SystemCallFilter= "~@cpu-emulation @keyring @module @obsolete @raw-io @reboot @swap @sync"; # needed in case we bind to port < 1024 AmbientCapabilities = "CAP_NET_BIND_SERVICE"; }; diff --git a/nixos/tests/haproxy.nix b/nixos/tests/haproxy.nix index 79f34b07faf4..ffb77c052a24 100644 --- a/nixos/tests/haproxy.nix +++ b/nixos/tests/haproxy.nix @@ -43,5 +43,13 @@ import ./make-test-python.nix ({ pkgs, ...}: { assert "haproxy_process_pool_allocated_bytes" in machine.succeed( "curl -k http://localhost:80/metrics" ) + + with subtest("reload"): + machine.succeed("systemctl reload haproxy") + # wait some time to ensure the following request hits the reloaded haproxy + machine.sleep(5) + assert "We are all good!" in machine.succeed( + "curl -k http://localhost:80/index.txt" + ) ''; }) -- cgit 1.4.1 From 09244cbd98d119fdc9b8ead9dfe66b7f1b833ba4 Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Mon, 1 Jun 2020 01:12:43 +0200 Subject: nixos/nscd: set positive hosts caching ttl to 0 This effectively disables nscd's built-in hosts cache, which turns out to be erratic in some cases. We only use nscd these days as a more ABI-neutral NSS dispatcher mechanism. Local caching should still be possible with local resolvers in /etc/resolv.conf (via the `dns` NSS module), or without local resolvers via systemd-networkd (via the `resolve` nss module) We don't set enable-cache to no due to https://github.com/NixOS/nixpkgs/pull/50316#discussion_r241035226. --- nixos/modules/services/system/nscd.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/system/nscd.conf b/nixos/modules/services/system/nscd.conf index 2b7523a7346d..722b883ba420 100644 --- a/nixos/modules/services/system/nscd.conf +++ b/nixos/modules/services/system/nscd.conf @@ -24,7 +24,7 @@ negative-time-to-live netgroup 0 shared netgroup yes enable-cache hosts yes -positive-time-to-live hosts 600 +positive-time-to-live hosts 0 negative-time-to-live hosts 0 shared hosts yes -- cgit 1.4.1 From 523743157ab81af71f84f2f12c8a665b769e3b1d Mon Sep 17 00:00:00 2001 From: Notkea Date: Mon, 1 Jun 2020 10:43:38 +0200 Subject: matrix-appservice-discord: init at 0.5.2 (#62744) * matrix-appservice-discord: init at 0.5.2 * nixos/matrix-appservice-discord: add module --- nixos/modules/module-list.nix | 1 + .../services/misc/matrix-appservice-discord.nix | 162 + pkgs/servers/matrix-appservice-discord/default.nix | 29 + pkgs/servers/matrix-appservice-discord/generate.sh | 10 + .../matrix-appservice-discord/node-composition.nix | 17 + .../matrix-appservice-discord/node-packages.nix | 5251 ++++++++++++++++++++ .../servers/matrix-appservice-discord/package.json | 3 + pkgs/top-level/all-packages.nix | 2 + 8 files changed, 5475 insertions(+) create mode 100644 nixos/modules/services/misc/matrix-appservice-discord.nix create mode 100644 pkgs/servers/matrix-appservice-discord/default.nix create mode 100755 pkgs/servers/matrix-appservice-discord/generate.sh create mode 100644 pkgs/servers/matrix-appservice-discord/node-composition.nix create mode 100644 pkgs/servers/matrix-appservice-discord/node-packages.nix create mode 100644 pkgs/servers/matrix-appservice-discord/package.json (limited to 'nixos/modules') diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index d4e6f753e9f9..a5485f5a3044 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -462,6 +462,7 @@ ./services/misc/lidarr.nix ./services/misc/mame.nix ./services/misc/mathics.nix + ./services/misc/matrix-appservice-discord.nix ./services/misc/matrix-synapse.nix ./services/misc/mbpfan.nix ./services/misc/mediatomb.nix diff --git a/nixos/modules/services/misc/matrix-appservice-discord.nix b/nixos/modules/services/misc/matrix-appservice-discord.nix new file mode 100644 index 000000000000..49c41ff637a8 --- /dev/null +++ b/nixos/modules/services/misc/matrix-appservice-discord.nix @@ -0,0 +1,162 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + dataDir = "/var/lib/matrix-appservice-discord"; + registrationFile = "${dataDir}/discord-registration.yaml"; + appDir = "${pkgs.matrix-appservice-discord}/lib/node_modules/matrix-appservice-discord"; + cfg = config.services.matrix-appservice-discord; + # TODO: switch to configGen.json once RFC42 is implemented + settingsFile = pkgs.writeText "matrix-appservice-discord-settings.json" (builtins.toJSON cfg.settings); + +in { + options = { + services.matrix-appservice-discord = { + enable = mkEnableOption "a bridge between Matrix and Discord"; + + settings = mkOption rec { + # TODO: switch to types.config.json as prescribed by RFC42 once it's implemented + type = types.attrs; + apply = recursiveUpdate default; + default = { + database = { + filename = "${dataDir}/discord.db"; + + # TODO: remove those old config keys once the following issues are solved: + # * https://github.com/Half-Shot/matrix-appservice-discord/issues/490 + # * https://github.com/Half-Shot/matrix-appservice-discord/issues/498 + userStorePath = "${dataDir}/user-store.db"; + roomStorePath = "${dataDir}/room-store.db"; + }; + + # empty values necessary for registration file generation + # actual values defined in environmentFile + auth = { + clientID = ""; + botToken = ""; + }; + }; + example = literalExample '' + { + bridge = { + domain = "public-domain.tld"; + homeserverUrl = "http://public-domain.tld:8008"; + }; + } + ''; + description = '' + config.yaml configuration as a Nix attribute set. + + + + Configuration options should match those described in + + config.sample.yaml. + + + + and + should be set to match the public host name of the Matrix homeserver for webhooks and avatars to work. + + + + Secret tokens should be specified using + instead of this world-readable attribute set. + ''; + }; + + environmentFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File containing environment variables to be passed to the matrix-appservice-discord service, + in which secret tokens can be specified securely by defining values for + APPSERVICE_DISCORD_AUTH_CLIENT_I_D and + APPSERVICE_DISCORD_AUTH_BOT_TOKEN. + ''; + }; + + url = mkOption { + type = types.str; + default = "http://localhost:${toString cfg.port}"; + description = '' + The URL where the application service is listening for HS requests. + ''; + }; + + port = mkOption { + type = types.port; + default = 9005; # from https://github.com/Half-Shot/matrix-appservice-discord/blob/master/package.json#L11 + description = '' + Port number on which the bridge should listen for internal communication with the Matrix homeserver. + ''; + }; + + localpart = mkOption { + type = with types; nullOr str; + default = null; + description = '' + The user_id localpart to assign to the AS. + ''; + }; + + serviceDependencies = mkOption { + type = with types; listOf str; + default = optional config.services.matrix-synapse.enable "matrix-synapse.service"; + description = '' + List of Systemd services to require and wait for when starting the application service, + such as the Matrix homeserver if it's running on the same host. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.matrix-appservice-discord = { + description = "A bridge between Matrix and Discord."; + + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ] ++ cfg.serviceDependencies; + after = [ "network-online.target" ] ++ cfg.serviceDependencies; + + preStart = '' + if [ ! -f '${registrationFile}' ]; then + ${pkgs.matrix-appservice-discord}/bin/matrix-appservice-discord \ + --generate-registration \ + --url=${escapeShellArg cfg.url} \ + ${optionalString (cfg.localpart != null) "--localpart=${escapeShellArg cfg.localpart}"} \ + --config='${settingsFile}' \ + --file='${registrationFile}' + fi + ''; + + serviceConfig = { + Type = "simple"; + Restart = "always"; + + ProtectSystem = "strict"; + ProtectHome = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + + DynamicUser = true; + PrivateTmp = true; + WorkingDirectory = appDir; + StateDirectory = baseNameOf dataDir; + UMask = 0027; + EnvironmentFile = cfg.environmentFile; + + ExecStart = '' + ${pkgs.matrix-appservice-discord}/bin/matrix-appservice-discord \ + --file='${registrationFile}' \ + --config='${settingsFile}' \ + --port='${toString cfg.port}' + ''; + }; + }; + }; + + meta.maintainers = with maintainers; [ pacien ]; +} diff --git a/pkgs/servers/matrix-appservice-discord/default.nix b/pkgs/servers/matrix-appservice-discord/default.nix new file mode 100644 index 000000000000..beb3ad70c791 --- /dev/null +++ b/pkgs/servers/matrix-appservice-discord/default.nix @@ -0,0 +1,29 @@ +{ pkgs, nodejs, stdenv }: + +let + nodePackages = import ./node-composition.nix { + inherit pkgs nodejs; + inherit (stdenv.hostPlatform) system; + }; + +in nodePackages."matrix-appservice-discord-git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2".override { + nativeBuildInputs = [ pkgs.makeWrapper ]; + + postInstall = '' + # compile Typescript sources + npm run build + + # server wrapper + makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord" \ + --add-flags "$out/lib/node_modules/matrix-appservice-discord/build/src/discordas.js" + + # admin tools wrappers + for toolPath in $out/lib/node_modules/matrix-appservice-discord/build/tools/*; do + makeWrapper '${nodejs}/bin/node' "$out/bin/matrix-appservice-discord-$(basename $toolPath .js)" \ + --add-flags "$toolPath" + done + ''; + + # other metadata generated and inherited from ./node-package.nix + meta.maintainers = with stdenv.lib.maintainers; [ pacien ]; +} diff --git a/pkgs/servers/matrix-appservice-discord/generate.sh b/pkgs/servers/matrix-appservice-discord/generate.sh new file mode 100755 index 000000000000..46aeb7d02eae --- /dev/null +++ b/pkgs/servers/matrix-appservice-discord/generate.sh @@ -0,0 +1,10 @@ +##!/usr/bin/env nix-shell +##! nix-shell -i bash -p nodePackages.node2nix + +node2nix \ + --nodejs-12 \ + --node-env ../../development/node-packages/node-env.nix \ + --development \ + --input package.json \ + --output node-packages.nix \ + --composition node-composition.nix diff --git a/pkgs/servers/matrix-appservice-discord/node-composition.nix b/pkgs/servers/matrix-appservice-discord/node-composition.nix new file mode 100644 index 000000000000..42b6358224cf --- /dev/null +++ b/pkgs/servers/matrix-appservice-discord/node-composition.nix @@ -0,0 +1,17 @@ +# This file has been generated by node2nix 1.8.0. Do not edit! + +{pkgs ? import { + inherit system; + }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}: + +let + nodeEnv = import ../../development/node-packages/node-env.nix { + inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile; + inherit nodejs; + libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null; + }; +in +import ./node-packages.nix { + inherit (pkgs) fetchurl fetchgit; + inherit nodeEnv; +} \ No newline at end of file diff --git a/pkgs/servers/matrix-appservice-discord/node-packages.nix b/pkgs/servers/matrix-appservice-discord/node-packages.nix new file mode 100644 index 000000000000..1b9a367d2eb4 --- /dev/null +++ b/pkgs/servers/matrix-appservice-discord/node-packages.nix @@ -0,0 +1,5251 @@ +# This file has been generated by node2nix 1.8.0. Do not edit! + +{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}: + +let + sources = { + "@babel/code-frame-7.8.3" = { + name = "_at_babel_slash_code-frame"; + packageName = "@babel/code-frame"; + version = "7.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz"; + sha512 = "a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g=="; + }; + }; + "@babel/generator-7.9.6" = { + name = "_at_babel_slash_generator"; + packageName = "@babel/generator"; + version = "7.9.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz"; + sha512 = "+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ=="; + }; + }; + "@babel/helper-function-name-7.9.5" = { + name = "_at_babel_slash_helper-function-name"; + packageName = "@babel/helper-function-name"; + version = "7.9.5"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz"; + sha512 = "JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw=="; + }; + }; + "@babel/helper-get-function-arity-7.8.3" = { + name = "_at_babel_slash_helper-get-function-arity"; + packageName = "@babel/helper-get-function-arity"; + version = "7.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz"; + sha512 = "FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA=="; + }; + }; + "@babel/helper-split-export-declaration-7.8.3" = { + name = "_at_babel_slash_helper-split-export-declaration"; + packageName = "@babel/helper-split-export-declaration"; + version = "7.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz"; + sha512 = "3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA=="; + }; + }; + "@babel/helper-validator-identifier-7.9.5" = { + name = "_at_babel_slash_helper-validator-identifier"; + packageName = "@babel/helper-validator-identifier"; + version = "7.9.5"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz"; + sha512 = "/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g=="; + }; + }; + "@babel/highlight-7.9.0" = { + name = "_at_babel_slash_highlight"; + packageName = "@babel/highlight"; + version = "7.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz"; + sha512 = "lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ=="; + }; + }; + "@babel/parser-7.9.6" = { + name = "_at_babel_slash_parser"; + packageName = "@babel/parser"; + version = "7.9.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz"; + sha512 = "AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q=="; + }; + }; + "@babel/template-7.8.6" = { + name = "_at_babel_slash_template"; + packageName = "@babel/template"; + version = "7.8.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz"; + sha512 = "zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg=="; + }; + }; + "@babel/traverse-7.9.6" = { + name = "_at_babel_slash_traverse"; + packageName = "@babel/traverse"; + version = "7.9.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz"; + sha512 = "b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg=="; + }; + }; + "@babel/types-7.9.6" = { + name = "_at_babel_slash_types"; + packageName = "@babel/types"; + version = "7.9.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz"; + sha512 = "qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA=="; + }; + }; + "@istanbuljs/nyc-config-typescript-0.1.3" = { + name = "_at_istanbuljs_slash_nyc-config-typescript"; + packageName = "@istanbuljs/nyc-config-typescript"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@istanbuljs/nyc-config-typescript/-/nyc-config-typescript-0.1.3.tgz"; + sha512 = "EzRFg92bRSD1W/zeuNkeGwph0nkWf+pP2l/lYW4/5hav7RjKKBN5kV1Ix7Tvi0CMu3pC4Wi/U7rNisiJMR3ORg=="; + }; + }; + "@types/chai-3.5.2" = { + name = "_at_types_slash_chai"; + packageName = "@types/chai"; + version = "3.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/chai/-/chai-3.5.2.tgz"; + sha1 = "c11cd2817d3a401b7ba0f5a420f35c56139b1c1e"; + }; + }; + "@types/mocha-5.2.7" = { + name = "_at_types_slash_mocha"; + packageName = "@types/mocha"; + version = "5.2.7"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz"; + sha512 = "NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ=="; + }; + }; + "@types/node-10.17.24" = { + name = "_at_types_slash_node"; + packageName = "@types/node"; + version = "10.17.24"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/node/-/node-10.17.24.tgz"; + sha512 = "5SCfvCxV74kzR3uWgTYiGxrd69TbT1I6+cMx1A5kEly/IVveJBimtAMlXiEyVFn5DvUFewQWxOOiJhlxeQwxgA=="; + }; + }; + "@types/prop-types-15.7.3" = { + name = "_at_types_slash_prop-types"; + packageName = "@types/prop-types"; + version = "15.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz"; + sha512 = "KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="; + }; + }; + "@types/react-16.9.35" = { + name = "_at_types_slash_react"; + packageName = "@types/react"; + version = "16.9.35"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/react/-/react-16.9.35.tgz"; + sha512 = "q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ=="; + }; + }; + "@types/sqlite3-3.1.6" = { + name = "_at_types_slash_sqlite3"; + packageName = "@types/sqlite3"; + version = "3.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.6.tgz"; + sha512 = "OBsK0KIGUICExQ/ZvnPY4cKx5Kz4NcrVyGTIvOL5y4ajXu7r++RfBajfpGfGDmDVCKcoCDX1dO84/oeyeITnxA=="; + }; + }; + "abbrev-1.0.9" = { + name = "abbrev"; + packageName = "abbrev"; + version = "1.0.9"; + src = fetchurl { + url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz"; + sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135"; + }; + }; + "abbrev-1.1.1" = { + name = "abbrev"; + packageName = "abbrev"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"; + sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; + }; + }; + "accepts-1.3.7" = { + name = "accepts"; + packageName = "accepts"; + version = "1.3.7"; + src = fetchurl { + url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz"; + sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA=="; + }; + }; + "acorn-3.3.0" = { + name = "acorn"; + packageName = "acorn"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz"; + sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a"; + }; + }; + "acorn-5.7.4" = { + name = "acorn"; + packageName = "acorn"; + version = "5.7.4"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz"; + sha512 = "1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg=="; + }; + }; + "acorn-jsx-3.0.1" = { + name = "acorn-jsx"; + packageName = "acorn-jsx"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"; + sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b"; + }; + }; + "ajv-4.11.8" = { + name = "ajv"; + packageName = "ajv"; + version = "4.11.8"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz"; + sha1 = "82ffb02b29e662ae53bdc20af15947706739c536"; + }; + }; + "ajv-6.12.2" = { + name = "ajv"; + packageName = "ajv"; + version = "6.12.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz"; + sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ=="; + }; + }; + "ajv-keywords-1.5.1" = { + name = "ajv-keywords"; + packageName = "ajv-keywords"; + version = "1.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz"; + sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c"; + }; + }; + "amdefine-1.0.1" = { + name = "amdefine"; + packageName = "amdefine"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"; + sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5"; + }; + }; + "another-json-0.2.0" = { + name = "another-json"; + packageName = "another-json"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/another-json/-/another-json-0.2.0.tgz"; + sha1 = "b5f4019c973b6dd5c6506a2d93469cb6d32aeedc"; + }; + }; + "ansi-escape-sequences-4.1.0" = { + name = "ansi-escape-sequences"; + packageName = "ansi-escape-sequences"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz"; + sha512 = "dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw=="; + }; + }; + "ansi-escapes-1.4.0" = { + name = "ansi-escapes"; + packageName = "ansi-escapes"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz"; + sha1 = "d3a8a83b319aa67793662b13e761c7911422306e"; + }; + }; + "ansi-regex-2.1.1" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; + sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; + }; + }; + "ansi-regex-3.0.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"; + sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; + }; + }; + "ansi-regex-4.1.0" = { + name = "ansi-regex"; + packageName = "ansi-regex"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"; + sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; + }; + }; + "ansi-styles-2.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; + sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; + }; + }; + "ansi-styles-3.2.1" = { + name = "ansi-styles"; + packageName = "ansi-styles"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"; + sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; + }; + }; + "append-transform-1.0.0" = { + name = "append-transform"; + packageName = "append-transform"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz"; + sha512 = "P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw=="; + }; + }; + "archy-1.0.0" = { + name = "archy"; + packageName = "archy"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz"; + sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"; + }; + }; + "arg-4.1.3" = { + name = "arg"; + packageName = "arg"; + version = "4.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"; + sha512 = "58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="; + }; + }; + "argparse-1.0.10" = { + name = "argparse"; + packageName = "argparse"; + version = "1.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; + sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; + }; + }; + "array-back-1.0.4" = { + name = "array-back"; + packageName = "array-back"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz"; + sha1 = "644ba7f095f7ffcf7c43b5f0dc39d3c1f03c063b"; + }; + }; + "array-back-2.0.0" = { + name = "array-back"; + packageName = "array-back"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz"; + sha512 = "eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw=="; + }; + }; + "array-back-3.1.0" = { + name = "array-back"; + packageName = "array-back"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz"; + sha512 = "TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q=="; + }; + }; + "array-flatten-1.1.1" = { + name = "array-flatten"; + packageName = "array-flatten"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"; + sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; + }; + }; + "asn1-0.2.4" = { + name = "asn1"; + packageName = "asn1"; + version = "0.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; + sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; + }; + }; + "assert-options-0.1.3" = { + name = "assert-options"; + packageName = "assert-options"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-options/-/assert-options-0.1.3.tgz"; + sha512 = "DXrZ5WkCv/igD+H8OmeUTl9k0pBhYSTdyA7DRZoSJERCzQ8Z2v85yDjkhYVnHUOeCXGfCNKaogRbLWQsIQbtpg=="; + }; + }; + "assert-plus-1.0.0" = { + name = "assert-plus"; + packageName = "assert-plus"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; + sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; + }; + }; + "assertion-error-1.1.0" = { + name = "assertion-error"; + packageName = "assertion-error"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz"; + sha512 = "jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="; + }; + }; + "async-0.2.10" = { + name = "async"; + packageName = "async"; + version = "0.2.10"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz"; + sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1"; + }; + }; + "async-1.5.2" = { + name = "async"; + packageName = "async"; + version = "1.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz"; + sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a"; + }; + }; + "async-2.6.3" = { + name = "async"; + packageName = "async"; + version = "2.6.3"; + src = fetchurl { + url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz"; + sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg=="; + }; + }; + "async-limiter-1.0.1" = { + name = "async-limiter"; + packageName = "async-limiter"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"; + sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="; + }; + }; + "asynckit-0.4.0" = { + name = "asynckit"; + packageName = "asynckit"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; + sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; + }; + }; + "aws-sign2-0.7.0" = { + name = "aws-sign2"; + packageName = "aws-sign2"; + version = "0.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; + sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; + }; + }; + "aws4-1.9.1" = { + name = "aws4"; + packageName = "aws4"; + version = "1.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz"; + sha512 = "wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="; + }; + }; + "babel-code-frame-6.26.0" = { + name = "babel-code-frame"; + packageName = "babel-code-frame"; + version = "6.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz"; + sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"; + }; + }; + "babel-runtime-6.26.0" = { + name = "babel-runtime"; + packageName = "babel-runtime"; + version = "6.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"; + sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; + }; + }; + "balanced-match-1.0.0" = { + name = "balanced-match"; + packageName = "balanced-match"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"; + sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; + }; + }; + "base-x-3.0.8" = { + name = "base-x"; + packageName = "base-x"; + version = "3.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/base-x/-/base-x-3.0.8.tgz"; + sha512 = "Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA=="; + }; + }; + "basic-auth-2.0.1" = { + name = "basic-auth"; + packageName = "basic-auth"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz"; + sha512 = "NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg=="; + }; + }; + "bcrypt-pbkdf-1.0.2" = { + name = "bcrypt-pbkdf"; + packageName = "bcrypt-pbkdf"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; + sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; + }; + }; + "better-sqlite3-5.4.3" = { + name = "better-sqlite3"; + packageName = "better-sqlite3"; + version = "5.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-5.4.3.tgz"; + sha512 = "fPp+8f363qQIhuhLyjI4bu657J/FfMtgiiHKfaTsj3RWDkHlWC1yT7c6kHZDnBxzQVoAINuzg553qKmZ4F1rEw=="; + }; + }; + "binary-search-tree-0.2.5" = { + name = "binary-search-tree"; + packageName = "binary-search-tree"; + version = "0.2.5"; + src = fetchurl { + url = "https://registry.npmjs.org/binary-search-tree/-/binary-search-tree-0.2.5.tgz"; + sha1 = "7dbb3b210fdca082450dad2334c304af39bdc784"; + }; + }; + "bintrees-1.0.1" = { + name = "bintrees"; + packageName = "bintrees"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz"; + sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524"; + }; + }; + "bluebird-2.11.0" = { + name = "bluebird"; + packageName = "bluebird"; + version = "2.11.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz"; + sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1"; + }; + }; + "bluebird-3.7.2" = { + name = "bluebird"; + packageName = "bluebird"; + version = "3.7.2"; + src = fetchurl { + url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"; + sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="; + }; + }; + "body-parser-1.19.0" = { + name = "body-parser"; + packageName = "body-parser"; + version = "1.19.0"; + src = fetchurl { + url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz"; + sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw=="; + }; + }; + "brace-expansion-1.1.11" = { + name = "brace-expansion"; + packageName = "brace-expansion"; + version = "1.1.11"; + src = fetchurl { + url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"; + sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; + }; + }; + "browser-request-0.3.3" = { + name = "browser-request"; + packageName = "browser-request"; + version = "0.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz"; + sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17"; + }; + }; + "browser-stdout-1.3.1" = { + name = "browser-stdout"; + packageName = "browser-stdout"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz"; + sha512 = "qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="; + }; + }; + "bs58-4.0.1" = { + name = "bs58"; + packageName = "bs58"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz"; + sha1 = "be161e76c354f6f788ae4071f63f34e8c4f0a42a"; + }; + }; + "buffer-from-1.1.1" = { + name = "buffer-from"; + packageName = "buffer-from"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"; + sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="; + }; + }; + "buffer-writer-2.0.0" = { + name = "buffer-writer"; + packageName = "buffer-writer"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz"; + sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw=="; + }; + }; + "builtin-modules-1.1.1" = { + name = "builtin-modules"; + packageName = "builtin-modules"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"; + sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f"; + }; + }; + "bytes-3.1.0" = { + name = "bytes"; + packageName = "bytes"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz"; + sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="; + }; + }; + "caching-transform-3.0.2" = { + name = "caching-transform"; + packageName = "caching-transform"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz"; + sha512 = "Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w=="; + }; + }; + "caller-path-0.1.0" = { + name = "caller-path"; + packageName = "caller-path"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz"; + sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f"; + }; + }; + "callsites-0.2.0" = { + name = "callsites"; + packageName = "callsites"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz"; + sha1 = "afab96262910a7f33c19a5775825c69f34e350ca"; + }; + }; + "camelcase-5.3.1" = { + name = "camelcase"; + packageName = "camelcase"; + version = "5.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"; + sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="; + }; + }; + "caseless-0.12.0" = { + name = "caseless"; + packageName = "caseless"; + version = "0.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"; + sha1 = "1b681c21ff84033c826543090689420d187151dc"; + }; + }; + "chai-3.5.0" = { + name = "chai"; + packageName = "chai"; + version = "3.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz"; + sha1 = "4d02637b067fe958bdbfdd3a40ec56fef7373247"; + }; + }; + "chalk-1.1.3" = { + name = "chalk"; + packageName = "chalk"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; + sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; + }; + }; + "chalk-2.4.2" = { + name = "chalk"; + packageName = "chalk"; + version = "2.4.2"; + src = fetchurl { + url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"; + sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; + }; + }; + "chownr-1.1.4" = { + name = "chownr"; + packageName = "chownr"; + version = "1.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"; + sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="; + }; + }; + "circular-json-0.3.3" = { + name = "circular-json"; + packageName = "circular-json"; + version = "0.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz"; + sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A=="; + }; + }; + "cli-cursor-1.0.2" = { + name = "cli-cursor"; + packageName = "cli-cursor"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz"; + sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987"; + }; + }; + "cli-width-2.2.1" = { + name = "cli-width"; + packageName = "cli-width"; + version = "2.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz"; + sha512 = "GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw=="; + }; + }; + "cliui-5.0.0" = { + name = "cliui"; + packageName = "cliui"; + version = "5.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz"; + sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA=="; + }; + }; + "co-4.6.0" = { + name = "co"; + packageName = "co"; + version = "4.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz"; + sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"; + }; + }; + "code-point-at-1.1.0" = { + name = "code-point-at"; + packageName = "code-point-at"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"; + sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; + }; + }; + "color-3.0.0" = { + name = "color"; + packageName = "color"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/color/-/color-3.0.0.tgz"; + sha512 = "jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w=="; + }; + }; + "color-convert-1.9.3" = { + name = "color-convert"; + packageName = "color-convert"; + version = "1.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"; + sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; + }; + }; + "color-name-1.1.3" = { + name = "color-name"; + packageName = "color-name"; + version = "1.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; + sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; + }; + }; + "color-string-1.5.3" = { + name = "color-string"; + packageName = "color-string"; + version = "1.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz"; + sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw=="; + }; + }; + "colornames-1.1.1" = { + name = "colornames"; + packageName = "colornames"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz"; + sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96"; + }; + }; + "colors-1.4.0" = { + name = "colors"; + packageName = "colors"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz"; + sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="; + }; + }; + "colorspace-1.1.2" = { + name = "colorspace"; + packageName = "colorspace"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz"; + sha512 = "vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ=="; + }; + }; + "combined-stream-1.0.8" = { + name = "combined-stream"; + packageName = "combined-stream"; + version = "1.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"; + sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; + }; + }; + "command-line-args-4.0.7" = { + name = "command-line-args"; + packageName = "command-line-args"; + version = "4.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/command-line-args/-/command-line-args-4.0.7.tgz"; + sha512 = "aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA=="; + }; + }; + "command-line-usage-4.1.0" = { + name = "command-line-usage"; + packageName = "command-line-usage"; + version = "4.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz"; + sha512 = "MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g=="; + }; + }; + "commander-2.15.1" = { + name = "commander"; + packageName = "commander"; + version = "2.15.1"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz"; + sha512 = "VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="; + }; + }; + "commander-2.20.3" = { + name = "commander"; + packageName = "commander"; + version = "2.20.3"; + src = fetchurl { + url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"; + sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="; + }; + }; + "commondir-1.0.1" = { + name = "commondir"; + packageName = "commondir"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz"; + sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b"; + }; + }; + "concat-map-0.0.1" = { + name = "concat-map"; + packageName = "concat-map"; + version = "0.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; + sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; + }; + }; + "concat-stream-1.6.2" = { + name = "concat-stream"; + packageName = "concat-stream"; + version = "1.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"; + sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="; + }; + }; + "content-disposition-0.5.3" = { + name = "content-disposition"; + packageName = "content-disposition"; + version = "0.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz"; + sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g=="; + }; + }; + "content-type-1.0.4" = { + name = "content-type"; + packageName = "content-type"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"; + sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="; + }; + }; + "convert-source-map-1.7.0" = { + name = "convert-source-map"; + packageName = "convert-source-map"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"; + sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA=="; + }; + }; + "cookie-0.4.0" = { + name = "cookie"; + packageName = "cookie"; + version = "0.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz"; + sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="; + }; + }; + "cookie-signature-1.0.6" = { + name = "cookie-signature"; + packageName = "cookie-signature"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"; + sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; + }; + }; + "core-js-2.6.11" = { + name = "core-js"; + packageName = "core-js"; + version = "2.6.11"; + src = fetchurl { + url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz"; + sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="; + }; + }; + "core-util-is-1.0.2" = { + name = "core-util-is"; + packageName = "core-util-is"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; + sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; + }; + }; + "cp-file-6.2.0" = { + name = "cp-file"; + packageName = "cp-file"; + version = "6.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz"; + sha512 = "fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA=="; + }; + }; + "cross-spawn-4.0.2" = { + name = "cross-spawn"; + packageName = "cross-spawn"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz"; + sha1 = "7b9247621c23adfdd3856004a823cbe397424d41"; + }; + }; + "csstype-2.6.10" = { + name = "csstype"; + packageName = "csstype"; + version = "2.6.10"; + src = fetchurl { + url = "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz"; + sha512 = "D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w=="; + }; + }; + "cycle-1.0.3" = { + name = "cycle"; + packageName = "cycle"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz"; + sha1 = "21e80b2be8580f98b468f379430662b046c34ad2"; + }; + }; + "d-1.0.1" = { + name = "d"; + packageName = "d"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz"; + sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA=="; + }; + }; + "dashdash-1.14.1" = { + name = "dashdash"; + packageName = "dashdash"; + version = "1.14.1"; + src = fetchurl { + url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; + sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; + }; + }; + "debug-2.6.9" = { + name = "debug"; + packageName = "debug"; + version = "2.6.9"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"; + sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="; + }; + }; + "debug-3.1.0" = { + name = "debug"; + packageName = "debug"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"; + sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="; + }; + }; + "debug-4.2.0" = { + name = "debug"; + packageName = "debug"; + version = "4.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz"; + sha512 = "IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg=="; + }; + }; + "decamelize-1.2.0" = { + name = "decamelize"; + packageName = "decamelize"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"; + sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; + }; + }; + "deep-eql-0.1.3" = { + name = "deep-eql"; + packageName = "deep-eql"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz"; + sha1 = "ef558acab8de25206cd713906d74e56930eb69f2"; + }; + }; + "deep-extend-0.6.0" = { + name = "deep-extend"; + packageName = "deep-extend"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"; + sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="; + }; + }; + "deep-is-0.1.3" = { + name = "deep-is"; + packageName = "deep-is"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"; + sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; + }; + }; + "default-require-extensions-2.0.0" = { + name = "default-require-extensions"; + packageName = "default-require-extensions"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz"; + sha1 = "f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"; + }; + }; + "delayed-stream-1.0.0" = { + name = "delayed-stream"; + packageName = "delayed-stream"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; + sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; + }; + }; + "depd-1.1.2" = { + name = "depd"; + packageName = "depd"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"; + sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; + }; + }; + "depd-2.0.0" = { + name = "depd"; + packageName = "depd"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"; + sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="; + }; + }; + "destroy-1.0.4" = { + name = "destroy"; + packageName = "destroy"; + version = "1.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"; + sha1 = "978857442c44749e4206613e37946205826abd80"; + }; + }; + "diagnostics-1.1.1" = { + name = "diagnostics"; + packageName = "diagnostics"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz"; + sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ=="; + }; + }; + "diff-3.5.0" = { + name = "diff"; + packageName = "diff"; + version = "3.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz"; + sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="; + }; + }; + "diff-4.0.2" = { + name = "diff"; + packageName = "diff"; + version = "4.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"; + sha512 = "58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="; + }; + }; + "discord-markdown-2.3.1" = { + name = "discord-markdown"; + packageName = "discord-markdown"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/discord-markdown/-/discord-markdown-2.3.1.tgz"; + sha512 = "hGMhsJnIzBUJ/BXSGwKOTYbgPAJv5huMgrXHzRe4Inxp7D4Wo/iBeoHrfjgtyxf36THffHV6ksTBrnYZg8CD9A=="; + }; + }; + "discord.js-11.6.4" = { + name = "discord.js"; + packageName = "discord.js"; + version = "11.6.4"; + src = fetchurl { + url = "https://registry.npmjs.org/discord.js/-/discord.js-11.6.4.tgz"; + sha512 = "cK6rH1PuGjSjpmEQbnpuTxq1Yv8B89SotyKUFcr4RhnsiZnfBfDOev7DD7v5vhtEyyj51NuMWFoRJzgy/m08Uw=="; + }; + }; + "doctrine-2.1.0" = { + name = "doctrine"; + packageName = "doctrine"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz"; + sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw=="; + }; + }; + "ecc-jsbn-0.1.2" = { + name = "ecc-jsbn"; + packageName = "ecc-jsbn"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; + sha1 = "3a83a904e54353287874c564b7549386849a98c9"; + }; + }; + "ee-first-1.1.1" = { + name = "ee-first"; + packageName = "ee-first"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"; + sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; + }; + }; + "emoji-regex-7.0.3" = { + name = "emoji-regex"; + packageName = "emoji-regex"; + version = "7.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"; + sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; + }; + }; + "enabled-1.0.2" = { + name = "enabled"; + packageName = "enabled"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz"; + sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93"; + }; + }; + "encodeurl-1.0.2" = { + name = "encodeurl"; + packageName = "encodeurl"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"; + sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; + }; + }; + "env-variable-0.0.6" = { + name = "env-variable"; + packageName = "env-variable"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz"; + sha512 = "bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg=="; + }; + }; + "error-ex-1.3.2" = { + name = "error-ex"; + packageName = "error-ex"; + version = "1.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"; + sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="; + }; + }; + "es5-ext-0.10.53" = { + name = "es5-ext"; + packageName = "es5-ext"; + version = "0.10.53"; + src = fetchurl { + url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz"; + sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q=="; + }; + }; + "es6-error-4.1.1" = { + name = "es6-error"; + packageName = "es6-error"; + version = "4.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz"; + sha512 = "Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="; + }; + }; + "es6-iterator-2.0.3" = { + name = "es6-iterator"; + packageName = "es6-iterator"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"; + sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7"; + }; + }; + "es6-map-0.1.5" = { + name = "es6-map"; + packageName = "es6-map"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz"; + sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0"; + }; + }; + "es6-set-0.1.5" = { + name = "es6-set"; + packageName = "es6-set"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz"; + sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1"; + }; + }; + "es6-symbol-3.1.1" = { + name = "es6-symbol"; + packageName = "es6-symbol"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"; + sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"; + }; + }; + "es6-symbol-3.1.3" = { + name = "es6-symbol"; + packageName = "es6-symbol"; + version = "3.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz"; + sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA=="; + }; + }; + "es6-weak-map-2.0.3" = { + name = "es6-weak-map"; + packageName = "es6-weak-map"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz"; + sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA=="; + }; + }; + "escape-html-1.0.3" = { + name = "escape-html"; + packageName = "escape-html"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"; + sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; + }; + }; + "escape-string-regexp-1.0.5" = { + name = "escape-string-regexp"; + packageName = "escape-string-regexp"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; + sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; + }; + }; + "escodegen-1.8.1" = { + name = "escodegen"; + packageName = "escodegen"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz"; + sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018"; + }; + }; + "escope-3.6.0" = { + name = "escope"; + packageName = "escope"; + version = "3.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz"; + sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3"; + }; + }; + "eslint-3.19.0" = { + name = "eslint"; + packageName = "eslint"; + version = "3.19.0"; + src = fetchurl { + url = "https://registry.npmjs.org/eslint/-/eslint-3.19.0.tgz"; + sha1 = "c8fc6201c7f40dd08941b87c085767386a679acc"; + }; + }; + "espree-3.5.4" = { + name = "espree"; + packageName = "espree"; + version = "3.5.4"; + src = fetchurl { + url = "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz"; + sha512 = "yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A=="; + }; + }; + "esprima-2.7.3" = { + name = "esprima"; + packageName = "esprima"; + version = "2.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz"; + sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581"; + }; + }; + "esprima-4.0.1" = { + name = "esprima"; + packageName = "esprima"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; + sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; + }; + }; + "esquery-1.3.1" = { + name = "esquery"; + packageName = "esquery"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz"; + sha512 = "olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ=="; + }; + }; + "esrecurse-4.2.1" = { + name = "esrecurse"; + packageName = "esrecurse"; + version = "4.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz"; + sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ=="; + }; + }; + "estraverse-1.9.3" = { + name = "estraverse"; + packageName = "estraverse"; + version = "1.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz"; + sha1 = "af67f2dc922582415950926091a4005d29c9bb44"; + }; + }; + "estraverse-4.3.0" = { + name = "estraverse"; + packageName = "estraverse"; + version = "4.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"; + sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="; + }; + }; + "estraverse-5.1.0" = { + name = "estraverse"; + packageName = "estraverse"; + version = "5.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz"; + sha512 = "FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw=="; + }; + }; + "esutils-2.0.3" = { + name = "esutils"; + packageName = "esutils"; + version = "2.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"; + sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="; + }; + }; + "etag-1.8.1" = { + name = "etag"; + packageName = "etag"; + version = "1.8.1"; + src = fetchurl { + url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"; + sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; + }; + }; + "event-emitter-0.3.5" = { + name = "event-emitter"; + packageName = "event-emitter"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"; + sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39"; + }; + }; + "eventemitter3-4.0.4" = { + name = "eventemitter3"; + packageName = "eventemitter3"; + version = "4.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz"; + sha512 = "rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ=="; + }; + }; + "exit-hook-1.1.1" = { + name = "exit-hook"; + packageName = "exit-hook"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz"; + sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8"; + }; + }; + "express-4.17.1" = { + name = "express"; + packageName = "express"; + version = "4.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz"; + sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g=="; + }; + }; + "ext-1.4.0" = { + name = "ext"; + packageName = "ext"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz"; + sha512 = "Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A=="; + }; + }; + "extend-3.0.2" = { + name = "extend"; + packageName = "extend"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"; + sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="; + }; + }; + "extsprintf-1.3.0" = { + name = "extsprintf"; + packageName = "extsprintf"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; + sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; + }; + }; + "fast-deep-equal-3.1.1" = { + name = "fast-deep-equal"; + packageName = "fast-deep-equal"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; + sha512 = "8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="; + }; + }; + "fast-json-stable-stringify-2.1.0" = { + name = "fast-json-stable-stringify"; + packageName = "fast-json-stable-stringify"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; + sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="; + }; + }; + "fast-levenshtein-2.0.6" = { + name = "fast-levenshtein"; + packageName = "fast-levenshtein"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; + sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; + }; + }; + "fast-safe-stringify-2.0.7" = { + name = "fast-safe-stringify"; + packageName = "fast-safe-stringify"; + version = "2.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz"; + sha512 = "Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="; + }; + }; + "fecha-2.3.3" = { + name = "fecha"; + packageName = "fecha"; + version = "2.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz"; + sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="; + }; + }; + "figures-1.7.0" = { + name = "figures"; + packageName = "figures"; + version = "1.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz"; + sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"; + }; + }; + "file-entry-cache-2.0.0" = { + name = "file-entry-cache"; + packageName = "file-entry-cache"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz"; + sha1 = "c392990c3e684783d838b8c84a45d8a048458361"; + }; + }; + "file-stream-rotator-0.4.1" = { + name = "file-stream-rotator"; + packageName = "file-stream-rotator"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/file-stream-rotator/-/file-stream-rotator-0.4.1.tgz"; + sha512 = "W3aa3QJEc8BS2MmdVpQiYLKHj3ijpto1gMDlsgCRSKfIUe6MwkcpODGPQ3vZfb0XvCeCqlu9CBQTN7oQri2TZQ=="; + }; + }; + "fill-keys-1.0.2" = { + name = "fill-keys"; + packageName = "fill-keys"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/fill-keys/-/fill-keys-1.0.2.tgz"; + sha1 = "9a8fa36f4e8ad634e3bf6b4f3c8882551452eb20"; + }; + }; + "finalhandler-1.1.2" = { + name = "finalhandler"; + packageName = "finalhandler"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz"; + sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA=="; + }; + }; + "find-cache-dir-2.1.0" = { + name = "find-cache-dir"; + packageName = "find-cache-dir"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz"; + sha512 = "Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ=="; + }; + }; + "find-replace-1.0.3" = { + name = "find-replace"; + packageName = "find-replace"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/find-replace/-/find-replace-1.0.3.tgz"; + sha1 = "b88e7364d2d9c959559f388c66670d6130441fa0"; + }; + }; + "find-up-3.0.0" = { + name = "find-up"; + packageName = "find-up"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"; + sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; + }; + }; + "flat-cache-1.3.4" = { + name = "flat-cache"; + packageName = "flat-cache"; + version = "1.3.4"; + src = fetchurl { + url = "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz"; + sha512 = "VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg=="; + }; + }; + "foreground-child-1.5.6" = { + name = "foreground-child"; + packageName = "foreground-child"; + version = "1.5.6"; + src = fetchurl { + url = "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz"; + sha1 = "4fd71ad2dfde96789b980a5c0a295937cb2f5ce9"; + }; + }; + "forever-agent-0.6.1" = { + name = "forever-agent"; + packageName = "forever-agent"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; + sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; + }; + }; + "form-data-2.3.3" = { + name = "form-data"; + packageName = "form-data"; + version = "2.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; + sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; + }; + }; + "forwarded-0.1.2" = { + name = "forwarded"; + packageName = "forwarded"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"; + sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; + }; + }; + "fresh-0.5.2" = { + name = "fresh"; + packageName = "fresh"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"; + sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; + }; + }; + "fs-minipass-1.2.7" = { + name = "fs-minipass"; + packageName = "fs-minipass"; + version = "1.2.7"; + src = fetchurl { + url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz"; + sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA=="; + }; + }; + "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"; + sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; + }; + }; + "generate-function-2.3.1" = { + name = "generate-function"; + packageName = "generate-function"; + version = "2.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz"; + sha512 = "eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ=="; + }; + }; + "generate-object-property-1.2.0" = { + name = "generate-object-property"; + packageName = "generate-object-property"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz"; + sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0"; + }; + }; + "get-caller-file-2.0.5" = { + name = "get-caller-file"; + packageName = "get-caller-file"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"; + sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="; + }; + }; + "getpass-0.1.7" = { + name = "getpass"; + packageName = "getpass"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"; + sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; + }; + }; + "glob-5.0.15" = { + name = "glob"; + packageName = "glob"; + version = "5.0.15"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz"; + sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"; + }; + }; + "glob-7.1.2" = { + name = "glob"; + packageName = "glob"; + version = "7.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz"; + sha512 = "MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="; + }; + }; + "glob-7.1.6" = { + name = "glob"; + packageName = "glob"; + version = "7.1.6"; + src = fetchurl { + url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"; + sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="; + }; + }; + "globals-11.12.0" = { + name = "globals"; + packageName = "globals"; + version = "11.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"; + sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="; + }; + }; + "globals-9.18.0" = { + name = "globals"; + packageName = "globals"; + version = "9.18.0"; + src = fetchurl { + url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz"; + sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="; + }; + }; + "graceful-fs-4.2.4" = { + name = "graceful-fs"; + packageName = "graceful-fs"; + version = "4.2.4"; + src = fetchurl { + url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz"; + sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="; + }; + }; + "growl-1.10.5" = { + name = "growl"; + packageName = "growl"; + version = "1.10.5"; + src = fetchurl { + url = "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz"; + sha512 = "qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="; + }; + }; + "handlebars-4.7.6" = { + name = "handlebars"; + packageName = "handlebars"; + version = "4.7.6"; + src = fetchurl { + url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz"; + sha512 = "1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA=="; + }; + }; + "har-schema-2.0.0" = { + name = "har-schema"; + packageName = "har-schema"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; + sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; + }; + }; + "har-validator-5.1.3" = { + name = "har-validator"; + packageName = "har-validator"; + version = "5.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"; + sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="; + }; + }; + "has-ansi-2.0.0" = { + name = "has-ansi"; + packageName = "has-ansi"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; + sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; + }; + }; + "has-flag-1.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"; + sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa"; + }; + }; + "has-flag-3.0.0" = { + name = "has-flag"; + packageName = "has-flag"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"; + sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; + }; + }; + "hasha-3.0.0" = { + name = "hasha"; + packageName = "hasha"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz"; + sha1 = "52a32fab8569d41ca69a61ff1a214f8eb7c8bd39"; + }; + }; + "he-1.1.1" = { + name = "he"; + packageName = "he"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz"; + sha1 = "93410fd21b009735151f8868c2f271f3427e23fd"; + }; + }; + "highlight.js-9.18.1" = { + name = "highlight.js"; + packageName = "highlight.js"; + version = "9.18.1"; + src = fetchurl { + url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz"; + sha512 = "OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg=="; + }; + }; + "hosted-git-info-2.8.8" = { + name = "hosted-git-info"; + packageName = "hosted-git-info"; + version = "2.8.8"; + src = fetchurl { + url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; + sha512 = "f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="; + }; + }; + "html-escaper-2.0.2" = { + name = "html-escaper"; + packageName = "html-escaper"; + version = "2.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz"; + sha512 = "H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="; + }; + }; + "http-errors-1.7.2" = { + name = "http-errors"; + packageName = "http-errors"; + version = "1.7.2"; + src = fetchurl { + url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz"; + sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg=="; + }; + }; + "http-signature-1.2.0" = { + name = "http-signature"; + packageName = "http-signature"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; + sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; + }; + }; + "iconv-lite-0.4.24" = { + name = "iconv-lite"; + packageName = "iconv-lite"; + version = "0.4.24"; + src = fetchurl { + url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"; + sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="; + }; + }; + "ignore-3.3.10" = { + name = "ignore"; + packageName = "ignore"; + version = "3.3.10"; + src = fetchurl { + url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz"; + sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug=="; + }; + }; + "immediate-3.0.6" = { + name = "immediate"; + packageName = "immediate"; + version = "3.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz"; + sha1 = "9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"; + }; + }; + "imurmurhash-0.1.4" = { + name = "imurmurhash"; + packageName = "imurmurhash"; + version = "0.1.4"; + src = fetchurl { + url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"; + sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; + }; + }; + "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"; + sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; + }; + }; + "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"; + sha1 = "633c2c83e3da42a502f52466022480f4208261de"; + }; + }; + "inquirer-0.12.0" = { + name = "inquirer"; + packageName = "inquirer"; + version = "0.12.0"; + src = fetchurl { + url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz"; + sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e"; + }; + }; + "integer-2.1.0" = { + name = "integer"; + packageName = "integer"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/integer/-/integer-2.1.0.tgz"; + sha512 = "vBtiSgrEiNocWvvZX1RVfeOKa2mCHLZQ2p9nkQkQZ/BvEiY+6CcUz0eyjvIiewjJoeNidzg2I+tpPJvpyspL1w=="; + }; + }; + "interpret-1.2.0" = { + name = "interpret"; + packageName = "interpret"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz"; + sha512 = "mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="; + }; + }; + "ipaddr.js-1.9.1" = { + name = "ipaddr.js"; + packageName = "ipaddr.js"; + version = "1.9.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"; + sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="; + }; + }; + "is-arrayish-0.2.1" = { + name = "is-arrayish"; + packageName = "is-arrayish"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"; + sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; + }; + }; + "is-arrayish-0.3.2" = { + name = "is-arrayish"; + packageName = "is-arrayish"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz"; + sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="; + }; + }; + "is-fullwidth-code-point-1.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; + sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; + }; + }; + "is-fullwidth-code-point-2.0.0" = { + name = "is-fullwidth-code-point"; + packageName = "is-fullwidth-code-point"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; + sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; + }; + }; + "is-my-ip-valid-1.0.0" = { + name = "is-my-ip-valid"; + packageName = "is-my-ip-valid"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz"; + sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ=="; + }; + }; + "is-my-json-valid-2.20.0" = { + name = "is-my-json-valid"; + packageName = "is-my-json-valid"; + version = "2.20.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.20.0.tgz"; + sha512 = "XTHBZSIIxNsIsZXg7XB5l8z/OBFosl1Wao4tXLpeC7eKU4Vm/kdop2azkPqULwnfGQjmeDIyey9g7afMMtdWAA=="; + }; + }; + "is-object-1.0.1" = { + name = "is-object"; + packageName = "is-object"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz"; + sha1 = "8952688c5ec2ffd6b03ecc85e769e02903083470"; + }; + }; + "is-property-1.0.2" = { + name = "is-property"; + packageName = "is-property"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"; + sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84"; + }; + }; + "is-resolvable-1.1.0" = { + name = "is-resolvable"; + packageName = "is-resolvable"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz"; + sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="; + }; + }; + "is-stream-1.1.0" = { + name = "is-stream"; + packageName = "is-stream"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"; + sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; + }; + }; + "is-typedarray-1.0.0" = { + name = "is-typedarray"; + packageName = "is-typedarray"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; + sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; + }; + }; + "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"; + sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; + }; + }; + "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"; + sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; + }; + }; + "isstream-0.1.2" = { + name = "isstream"; + packageName = "isstream"; + version = "0.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; + sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; + }; + }; + "istanbul-0.4.5" = { + name = "istanbul"; + packageName = "istanbul"; + version = "0.4.5"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz"; + sha1 = "65c7d73d4c4da84d4f3ac310b918fb0b8033733b"; + }; + }; + "istanbul-lib-coverage-2.0.5" = { + name = "istanbul-lib-coverage"; + packageName = "istanbul-lib-coverage"; + version = "2.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz"; + sha512 = "8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA=="; + }; + }; + "istanbul-lib-hook-2.0.7" = { + name = "istanbul-lib-hook"; + packageName = "istanbul-lib-hook"; + version = "2.0.7"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz"; + sha512 = "vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA=="; + }; + }; + "istanbul-lib-instrument-3.3.0" = { + name = "istanbul-lib-instrument"; + packageName = "istanbul-lib-instrument"; + version = "3.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz"; + sha512 = "5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA=="; + }; + }; + "istanbul-lib-report-2.0.8" = { + name = "istanbul-lib-report"; + packageName = "istanbul-lib-report"; + version = "2.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz"; + sha512 = "fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ=="; + }; + }; + "istanbul-lib-source-maps-3.0.6" = { + name = "istanbul-lib-source-maps"; + packageName = "istanbul-lib-source-maps"; + version = "3.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz"; + sha512 = "R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw=="; + }; + }; + "istanbul-reports-2.2.7" = { + name = "istanbul-reports"; + packageName = "istanbul-reports"; + version = "2.2.7"; + src = fetchurl { + url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz"; + sha512 = "uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg=="; + }; + }; + "js-tokens-3.0.2" = { + name = "js-tokens"; + packageName = "js-tokens"; + version = "3.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz"; + sha1 = "9866df395102130e38f7f996bceb65443209c25b"; + }; + }; + "js-tokens-4.0.0" = { + name = "js-tokens"; + packageName = "js-tokens"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"; + sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="; + }; + }; + "js-yaml-3.13.1" = { + name = "js-yaml"; + packageName = "js-yaml"; + version = "3.13.1"; + src = fetchurl { + url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz"; + sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw=="; + }; + }; + "jsbn-0.1.1" = { + name = "jsbn"; + packageName = "jsbn"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"; + sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; + }; + }; + "jsesc-2.5.2" = { + name = "jsesc"; + packageName = "jsesc"; + version = "2.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"; + sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="; + }; + }; + "json-parse-better-errors-1.0.2" = { + name = "json-parse-better-errors"; + packageName = "json-parse-better-errors"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; + sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="; + }; + }; + "json-schema-0.2.3" = { + name = "json-schema"; + packageName = "json-schema"; + version = "0.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; + sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; + }; + }; + "json-schema-traverse-0.4.1" = { + name = "json-schema-traverse"; + packageName = "json-schema-traverse"; + version = "0.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; + sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; + }; + }; + "json-stable-stringify-1.0.1" = { + name = "json-stable-stringify"; + packageName = "json-stable-stringify"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; + sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; + }; + }; + "json-stringify-safe-5.0.1" = { + name = "json-stringify-safe"; + packageName = "json-stringify-safe"; + version = "5.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; + sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; + }; + }; + "jsonify-0.0.0" = { + name = "jsonify"; + packageName = "jsonify"; + version = "0.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"; + sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; + }; + }; + "jsonpointer-4.0.1" = { + name = "jsonpointer"; + packageName = "jsonpointer"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz"; + sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"; + }; + }; + "jsprim-1.4.1" = { + name = "jsprim"; + packageName = "jsprim"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; + sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; + }; + }; + "kuler-1.0.1" = { + name = "kuler"; + packageName = "kuler"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz"; + sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ=="; + }; + }; + "levn-0.3.0" = { + name = "levn"; + packageName = "levn"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"; + sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; + }; + }; + "lie-3.1.1" = { + name = "lie"; + packageName = "lie"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz"; + sha1 = "9a436b2cc7746ca59de7a41fa469b3efb76bd87e"; + }; + }; + "load-json-file-4.0.0" = { + name = "load-json-file"; + packageName = "load-json-file"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz"; + sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b"; + }; + }; + "localforage-1.7.3" = { + name = "localforage"; + packageName = "localforage"; + version = "1.7.3"; + src = fetchurl { + url = "https://registry.npmjs.org/localforage/-/localforage-1.7.3.tgz"; + sha512 = "1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ=="; + }; + }; + "locate-path-3.0.0" = { + name = "locate-path"; + packageName = "locate-path"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"; + sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; + }; + }; + "lodash-4.17.15" = { + name = "lodash"; + packageName = "lodash"; + version = "4.17.15"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz"; + sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="; + }; + }; + "lodash.flattendeep-4.4.0" = { + name = "lodash.flattendeep"; + packageName = "lodash.flattendeep"; + version = "4.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz"; + sha1 = "fb030917f86a3134e5bc9bec0d69e0013ddfedb2"; + }; + }; + "lodash.padend-4.6.1" = { + name = "lodash.padend"; + packageName = "lodash.padend"; + version = "4.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz"; + sha1 = "53ccba047d06e158d311f45da625f4e49e6f166e"; + }; + }; + "logform-1.10.0" = { + name = "logform"; + packageName = "logform"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz"; + sha512 = "em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg=="; + }; + }; + "logform-2.1.2" = { + name = "logform"; + packageName = "logform"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/logform/-/logform-2.1.2.tgz"; + sha512 = "+lZh4OpERDBLqjiwDLpAWNQu6KMjnlXH2ByZwCuSqVPJletw0kTWJf5CgSNAUKn1KUkv3m2cUz/LK8zyEy7wzQ=="; + }; + }; + "loglevel-1.6.1" = { + name = "loglevel"; + packageName = "loglevel"; + version = "1.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz"; + sha1 = "e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"; + }; + }; + "long-4.0.0" = { + name = "long"; + packageName = "long"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/long/-/long-4.0.0.tgz"; + sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="; + }; + }; + "lru-cache-4.1.5" = { + name = "lru-cache"; + packageName = "lru-cache"; + version = "4.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"; + sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="; + }; + }; + "make-dir-2.1.0" = { + name = "make-dir"; + packageName = "make-dir"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz"; + sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA=="; + }; + }; + "make-error-1.3.6" = { + name = "make-error"; + packageName = "make-error"; + version = "1.3.6"; + src = fetchurl { + url = "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"; + sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="; + }; + }; + "manakin-0.5.2" = { + name = "manakin"; + packageName = "manakin"; + version = "0.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/manakin/-/manakin-0.5.2.tgz"; + sha512 = "pfDSB7QYoVg0Io4KMV9hhPoXpj6p0uBscgtyUSKCOFZe8bqgbpStfgnKIbF/ulnr6U3ICu4OqdyxAqBgOhZwBQ=="; + }; + }; + "matrix-appservice-0.3.5" = { + name = "matrix-appservice"; + packageName = "matrix-appservice"; + version = "0.3.5"; + src = fetchurl { + url = "https://registry.npmjs.org/matrix-appservice/-/matrix-appservice-0.3.5.tgz"; + sha512 = "oQcxlpERcUj90QbGjV7t5Ly5/Aze/sUwB9ZrIt1UMFwuNT+CgEzA7cxLDHAiJkXfgoNzFvjVnKJ3203oIuLONQ=="; + }; + }; + "matrix-appservice-bridge-git://github.com/matrix-org/matrix-appservice-bridge#8a7288edf1d1d1d1395a83d330d836d9c9bf1e76" = { + name = "matrix-appservice-bridge"; + packageName = "matrix-appservice-bridge"; + version = "1.8.0"; + src = fetchgit { + url = "git://github.com/matrix-org/matrix-appservice-bridge"; + rev = "8a7288edf1d1d1d1395a83d330d836d9c9bf1e76"; + sha256 = "80eaf5634cd4482f6b10034193d418b02d6a350c7d721cecd03b53aa3b094b34"; + }; + }; + "matrix-js-sdk-1.2.0" = { + name = "matrix-js-sdk"; + packageName = "matrix-js-sdk"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-1.2.0.tgz"; + sha512 = "XqxIm30/ePPQxMpoSZ6560nVZN296E7DI4twGKspII+Pvc0u7p+UHTh3OXwTtPOj3eVo0ptKv3kn/a5SmYzXmQ=="; + }; + }; + "media-typer-0.3.0" = { + name = "media-typer"; + packageName = "media-typer"; + version = "0.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"; + sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; + }; + }; + "merge-descriptors-1.0.1" = { + name = "merge-descriptors"; + packageName = "merge-descriptors"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; + sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; + }; + }; + "merge-source-map-1.1.0" = { + name = "merge-source-map"; + packageName = "merge-source-map"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz"; + sha512 = "Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw=="; + }; + }; + "methods-1.1.2" = { + name = "methods"; + packageName = "methods"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"; + sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; + }; + }; + "mime-1.6.0" = { + name = "mime"; + packageName = "mime"; + version = "1.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"; + sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; + }; + }; + "mime-db-1.44.0" = { + name = "mime-db"; + packageName = "mime-db"; + version = "1.44.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz"; + sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="; + }; + }; + "mime-types-2.1.27" = { + name = "mime-types"; + packageName = "mime-types"; + version = "2.1.27"; + src = fetchurl { + url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz"; + sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w=="; + }; + }; + "minimatch-3.0.4" = { + name = "minimatch"; + packageName = "minimatch"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"; + sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; + }; + }; + "minimist-0.0.8" = { + name = "minimist"; + packageName = "minimist"; + version = "0.0.8"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"; + sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d"; + }; + }; + "minimist-1.2.5" = { + name = "minimist"; + packageName = "minimist"; + version = "1.2.5"; + src = fetchurl { + url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"; + sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; + }; + }; + "minipass-2.9.0" = { + name = "minipass"; + packageName = "minipass"; + version = "2.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz"; + sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg=="; + }; + }; + "minizlib-1.3.3" = { + name = "minizlib"; + packageName = "minizlib"; + version = "1.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz"; + sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q=="; + }; + }; + "mkdirp-0.5.1" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.5.1"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz"; + sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903"; + }; + }; + "mkdirp-0.5.5" = { + name = "mkdirp"; + packageName = "mkdirp"; + version = "0.5.5"; + src = fetchurl { + url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"; + sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; + }; + }; + "mocha-5.2.0" = { + name = "mocha"; + packageName = "mocha"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz"; + sha512 = "2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ=="; + }; + }; + "module-not-found-error-1.0.1" = { + name = "module-not-found-error"; + packageName = "module-not-found-error"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/module-not-found-error/-/module-not-found-error-1.0.1.tgz"; + sha1 = "cf8b4ff4f29640674d6cdd02b0e3bc523c2bbdc0"; + }; + }; + "moment-2.26.0" = { + name = "moment"; + packageName = "moment"; + version = "2.26.0"; + src = fetchurl { + url = "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz"; + sha512 = "oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw=="; + }; + }; + "morgan-1.10.0" = { + name = "morgan"; + packageName = "morgan"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz"; + sha512 = "AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ=="; + }; + }; + "ms-2.0.0" = { + name = "ms"; + packageName = "ms"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"; + sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; + }; + }; + "ms-2.1.1" = { + name = "ms"; + packageName = "ms"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"; + sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="; + }; + }; + "ms-2.1.2" = { + name = "ms"; + packageName = "ms"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"; + sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; + }; + }; + "mute-stream-0.0.5" = { + name = "mute-stream"; + packageName = "mute-stream"; + version = "0.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"; + sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0"; + }; + }; + "natural-compare-1.4.0" = { + name = "natural-compare"; + packageName = "natural-compare"; + version = "1.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"; + sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; + }; + }; + "nedb-1.8.0" = { + name = "nedb"; + packageName = "nedb"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/nedb/-/nedb-1.8.0.tgz"; + sha1 = "0e3502cd82c004d5355a43c9e55577bd7bd91d88"; + }; + }; + "negotiator-0.6.2" = { + name = "negotiator"; + packageName = "negotiator"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz"; + sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="; + }; + }; + "neo-async-2.6.1" = { + name = "neo-async"; + packageName = "neo-async"; + version = "2.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz"; + sha512 = "iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw=="; + }; + }; + "nested-error-stacks-2.1.0" = { + name = "nested-error-stacks"; + packageName = "nested-error-stacks"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz"; + sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug=="; + }; + }; + "next-tick-1.0.0" = { + name = "next-tick"; + packageName = "next-tick"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz"; + sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c"; + }; + }; + "node-html-parser-1.2.16" = { + name = "node-html-parser"; + packageName = "node-html-parser"; + version = "1.2.16"; + src = fetchurl { + url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.2.16.tgz"; + sha512 = "TrLpGov7J9hBdWWREudBreragmRPq2Q5b19Ly66XoZVUZbb8JXkIqHkPbTHKicuVC8jNnkP4bRnNVik4mkPahw=="; + }; + }; + "nopt-3.0.6" = { + name = "nopt"; + packageName = "nopt"; + version = "3.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"; + sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9"; + }; + }; + "normalize-package-data-2.5.0" = { + name = "normalize-package-data"; + packageName = "normalize-package-data"; + version = "2.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz"; + sha512 = "/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA=="; + }; + }; + "number-is-nan-1.0.1" = { + name = "number-is-nan"; + packageName = "number-is-nan"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"; + sha1 = "097b602b53422a522c1afb8790318336941a011d"; + }; + }; + "nyc-14.1.1" = { + name = "nyc"; + packageName = "nyc"; + version = "14.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz"; + sha512 = "OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw=="; + }; + }; + "oauth-sign-0.9.0" = { + name = "oauth-sign"; + packageName = "oauth-sign"; + version = "0.9.0"; + src = fetchurl { + url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; + sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; + }; + }; + "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"; + sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; + }; + }; + "object-hash-1.3.1" = { + name = "object-hash"; + packageName = "object-hash"; + version = "1.3.1"; + src = fetchurl { + url = "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz"; + sha512 = "OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="; + }; + }; + "on-finished-2.3.0" = { + name = "on-finished"; + packageName = "on-finished"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"; + sha1 = "20f1336481b083cd75337992a16971aa2d906947"; + }; + }; + "on-headers-1.0.2" = { + name = "on-headers"; + packageName = "on-headers"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"; + sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="; + }; + }; + "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"; + sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; + }; + }; + "one-time-0.0.4" = { + name = "one-time"; + packageName = "one-time"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz"; + sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e"; + }; + }; + "onetime-1.1.0" = { + name = "onetime"; + packageName = "onetime"; + version = "1.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz"; + sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"; + }; + }; + "optionator-0.8.3" = { + name = "optionator"; + packageName = "optionator"; + version = "0.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz"; + sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="; + }; + }; + "os-homedir-1.0.2" = { + name = "os-homedir"; + packageName = "os-homedir"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"; + sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; + }; + }; + "p-finally-1.0.0" = { + name = "p-finally"; + packageName = "p-finally"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz"; + sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; + }; + }; + "p-limit-2.3.0" = { + name = "p-limit"; + packageName = "p-limit"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"; + sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="; + }; + }; + "p-locate-3.0.0" = { + name = "p-locate"; + packageName = "p-locate"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"; + sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; + }; + }; + "p-queue-6.4.0" = { + name = "p-queue"; + packageName = "p-queue"; + version = "6.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-queue/-/p-queue-6.4.0.tgz"; + sha512 = "X7ddxxiQ+bLR/CUt3/BVKrGcJDNxBr0pEEFKHHB6vTPWNUhgDv36GpIH18RmGM3YGPpBT+JWGjDDqsVGuF0ERw=="; + }; + }; + "p-timeout-3.2.0" = { + name = "p-timeout"; + packageName = "p-timeout"; + version = "3.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz"; + sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg=="; + }; + }; + "p-try-2.2.0" = { + name = "p-try"; + packageName = "p-try"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"; + sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; + }; + }; + "package-hash-3.0.0" = { + name = "package-hash"; + packageName = "package-hash"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz"; + sha512 = "lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA=="; + }; + }; + "packet-reader-1.0.0" = { + name = "packet-reader"; + packageName = "packet-reader"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz"; + sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ=="; + }; + }; + "parse-json-4.0.0" = { + name = "parse-json"; + packageName = "parse-json"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"; + sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; + }; + }; + "parseurl-1.3.3" = { + name = "parseurl"; + packageName = "parseurl"; + version = "1.3.3"; + src = fetchurl { + url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"; + sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="; + }; + }; + "path-exists-3.0.0" = { + name = "path-exists"; + packageName = "path-exists"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"; + sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; + }; + }; + "path-is-absolute-1.0.1" = { + name = "path-is-absolute"; + packageName = "path-is-absolute"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; + sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; + }; + }; + "path-is-inside-1.0.2" = { + name = "path-is-inside"; + packageName = "path-is-inside"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz"; + sha1 = "365417dede44430d1c11af61027facf074bdfc53"; + }; + }; + "path-parse-1.0.6" = { + name = "path-parse"; + packageName = "path-parse"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"; + sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; + }; + }; + "path-to-regexp-0.1.7" = { + name = "path-to-regexp"; + packageName = "path-to-regexp"; + version = "0.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; + sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; + }; + }; + "path-type-3.0.0" = { + name = "path-type"; + packageName = "path-type"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz"; + sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg=="; + }; + }; + "performance-now-2.1.0" = { + name = "performance-now"; + packageName = "performance-now"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; + sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; + }; + }; + "pg-7.11.0" = { + name = "pg"; + packageName = "pg"; + version = "7.11.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pg/-/pg-7.11.0.tgz"; + sha512 = "YO4V7vCmEMGoF390LJaFaohWNKaA2ayoQOEZmiHVcAUF+YsRThpf/TaKCgSvsSE7cDm37Q/Cy3Gz41xiX/XjTw=="; + }; + }; + "pg-connection-string-0.1.3" = { + name = "pg-connection-string"; + packageName = "pg-connection-string"; + version = "0.1.3"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz"; + sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7"; + }; + }; + "pg-int8-1.0.1" = { + name = "pg-int8"; + packageName = "pg-int8"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz"; + sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="; + }; + }; + "pg-minify-1.4.1" = { + name = "pg-minify"; + packageName = "pg-minify"; + version = "1.4.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-minify/-/pg-minify-1.4.1.tgz"; + sha512 = "8aZ9xdx7Pe/ppFYVOqvU5KgmM6ttXjaBlsl9Y8yzrUH4xSNVucJKKOwm4Y4H+LCvzZGjZIm4Rkf2Ajt5ixtkBQ=="; + }; + }; + "pg-pool-2.0.10" = { + name = "pg-pool"; + packageName = "pg-pool"; + version = "2.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.10.tgz"; + sha512 = "qdwzY92bHf3nwzIUcj+zJ0Qo5lpG/YxchahxIN8+ZVmXqkahKXsnl2aiJPHLYN9o5mB/leG+Xh6XKxtP7e0sjg=="; + }; + }; + "pg-promise-8.7.5" = { + name = "pg-promise"; + packageName = "pg-promise"; + version = "8.7.5"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-promise/-/pg-promise-8.7.5.tgz"; + sha512 = "r/OmS1b1i0nA0KHqlbcAoMLoNo3EGUdcZxaseyXnHrzepcS8ciK516Lw6/lIb6AeWI85ZOBSNdiPlw22xoFx3A=="; + }; + }; + "pg-types-2.0.1" = { + name = "pg-types"; + packageName = "pg-types"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pg-types/-/pg-types-2.0.1.tgz"; + sha512 = "b7y6QM1VF5nOeX9ukMQ0h8a9z89mojrBHXfJeSug4mhL0YpxNBm83ot2TROyoAmX/ZOX3UbwVO4EbH7i1ZZNiw=="; + }; + }; + "pgpass-1.0.2" = { + name = "pgpass"; + packageName = "pgpass"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz"; + sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306"; + }; + }; + "pify-3.0.0" = { + name = "pify"; + packageName = "pify"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"; + sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; + }; + }; + "pify-4.0.1" = { + name = "pify"; + packageName = "pify"; + version = "4.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz"; + sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="; + }; + }; + "pkg-dir-3.0.0" = { + name = "pkg-dir"; + packageName = "pkg-dir"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz"; + sha512 = "/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw=="; + }; + }; + "pluralize-1.2.1" = { + name = "pluralize"; + packageName = "pluralize"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz"; + sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45"; + }; + }; + "postgres-array-2.0.0" = { + name = "postgres-array"; + packageName = "postgres-array"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz"; + sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="; + }; + }; + "postgres-bytea-1.0.0" = { + name = "postgres-bytea"; + packageName = "postgres-bytea"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz"; + sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35"; + }; + }; + "postgres-date-1.0.5" = { + name = "postgres-date"; + packageName = "postgres-date"; + version = "1.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.5.tgz"; + sha512 = "pdau6GRPERdAYUQwkBnGKxEfPyhVZXG/JiS44iZWiNdSOWE09N2lUgN6yshuq6fVSon4Pm0VMXd1srUUkLe9iA=="; + }; + }; + "postgres-interval-1.2.0" = { + name = "postgres-interval"; + packageName = "postgres-interval"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz"; + sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="; + }; + }; + "prelude-ls-1.1.2" = { + name = "prelude-ls"; + packageName = "prelude-ls"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"; + sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; + }; + }; + "prism-media-0.0.4" = { + name = "prism-media"; + packageName = "prism-media"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/prism-media/-/prism-media-0.0.4.tgz"; + sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw=="; + }; + }; + "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=="; + }; + }; + "progress-1.1.8" = { + name = "progress"; + packageName = "progress"; + version = "1.1.8"; + src = fetchurl { + url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz"; + sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"; + }; + }; + "prom-client-11.5.3" = { + name = "prom-client"; + packageName = "prom-client"; + version = "11.5.3"; + src = fetchurl { + url = "https://registry.npmjs.org/prom-client/-/prom-client-11.5.3.tgz"; + sha512 = "iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q=="; + }; + }; + "proxy-addr-2.0.6" = { + name = "proxy-addr"; + packageName = "proxy-addr"; + version = "2.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz"; + sha512 = "dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw=="; + }; + }; + "proxyquire-1.8.0" = { + name = "proxyquire"; + packageName = "proxyquire"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/proxyquire/-/proxyquire-1.8.0.tgz"; + sha1 = "02d514a5bed986f04cbb2093af16741535f79edc"; + }; + }; + "pseudomap-1.0.2" = { + name = "pseudomap"; + packageName = "pseudomap"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"; + sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; + }; + }; + "psl-1.8.0" = { + name = "psl"; + packageName = "psl"; + version = "1.8.0"; + src = fetchurl { + url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"; + sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="; + }; + }; + "punycode-2.1.1" = { + name = "punycode"; + packageName = "punycode"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; + sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; + }; + }; + "qs-6.5.2" = { + name = "qs"; + packageName = "qs"; + version = "6.5.2"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; + sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; + }; + }; + "qs-6.7.0" = { + name = "qs"; + packageName = "qs"; + version = "6.7.0"; + src = fetchurl { + url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz"; + sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="; + }; + }; + "range-parser-1.2.1" = { + name = "range-parser"; + packageName = "range-parser"; + version = "1.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"; + sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="; + }; + }; + "raw-body-2.4.0" = { + name = "raw-body"; + packageName = "raw-body"; + version = "2.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz"; + sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q=="; + }; + }; + "read-pkg-3.0.0" = { + name = "read-pkg"; + packageName = "read-pkg"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz"; + sha1 = "9cbc686978fee65d16c00e2b19c237fcf6e38389"; + }; + }; + "read-pkg-up-4.0.0" = { + name = "read-pkg-up"; + packageName = "read-pkg-up"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz"; + sha512 = "6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA=="; + }; + }; + "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=="; + }; + }; + "readline2-1.0.1" = { + name = "readline2"; + packageName = "readline2"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz"; + sha1 = "41059608ffc154757b715d9989d199ffbf372e35"; + }; + }; + "rechoir-0.6.2" = { + name = "rechoir"; + packageName = "rechoir"; + version = "0.6.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"; + sha1 = "85204b54dba82d5742e28c96756ef43af50e3384"; + }; + }; + "reduce-flatten-1.0.1" = { + name = "reduce-flatten"; + packageName = "reduce-flatten"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz"; + sha1 = "258c78efd153ddf93cb561237f61184f3696e327"; + }; + }; + "regenerator-runtime-0.11.1" = { + name = "regenerator-runtime"; + packageName = "regenerator-runtime"; + version = "0.11.1"; + src = fetchurl { + url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; + sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="; + }; + }; + "release-zalgo-1.0.0" = { + name = "release-zalgo"; + packageName = "release-zalgo"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz"; + sha1 = "09700b7e5074329739330e535c5a90fb67851730"; + }; + }; + "request-2.88.2" = { + name = "request"; + packageName = "request"; + version = "2.88.2"; + src = fetchurl { + url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz"; + sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="; + }; + }; + "require-directory-2.1.1" = { + name = "require-directory"; + packageName = "require-directory"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"; + sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; + }; + }; + "require-main-filename-2.0.0" = { + name = "require-main-filename"; + packageName = "require-main-filename"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"; + sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="; + }; + }; + "require-uncached-1.0.3" = { + name = "require-uncached"; + packageName = "require-uncached"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz"; + sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3"; + }; + }; + "resolve-1.1.7" = { + name = "resolve"; + packageName = "resolve"; + version = "1.1.7"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"; + sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b"; + }; + }; + "resolve-1.17.0" = { + name = "resolve"; + packageName = "resolve"; + version = "1.17.0"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz"; + sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="; + }; + }; + "resolve-from-1.0.1" = { + name = "resolve-from"; + packageName = "resolve-from"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz"; + sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"; + }; + }; + "resolve-from-4.0.0" = { + name = "resolve-from"; + packageName = "resolve-from"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"; + sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="; + }; + }; + "restore-cursor-1.0.1" = { + name = "restore-cursor"; + packageName = "restore-cursor"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz"; + sha1 = "34661f46886327fed2991479152252df92daa541"; + }; + }; + "rimraf-2.6.3" = { + name = "rimraf"; + packageName = "rimraf"; + version = "2.6.3"; + src = fetchurl { + url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz"; + sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="; + }; + }; + "run-async-0.1.0" = { + name = "run-async"; + packageName = "run-async"; + version = "0.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz"; + sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389"; + }; + }; + "rx-lite-3.1.2" = { + name = "rx-lite"; + packageName = "rx-lite"; + version = "3.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz"; + sha1 = "19ce502ca572665f3b647b10939f97fd1615f102"; + }; + }; + "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=="; + }; + }; + "semver-4.3.2" = { + name = "semver"; + packageName = "semver"; + version = "4.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz"; + sha1 = "c7a07158a80bedd052355b770d82d6640f803be7"; + }; + }; + "semver-5.7.1" = { + name = "semver"; + packageName = "semver"; + version = "5.7.1"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"; + sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="; + }; + }; + "semver-6.3.0" = { + name = "semver"; + packageName = "semver"; + version = "6.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"; + sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="; + }; + }; + "send-0.17.1" = { + name = "send"; + packageName = "send"; + version = "0.17.1"; + src = fetchurl { + url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz"; + sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg=="; + }; + }; + "serve-static-1.14.1" = { + name = "serve-static"; + packageName = "serve-static"; + version = "1.14.1"; + src = fetchurl { + url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz"; + sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg=="; + }; + }; + "set-blocking-2.0.0" = { + name = "set-blocking"; + packageName = "set-blocking"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"; + sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; + }; + }; + "setprototypeof-1.1.1" = { + name = "setprototypeof"; + packageName = "setprototypeof"; + version = "1.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"; + sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="; + }; + }; + "shelljs-0.7.8" = { + name = "shelljs"; + packageName = "shelljs"; + version = "0.7.8"; + src = fetchurl { + url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz"; + sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3"; + }; + }; + "signal-exit-3.0.3" = { + name = "signal-exit"; + packageName = "signal-exit"; + version = "3.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; + sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; + }; + }; + "simple-markdown-0.7.2" = { + name = "simple-markdown"; + packageName = "simple-markdown"; + version = "0.7.2"; + src = fetchurl { + url = "https://registry.npmjs.org/simple-markdown/-/simple-markdown-0.7.2.tgz"; + sha512 = "XfCvqqzMyzRj4L7eIxJgGaQ2Gaxr20GhTFMB+1yuY8q3xffjzmOg4Q5tC0kcaJPV42NNUHCQDaRK6jzi3/RhrA=="; + }; + }; + "simple-swizzle-0.2.2" = { + name = "simple-swizzle"; + packageName = "simple-swizzle"; + version = "0.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; + sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; + }; + }; + "slice-ansi-0.0.4" = { + name = "slice-ansi"; + packageName = "slice-ansi"; + version = "0.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz"; + sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35"; + }; + }; + "snekfetch-3.6.4" = { + name = "snekfetch"; + packageName = "snekfetch"; + version = "3.6.4"; + src = fetchurl { + url = "https://registry.npmjs.org/snekfetch/-/snekfetch-3.6.4.tgz"; + sha512 = "NjxjITIj04Ffqid5lqr7XdgwM7X61c/Dns073Ly170bPQHLm6jkmelye/eglS++1nfTWktpP6Y2bFXjdPlQqdw=="; + }; + }; + "source-map-0.2.0" = { + name = "source-map"; + packageName = "source-map"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz"; + sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d"; + }; + }; + "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"; + sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; + }; + }; + "source-map-0.6.1" = { + name = "source-map"; + packageName = "source-map"; + version = "0.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"; + sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="; + }; + }; + "source-map-support-0.5.19" = { + name = "source-map-support"; + packageName = "source-map-support"; + version = "0.5.19"; + src = fetchurl { + url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz"; + sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw=="; + }; + }; + "spawn-wrap-1.4.3" = { + name = "spawn-wrap"; + packageName = "spawn-wrap"; + version = "1.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz"; + sha512 = "IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw=="; + }; + }; + "spdx-correct-3.1.1" = { + name = "spdx-correct"; + packageName = "spdx-correct"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz"; + sha512 = "cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w=="; + }; + }; + "spdx-exceptions-2.3.0" = { + name = "spdx-exceptions"; + packageName = "spdx-exceptions"; + version = "2.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; + sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="; + }; + }; + "spdx-expression-parse-3.0.1" = { + name = "spdx-expression-parse"; + packageName = "spdx-expression-parse"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"; + sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q=="; + }; + }; + "spdx-license-ids-3.0.5" = { + name = "spdx-license-ids"; + packageName = "spdx-license-ids"; + version = "3.0.5"; + src = fetchurl { + url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz"; + sha512 = "J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="; + }; + }; + "spex-2.2.0" = { + name = "spex"; + packageName = "spex"; + version = "2.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/spex/-/spex-2.2.0.tgz"; + sha512 = "iwBxqKe4ZKD+P/i/WdzWw5qxmerHvzVb29wQm4zwYaDPuwsTKjS7nbqt8OyBSLAi2q0ZFUN3F2b4erX0UwF0fA=="; + }; + }; + "split-1.0.1" = { + name = "split"; + packageName = "split"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/split/-/split-1.0.1.tgz"; + sha512 = "mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg=="; + }; + }; + "sprintf-js-1.0.3" = { + name = "sprintf-js"; + packageName = "sprintf-js"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; + sha1 = "04e6926f662895354f3dd015203633b857297e2c"; + }; + }; + "sshpk-1.16.1" = { + name = "sshpk"; + packageName = "sshpk"; + version = "1.16.1"; + src = fetchurl { + url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; + sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; + }; + }; + "stack-trace-0.0.10" = { + name = "stack-trace"; + packageName = "stack-trace"; + version = "0.0.10"; + src = fetchurl { + url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"; + sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0"; + }; + }; + "stackback-0.0.2" = { + name = "stackback"; + packageName = "stackback"; + version = "0.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz"; + sha1 = "1ac8a0d9483848d1695e418b6d031a3c3ce68e3b"; + }; + }; + "statuses-1.5.0" = { + name = "statuses"; + packageName = "statuses"; + version = "1.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"; + sha1 = "161c7dac177659fd9811f43771fa99381478628c"; + }; + }; + "string-width-1.0.2" = { + name = "string-width"; + packageName = "string-width"; + version = "1.0.2"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"; + sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; + }; + }; + "string-width-2.1.1" = { + name = "string-width"; + packageName = "string-width"; + version = "2.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"; + sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="; + }; + }; + "string-width-3.1.0" = { + name = "string-width"; + packageName = "string-width"; + version = "3.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"; + sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; + }; + }; + "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-ansi-3.0.1" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "3.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; + sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; + }; + }; + "strip-ansi-4.0.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"; + sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; + }; + }; + "strip-ansi-5.2.0" = { + name = "strip-ansi"; + packageName = "strip-ansi"; + version = "5.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"; + sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; + }; + }; + "strip-bom-3.0.0" = { + name = "strip-bom"; + packageName = "strip-bom"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"; + sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"; + }; + }; + "strip-json-comments-2.0.1" = { + name = "strip-json-comments"; + packageName = "strip-json-comments"; + version = "2.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; + sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; + }; + }; + "supports-color-2.0.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; + sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; + }; + }; + "supports-color-3.2.3" = { + name = "supports-color"; + packageName = "supports-color"; + version = "3.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"; + sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"; + }; + }; + "supports-color-5.4.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "5.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz"; + sha512 = "zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w=="; + }; + }; + "supports-color-5.5.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "5.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"; + sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; + }; + }; + "supports-color-6.1.0" = { + name = "supports-color"; + packageName = "supports-color"; + version = "6.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz"; + sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ=="; + }; + }; + "table-3.8.3" = { + name = "table"; + packageName = "table"; + version = "3.8.3"; + src = fetchurl { + url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz"; + sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f"; + }; + }; + "table-layout-0.4.5" = { + name = "table-layout"; + packageName = "table-layout"; + version = "0.4.5"; + src = fetchurl { + url = "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz"; + sha512 = "zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw=="; + }; + }; + "tar-4.4.13" = { + name = "tar"; + packageName = "tar"; + version = "4.4.13"; + src = fetchurl { + url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz"; + sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA=="; + }; + }; + "tdigest-0.1.1" = { + name = "tdigest"; + packageName = "tdigest"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz"; + sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021"; + }; + }; + "test-exclude-5.2.3" = { + name = "test-exclude"; + packageName = "test-exclude"; + version = "5.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz"; + sha512 = "M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g=="; + }; + }; + "test-value-2.1.0" = { + name = "test-value"; + packageName = "test-value"; + version = "2.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz"; + sha1 = "11da6ff670f3471a73b625ca4f3fdcf7bb748291"; + }; + }; + "text-hex-1.0.0" = { + name = "text-hex"; + packageName = "text-hex"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz"; + sha512 = "uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="; + }; + }; + "text-table-0.2.0" = { + name = "text-table"; + packageName = "text-table"; + version = "0.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"; + sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; + }; + }; + "through-2.3.8" = { + name = "through"; + packageName = "through"; + version = "2.3.8"; + src = fetchurl { + url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz"; + sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; + }; + }; + "to-fast-properties-2.0.0" = { + name = "to-fast-properties"; + packageName = "to-fast-properties"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; + sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e"; + }; + }; + "toidentifier-1.0.0" = { + name = "toidentifier"; + packageName = "toidentifier"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"; + sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="; + }; + }; + "tough-cookie-2.5.0" = { + name = "tough-cookie"; + packageName = "tough-cookie"; + version = "2.5.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz"; + sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="; + }; + }; + "triple-beam-1.3.0" = { + name = "triple-beam"; + packageName = "triple-beam"; + version = "1.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz"; + sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="; + }; + }; + "ts-node-8.10.1" = { + name = "ts-node"; + packageName = "ts-node"; + version = "8.10.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ts-node/-/ts-node-8.10.1.tgz"; + sha512 = "bdNz1L4ekHiJul6SHtZWs1ujEKERJnHs4HxN7rjTyyVOFf3HaJ6sLqe6aPG62XTzAB/63pKRh5jTSWL0D7bsvw=="; + }; + }; + "tslib-1.13.0" = { + name = "tslib"; + packageName = "tslib"; + version = "1.13.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz"; + sha512 = "i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="; + }; + }; + "tslint-5.20.1" = { + name = "tslint"; + packageName = "tslint"; + version = "5.20.1"; + src = fetchurl { + url = "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz"; + sha512 = "EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg=="; + }; + }; + "tsutils-2.29.0" = { + name = "tsutils"; + packageName = "tsutils"; + version = "2.29.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz"; + sha512 = "g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA=="; + }; + }; + "tunnel-agent-0.6.0" = { + name = "tunnel-agent"; + packageName = "tunnel-agent"; + version = "0.6.0"; + src = fetchurl { + url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; + sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; + }; + }; + "tweetnacl-0.14.5" = { + name = "tweetnacl"; + packageName = "tweetnacl"; + version = "0.14.5"; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; + sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; + }; + }; + "tweetnacl-1.0.3" = { + name = "tweetnacl"; + packageName = "tweetnacl"; + version = "1.0.3"; + src = fetchurl { + url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz"; + sha512 = "6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw=="; + }; + }; + "type-1.2.0" = { + name = "type"; + packageName = "type"; + version = "1.2.0"; + src = fetchurl { + url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz"; + sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="; + }; + }; + "type-2.0.0" = { + name = "type"; + packageName = "type"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/type/-/type-2.0.0.tgz"; + sha512 = "KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow=="; + }; + }; + "type-check-0.3.2" = { + name = "type-check"; + packageName = "type-check"; + version = "0.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"; + sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; + }; + }; + "type-detect-0.1.1" = { + name = "type-detect"; + packageName = "type-detect"; + version = "0.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz"; + sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822"; + }; + }; + "type-detect-1.0.0" = { + name = "type-detect"; + packageName = "type-detect"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz"; + sha1 = "762217cc06db258ec48908a1298e8b95121e8ea2"; + }; + }; + "type-is-1.6.18" = { + name = "type-is"; + packageName = "type-is"; + version = "1.6.18"; + src = fetchurl { + url = "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"; + sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g=="; + }; + }; + "typedarray-0.0.6" = { + name = "typedarray"; + packageName = "typedarray"; + version = "0.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"; + sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; + }; + }; + "typescript-3.9.3" = { + name = "typescript"; + packageName = "typescript"; + version = "3.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz"; + sha512 = "D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ=="; + }; + }; + "typical-2.6.1" = { + name = "typical"; + packageName = "typical"; + version = "2.6.1"; + src = fetchurl { + url = "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz"; + sha1 = "5c080e5d661cbbe38259d2e70a3c7253e873881d"; + }; + }; + "uglify-js-3.9.3" = { + name = "uglify-js"; + packageName = "uglify-js"; + version = "3.9.3"; + src = fetchurl { + url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.9.3.tgz"; + sha512 = "r5ImcL6QyzQGVimQoov3aL2ZScywrOgBXGndbWrdehKoSvGe/RmiE5Jpw/v+GvxODt6l2tpBXwA7n+qZVlHBMA=="; + }; + }; + "underscore-1.4.4" = { + name = "underscore"; + packageName = "underscore"; + version = "1.4.4"; + src = fetchurl { + url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"; + sha1 = "61a6a32010622afa07963bf325203cf12239d604"; + }; + }; + "unhomoglyph-1.0.6" = { + name = "unhomoglyph"; + packageName = "unhomoglyph"; + version = "1.0.6"; + src = fetchurl { + url = "https://registry.npmjs.org/unhomoglyph/-/unhomoglyph-1.0.6.tgz"; + sha512 = "7uvcWI3hWshSADBu4JpnyYbTVc7YlhF5GDW/oPD5AxIxl34k4wXR3WDkPnzLxkN32LiTCTKMQLtKVZiwki3zGg=="; + }; + }; + "unpipe-1.0.0" = { + name = "unpipe"; + packageName = "unpipe"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"; + sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; + }; + }; + "uri-js-4.2.2" = { + name = "uri-js"; + packageName = "uri-js"; + version = "4.2.2"; + src = fetchurl { + url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; + sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; + }; + }; + "user-home-2.0.0" = { + name = "user-home"; + packageName = "user-home"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz"; + sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"; + }; + }; + "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"; + sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; + }; + }; + "utils-merge-1.0.1" = { + name = "utils-merge"; + packageName = "utils-merge"; + version = "1.0.1"; + src = fetchurl { + url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"; + sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; + }; + }; + "uuid-3.4.0" = { + name = "uuid"; + packageName = "uuid"; + version = "3.4.0"; + src = fetchurl { + url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"; + sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="; + }; + }; + "validate-npm-package-license-3.0.4" = { + name = "validate-npm-package-license"; + packageName = "validate-npm-package-license"; + version = "3.0.4"; + src = fetchurl { + url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; + sha512 = "DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="; + }; + }; + "vary-1.1.2" = { + name = "vary"; + packageName = "vary"; + version = "1.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"; + sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; + }; + }; + "verror-1.10.0" = { + name = "verror"; + packageName = "verror"; + version = "1.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; + sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; + }; + }; + "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=="; + }; + }; + "which-module-2.0.0" = { + name = "which-module"; + packageName = "which-module"; + version = "2.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"; + sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; + }; + }; + "why-is-node-running-2.1.2" = { + name = "why-is-node-running"; + packageName = "why-is-node-running"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.1.2.tgz"; + sha512 = "TwUeoRNMAWy8jAD8oFLtgmYKecZkH3yCtbQ17CYVCxd1WaPJAEB6oqkNgm0o+wIzxJi1oHUkOxMk0M/t5jCGeA=="; + }; + }; + "winston-3.2.1" = { + name = "winston"; + packageName = "winston"; + version = "3.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz"; + sha512 = "zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw=="; + }; + }; + "winston-compat-0.1.5" = { + name = "winston-compat"; + packageName = "winston-compat"; + version = "0.1.5"; + src = fetchurl { + url = "https://registry.npmjs.org/winston-compat/-/winston-compat-0.1.5.tgz"; + sha512 = "EPvPcHT604AV3Ji6d3+vX8ENKIml9VSxMRnPQ+cuK/FX6f3hvPP2hxyoeeCOCFvDrJEujalfcKWlWPvAnFyS9g=="; + }; + }; + "winston-daily-rotate-file-3.10.0" = { + name = "winston-daily-rotate-file"; + packageName = "winston-daily-rotate-file"; + version = "3.10.0"; + src = fetchurl { + url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-3.10.0.tgz"; + sha512 = "KO8CfbI2CvdR3PaFApEH02GPXiwJ+vbkF1mCkTlvRIoXFI8EFlf1ACcuaahXTEiDEKCii6cNe95gsL4ZkbnphA=="; + }; + }; + "winston-transport-4.3.0" = { + name = "winston-transport"; + packageName = "winston-transport"; + version = "4.3.0"; + src = fetchurl { + url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.3.0.tgz"; + sha512 = "B2wPuwUi3vhzn/51Uukcao4dIduEiPOcOt9HJ3QeaXgkJ5Z7UwpBzxS4ZGNHtrxrUvTwemsQiSys0ihOf8Mp1A=="; + }; + }; + "word-wrap-1.2.3" = { + name = "word-wrap"; + packageName = "word-wrap"; + version = "1.2.3"; + src = fetchurl { + url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"; + sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="; + }; + }; + "wordwrap-1.0.0" = { + name = "wordwrap"; + packageName = "wordwrap"; + version = "1.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"; + sha1 = "27584810891456a4171c8d0226441ade90cbcaeb"; + }; + }; + "wordwrapjs-3.0.0" = { + name = "wordwrapjs"; + packageName = "wordwrapjs"; + version = "3.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz"; + sha512 = "mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw=="; + }; + }; + "wrap-ansi-5.1.0" = { + name = "wrap-ansi"; + packageName = "wrap-ansi"; + version = "5.1.0"; + src = fetchurl { + url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz"; + sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q=="; + }; + }; + "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"; + sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; + }; + }; + "write-0.2.1" = { + name = "write"; + packageName = "write"; + version = "0.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/write/-/write-0.2.1.tgz"; + sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757"; + }; + }; + "write-file-atomic-2.4.3" = { + name = "write-file-atomic"; + packageName = "write-file-atomic"; + version = "2.4.3"; + src = fetchurl { + url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz"; + sha512 = "GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ=="; + }; + }; + "ws-6.2.1" = { + name = "ws"; + packageName = "ws"; + version = "6.2.1"; + src = fetchurl { + url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz"; + sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA=="; + }; + }; + "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=="; + }; + }; + "y18n-4.0.0" = { + name = "y18n"; + packageName = "y18n"; + version = "4.0.0"; + src = fetchurl { + url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz"; + sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="; + }; + }; + "yallist-2.1.2" = { + name = "yallist"; + packageName = "yallist"; + version = "2.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"; + sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; + }; + }; + "yallist-3.1.1" = { + name = "yallist"; + packageName = "yallist"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"; + sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="; + }; + }; + "yargs-13.3.2" = { + name = "yargs"; + packageName = "yargs"; + version = "13.3.2"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz"; + sha512 = "AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw=="; + }; + }; + "yargs-parser-13.1.2" = { + name = "yargs-parser"; + packageName = "yargs-parser"; + version = "13.1.2"; + src = fetchurl { + url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz"; + sha512 = "3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg=="; + }; + }; + "yn-3.1.1" = { + name = "yn"; + packageName = "yn"; + version = "3.1.1"; + src = fetchurl { + url = "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"; + sha512 = "Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="; + }; + }; + }; +in +{ + "matrix-appservice-discord-git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2" = nodeEnv.buildNodePackage { + name = "matrix-appservice-discord"; + packageName = "matrix-appservice-discord"; + version = "0.5.2"; + src = fetchgit { + url = "https://github.com/Half-Shot/matrix-appservice-discord.git"; + rev = "a364584411d516f4f73df450bad3e74e40fe016b"; + sha256 = "69a46978dfb9007716446076348a5067f622d970f1ab9417798532345303e551"; + }; + dependencies = [ + sources."@babel/code-frame-7.8.3" + (sources."@babel/generator-7.9.6" // { + dependencies = [ + sources."source-map-0.5.7" + ]; + }) + sources."@babel/helper-function-name-7.9.5" + sources."@babel/helper-get-function-arity-7.8.3" + sources."@babel/helper-split-export-declaration-7.8.3" + sources."@babel/helper-validator-identifier-7.9.5" + sources."@babel/highlight-7.9.0" + sources."@babel/parser-7.9.6" + sources."@babel/template-7.8.6" + (sources."@babel/traverse-7.9.6" // { + dependencies = [ + sources."debug-4.2.0" + sources."globals-11.12.0" + sources."ms-2.1.2" + ]; + }) + sources."@babel/types-7.9.6" + sources."@istanbuljs/nyc-config-typescript-0.1.3" + sources."@types/chai-3.5.2" + sources."@types/mocha-5.2.7" + sources."@types/node-10.17.24" + sources."@types/prop-types-15.7.3" + sources."@types/react-16.9.35" + sources."@types/sqlite3-3.1.6" + sources."abbrev-1.1.1" + sources."accepts-1.3.7" + sources."acorn-5.7.4" + (sources."acorn-jsx-3.0.1" // { + dependencies = [ + sources."acorn-3.3.0" + ]; + }) + sources."ajv-6.12.2" + sources."ajv-keywords-1.5.1" + sources."amdefine-1.0.1" + sources."another-json-0.2.0" + (sources."ansi-escape-sequences-4.1.0" // { + dependencies = [ + sources."array-back-3.1.0" + ]; + }) + sources."ansi-escapes-1.4.0" + sources."ansi-regex-2.1.1" + sources."ansi-styles-3.2.1" + sources."append-transform-1.0.0" + sources."archy-1.0.0" + sources."arg-4.1.3" + sources."argparse-1.0.10" + sources."array-back-2.0.0" + sources."array-flatten-1.1.1" + sources."asn1-0.2.4" + sources."assert-options-0.1.3" + sources."assert-plus-1.0.0" + sources."assertion-error-1.1.0" + sources."async-0.2.10" + sources."async-limiter-1.0.1" + sources."asynckit-0.4.0" + sources."aws-sign2-0.7.0" + sources."aws4-1.9.1" + (sources."babel-code-frame-6.26.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."js-tokens-3.0.2" + sources."supports-color-2.0.0" + ]; + }) + sources."babel-runtime-6.26.0" + sources."balanced-match-1.0.0" + sources."base-x-3.0.8" + (sources."basic-auth-2.0.1" // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + }) + (sources."bcrypt-pbkdf-1.0.2" // { + dependencies = [ + sources."tweetnacl-0.14.5" + ]; + }) + sources."better-sqlite3-5.4.3" + sources."binary-search-tree-0.2.5" + sources."bintrees-1.0.1" + sources."bluebird-2.11.0" + sources."body-parser-1.19.0" + sources."brace-expansion-1.1.11" + sources."browser-request-0.3.3" + sources."browser-stdout-1.3.1" + sources."bs58-4.0.1" + sources."buffer-from-1.1.1" + sources."buffer-writer-2.0.0" + sources."builtin-modules-1.1.1" + sources."bytes-3.1.0" + sources."caching-transform-3.0.2" + sources."caller-path-0.1.0" + sources."callsites-0.2.0" + sources."camelcase-5.3.1" + sources."caseless-0.12.0" + sources."chai-3.5.0" + sources."chalk-2.4.2" + sources."chownr-1.1.4" + sources."circular-json-0.3.3" + sources."cli-cursor-1.0.2" + sources."cli-width-2.2.1" + (sources."cliui-5.0.0" // { + dependencies = [ + sources."ansi-regex-4.1.0" + sources."is-fullwidth-code-point-2.0.0" + sources."string-width-3.1.0" + sources."strip-ansi-5.2.0" + ]; + }) + sources."co-4.6.0" + sources."code-point-at-1.1.0" + sources."color-3.0.0" + sources."color-convert-1.9.3" + sources."color-name-1.1.3" + sources."color-string-1.5.3" + sources."colornames-1.1.1" + sources."colors-1.4.0" + sources."colorspace-1.1.2" + sources."combined-stream-1.0.8" + sources."command-line-args-4.0.7" + sources."command-line-usage-4.1.0" + sources."commander-2.20.3" + sources."commondir-1.0.1" + sources."concat-map-0.0.1" + (sources."concat-stream-1.6.2" // { + dependencies = [ + sources."readable-stream-2.3.7" + sources."safe-buffer-5.1.2" + sources."string_decoder-1.1.1" + ]; + }) + (sources."content-disposition-0.5.3" // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + }) + sources."content-type-1.0.4" + (sources."convert-source-map-1.7.0" // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + }) + sources."cookie-0.4.0" + sources."cookie-signature-1.0.6" + sources."core-js-2.6.11" + sources."core-util-is-1.0.2" + sources."cp-file-6.2.0" + sources."cross-spawn-4.0.2" + sources."csstype-2.6.10" + sources."cycle-1.0.3" + sources."d-1.0.1" + sources."dashdash-1.14.1" + sources."debug-2.6.9" + sources."decamelize-1.2.0" + (sources."deep-eql-0.1.3" // { + dependencies = [ + sources."type-detect-0.1.1" + ]; + }) + sources."deep-extend-0.6.0" + sources."deep-is-0.1.3" + sources."default-require-extensions-2.0.0" + sources."delayed-stream-1.0.0" + sources."depd-1.1.2" + sources."destroy-1.0.4" + sources."diagnostics-1.1.1" + sources."diff-4.0.2" + sources."discord-markdown-2.3.1" + sources."discord.js-11.6.4" + sources."doctrine-2.1.0" + sources."ecc-jsbn-0.1.2" + sources."ee-first-1.1.1" + sources."emoji-regex-7.0.3" + sources."enabled-1.0.2" + sources."encodeurl-1.0.2" + sources."env-variable-0.0.6" + (sources."error-ex-1.3.2" // { + dependencies = [ + sources."is-arrayish-0.2.1" + ]; + }) + sources."es5-ext-0.10.53" + sources."es6-error-4.1.1" + sources."es6-iterator-2.0.3" + sources."es6-map-0.1.5" + (sources."es6-set-0.1.5" // { + dependencies = [ + sources."es6-symbol-3.1.1" + ]; + }) + sources."es6-symbol-3.1.3" + sources."es6-weak-map-2.0.3" + sources."escape-html-1.0.3" + sources."escape-string-regexp-1.0.5" + (sources."escodegen-1.8.1" // { + dependencies = [ + sources."esprima-2.7.3" + sources."estraverse-1.9.3" + ]; + }) + sources."escope-3.6.0" + (sources."eslint-3.19.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."supports-color-2.0.0" + ]; + }) + sources."espree-3.5.4" + sources."esprima-4.0.1" + (sources."esquery-1.3.1" // { + dependencies = [ + sources."estraverse-5.1.0" + ]; + }) + sources."esrecurse-4.2.1" + sources."estraverse-4.3.0" + sources."esutils-2.0.3" + sources."etag-1.8.1" + sources."event-emitter-0.3.5" + sources."eventemitter3-4.0.4" + sources."exit-hook-1.1.1" + (sources."express-4.17.1" // { + dependencies = [ + sources."safe-buffer-5.1.2" + ]; + }) + (sources."ext-1.4.0" // { + dependencies = [ + sources."type-2.0.0" + ]; + }) + sources."extend-3.0.2" + sources."extsprintf-1.3.0" + sources."fast-deep-equal-3.1.1" + sources."fast-json-stable-stringify-2.1.0" + sources."fast-levenshtein-2.0.6" + sources."fast-safe-stringify-2.0.7" + sources."fecha-2.3.3" + sources."figures-1.7.0" + sources."file-entry-cache-2.0.0" + sources."file-stream-rotator-0.4.1" + sources."fill-keys-1.0.2" + sources."finalhandler-1.1.2" + sources."find-cache-dir-2.1.0" + (sources."find-replace-1.0.3" // { + dependencies = [ + sources."array-back-1.0.4" + ]; + }) + sources."find-up-3.0.0" + sources."flat-cache-1.3.4" + sources."foreground-child-1.5.6" + sources."forever-agent-0.6.1" + sources."form-data-2.3.3" + sources."forwarded-0.1.2" + sources."fresh-0.5.2" + sources."fs-minipass-1.2.7" + sources."fs.realpath-1.0.0" + sources."generate-function-2.3.1" + sources."generate-object-property-1.2.0" + sources."get-caller-file-2.0.5" + sources."getpass-0.1.7" + sources."glob-7.1.6" + sources."globals-9.18.0" + sources."graceful-fs-4.2.4" + sources."growl-1.10.5" + (sources."handlebars-4.7.6" // { + dependencies = [ + sources."source-map-0.6.1" + ]; + }) + sources."har-schema-2.0.0" + sources."har-validator-5.1.3" + sources."has-ansi-2.0.0" + sources."has-flag-3.0.0" + sources."hasha-3.0.0" + sources."he-1.1.1" + sources."highlight.js-9.18.1" + sources."hosted-git-info-2.8.8" + sources."html-escaper-2.0.2" + sources."http-errors-1.7.2" + sources."http-signature-1.2.0" + sources."iconv-lite-0.4.24" + sources."ignore-3.3.10" + sources."immediate-3.0.6" + sources."imurmurhash-0.1.4" + sources."inflight-1.0.6" + sources."inherits-2.0.3" + (sources."inquirer-0.12.0" // { + dependencies = [ + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."supports-color-2.0.0" + ]; + }) + sources."integer-2.1.0" + sources."interpret-1.2.0" + sources."ipaddr.js-1.9.1" + sources."is-arrayish-0.3.2" + sources."is-fullwidth-code-point-1.0.0" + sources."is-my-ip-valid-1.0.0" + sources."is-my-json-valid-2.20.0" + sources."is-object-1.0.1" + sources."is-property-1.0.2" + sources."is-resolvable-1.1.0" + sources."is-stream-1.1.0" + sources."is-typedarray-1.0.0" + sources."isarray-1.0.0" + sources."isexe-2.0.0" + sources."isstream-0.1.2" + (sources."istanbul-0.4.5" // { + dependencies = [ + sources."abbrev-1.0.9" + sources."async-1.5.2" + sources."esprima-2.7.3" + sources."glob-5.0.15" + sources."has-flag-1.0.0" + sources."resolve-1.1.7" + sources."supports-color-3.2.3" + ]; + }) + sources."istanbul-lib-coverage-2.0.5" + sources."istanbul-lib-hook-2.0.7" + (sources."istanbul-lib-instrument-3.3.0" // { + dependencies = [ + sources."semver-6.3.0" + ]; + }) + (sources."istanbul-lib-report-2.0.8" // { + dependencies = [ + sources."supports-color-6.1.0" + ]; + }) + (sources."istanbul-lib-source-maps-3.0.6" // { + dependencies = [ + sources."debug-4.2.0" + sources."ms-2.1.2" + sources."source-map-0.6.1" + ]; + }) + sources."istanbul-reports-2.2.7" + sources."js-tokens-4.0.0" + sources."js-yaml-3.13.1" + sources."jsbn-0.1.1" + sources."jsesc-2.5.2" + sources."json-parse-better-errors-1.0.2" + sources."json-schema-0.2.3" + sources."json-schema-traverse-0.4.1" + sources."json-stable-stringify-1.0.1" + sources."json-stringify-safe-5.0.1" + sources."jsonify-0.0.0" + sources."jsonpointer-4.0.1" + sources."jsprim-1.4.1" + sources."kuler-1.0.1" + sources."levn-0.3.0" + sources."lie-3.1.1" + (sources."load-json-file-4.0.0" // { + dependencies = [ + sources."pify-3.0.0" + ]; + }) + sources."localforage-1.7.3" + sources."locate-path-3.0.0" + sources."lodash-4.17.15" + sources."lodash.flattendeep-4.4.0" + sources."lodash.padend-4.6.1" + (sources."logform-2.1.2" // { + dependencies = [ + sources."ms-2.1.2" + ]; + }) + sources."loglevel-1.6.1" + sources."long-4.0.0" + (sources."lru-cache-4.1.5" // { + dependencies = [ + sources."yallist-2.1.2" + ]; + }) + (sources."make-dir-2.1.0" // { + dependencies = [ + sources."semver-5.7.1" + ]; + }) + sources."make-error-1.3.6" + sources."manakin-0.5.2" + sources."matrix-appservice-0.3.5" + sources."matrix-appservice-bridge-git://github.com/matrix-org/matrix-appservice-bridge#8a7288edf1d1d1d1395a83d330d836d9c9bf1e76" + (sources."matrix-js-sdk-1.2.0" // { + dependencies = [ + sources."bluebird-3.7.2" + ]; + }) + sources."media-typer-0.3.0" + sources."merge-descriptors-1.0.1" + (sources."merge-source-map-1.1.0" // { + dependencies = [ + sources."source-map-0.6.1" + ]; + }) + sources."methods-1.1.2" + sources."mime-1.6.0" + sources."mime-db-1.44.0" + sources."mime-types-2.1.27" + sources."minimatch-3.0.4" + sources."minimist-1.2.5" + sources."minipass-2.9.0" + sources."minizlib-1.3.3" + sources."mkdirp-0.5.5" + (sources."mocha-5.2.0" // { + dependencies = [ + sources."commander-2.15.1" + sources."debug-3.1.0" + sources."diff-3.5.0" + sources."glob-7.1.2" + sources."minimist-0.0.8" + sources."mkdirp-0.5.1" + sources."supports-color-5.4.0" + ]; + }) + sources."module-not-found-error-1.0.1" + sources."moment-2.26.0" + (sources."morgan-1.10.0" // { + dependencies = [ + sources."depd-2.0.0" + ]; + }) + sources."ms-2.0.0" + sources."mute-stream-0.0.5" + sources."natural-compare-1.4.0" + sources."nedb-1.8.0" + sources."negotiator-0.6.2" + sources."neo-async-2.6.1" + sources."nested-error-stacks-2.1.0" + sources."next-tick-1.0.0" + sources."node-html-parser-1.2.16" + sources."nopt-3.0.6" + sources."normalize-package-data-2.5.0" + sources."number-is-nan-1.0.1" + (sources."nyc-14.1.1" // { + dependencies = [ + sources."resolve-from-4.0.0" + ]; + }) + sources."oauth-sign-0.9.0" + sources."object-assign-4.1.1" + sources."object-hash-1.3.1" + sources."on-finished-2.3.0" + sources."on-headers-1.0.2" + sources."once-1.4.0" + sources."one-time-0.0.4" + sources."onetime-1.1.0" + sources."optionator-0.8.3" + sources."os-homedir-1.0.2" + sources."p-finally-1.0.0" + sources."p-limit-2.3.0" + sources."p-locate-3.0.0" + sources."p-queue-6.4.0" + sources."p-timeout-3.2.0" + sources."p-try-2.2.0" + sources."package-hash-3.0.0" + sources."packet-reader-1.0.0" + sources."parse-json-4.0.0" + sources."parseurl-1.3.3" + sources."path-exists-3.0.0" + sources."path-is-absolute-1.0.1" + sources."path-is-inside-1.0.2" + sources."path-parse-1.0.6" + sources."path-to-regexp-0.1.7" + (sources."path-type-3.0.0" // { + dependencies = [ + sources."pify-3.0.0" + ]; + }) + sources."performance-now-2.1.0" + sources."pg-7.11.0" + sources."pg-connection-string-0.1.3" + sources."pg-int8-1.0.1" + sources."pg-minify-1.4.1" + sources."pg-pool-2.0.10" + sources."pg-promise-8.7.5" + sources."pg-types-2.0.1" + sources."pgpass-1.0.2" + sources."pify-4.0.1" + sources."pkg-dir-3.0.0" + sources."pluralize-1.2.1" + sources."postgres-array-2.0.0" + sources."postgres-bytea-1.0.0" + sources."postgres-date-1.0.5" + sources."postgres-interval-1.2.0" + sources."prelude-ls-1.1.2" + sources."prism-media-0.0.4" + sources."process-nextick-args-2.0.1" + sources."progress-1.1.8" + sources."prom-client-11.5.3" + sources."proxy-addr-2.0.6" + (sources."proxyquire-1.8.0" // { + dependencies = [ + sources."resolve-1.1.7" + ]; + }) + sources."pseudomap-1.0.2" + sources."psl-1.8.0" + sources."punycode-2.1.1" + sources."qs-6.7.0" + sources."range-parser-1.2.1" + sources."raw-body-2.4.0" + sources."read-pkg-3.0.0" + sources."read-pkg-up-4.0.0" + sources."readable-stream-3.6.0" + sources."readline2-1.0.1" + sources."rechoir-0.6.2" + sources."reduce-flatten-1.0.1" + sources."regenerator-runtime-0.11.1" + sources."release-zalgo-1.0.0" + (sources."request-2.88.2" // { + dependencies = [ + sources."qs-6.5.2" + ]; + }) + sources."require-directory-2.1.1" + sources."require-main-filename-2.0.0" + sources."require-uncached-1.0.3" + sources."resolve-1.17.0" + sources."resolve-from-1.0.1" + sources."restore-cursor-1.0.1" + sources."rimraf-2.6.3" + sources."run-async-0.1.0" + sources."rx-lite-3.1.2" + sources."safe-buffer-5.2.1" + sources."safer-buffer-2.1.2" + sources."semver-4.3.2" + (sources."send-0.17.1" // { + dependencies = [ + sources."ms-2.1.1" + ]; + }) + sources."serve-static-1.14.1" + sources."set-blocking-2.0.0" + sources."setprototypeof-1.1.1" + sources."shelljs-0.7.8" + sources."signal-exit-3.0.3" + sources."simple-markdown-0.7.2" + sources."simple-swizzle-0.2.2" + sources."slice-ansi-0.0.4" + sources."snekfetch-3.6.4" + sources."source-map-0.2.0" + (sources."source-map-support-0.5.19" // { + dependencies = [ + sources."source-map-0.6.1" + ]; + }) + sources."spawn-wrap-1.4.3" + sources."spdx-correct-3.1.1" + sources."spdx-exceptions-2.3.0" + sources."spdx-expression-parse-3.0.1" + sources."spdx-license-ids-3.0.5" + sources."spex-2.2.0" + sources."split-1.0.1" + sources."sprintf-js-1.0.3" + (sources."sshpk-1.16.1" // { + dependencies = [ + sources."tweetnacl-0.14.5" + ]; + }) + sources."stack-trace-0.0.10" + sources."stackback-0.0.2" + sources."statuses-1.5.0" + sources."string-width-1.0.2" + sources."string_decoder-1.3.0" + sources."strip-ansi-3.0.1" + sources."strip-bom-3.0.0" + sources."strip-json-comments-2.0.1" + sources."supports-color-5.5.0" + (sources."table-3.8.3" // { + dependencies = [ + sources."ajv-4.11.8" + sources."ansi-regex-3.0.0" + sources."ansi-styles-2.2.1" + sources."chalk-1.1.3" + sources."is-fullwidth-code-point-2.0.0" + sources."string-width-2.1.1" + sources."strip-ansi-4.0.0" + sources."supports-color-2.0.0" + ]; + }) + sources."table-layout-0.4.5" + sources."tar-4.4.13" + sources."tdigest-0.1.1" + sources."test-exclude-5.2.3" + (sources."test-value-2.1.0" // { + dependencies = [ + sources."array-back-1.0.4" + ]; + }) + sources."text-hex-1.0.0" + sources."text-table-0.2.0" + sources."through-2.3.8" + sources."to-fast-properties-2.0.0" + sources."toidentifier-1.0.0" + sources."tough-cookie-2.5.0" + sources."triple-beam-1.3.0" + sources."ts-node-8.10.1" + sources."tslib-1.13.0" + (sources."tslint-5.20.1" // { + dependencies = [ + sources."semver-5.7.1" + ]; + }) + sources."tsutils-2.29.0" + sources."tunnel-agent-0.6.0" + sources."tweetnacl-1.0.3" + sources."type-1.2.0" + sources."type-check-0.3.2" + sources."type-detect-1.0.0" + sources."type-is-1.6.18" + sources."typedarray-0.0.6" + sources."typescript-3.9.3" + sources."typical-2.6.1" + sources."uglify-js-3.9.3" + sources."underscore-1.4.4" + sources."unhomoglyph-1.0.6" + sources."unpipe-1.0.0" + sources."uri-js-4.2.2" + sources."user-home-2.0.0" + sources."util-deprecate-1.0.2" + sources."utils-merge-1.0.1" + sources."uuid-3.4.0" + sources."validate-npm-package-license-3.0.4" + sources."vary-1.1.2" + sources."verror-1.10.0" + sources."which-1.3.1" + sources."which-module-2.0.0" + sources."why-is-node-running-2.1.2" + (sources."winston-3.2.1" // { + dependencies = [ + sources."async-2.6.3" + ]; + }) + (sources."winston-compat-0.1.5" // { + dependencies = [ + sources."logform-1.10.0" + sources."ms-2.1.2" + ]; + }) + (sources."winston-daily-rotate-file-3.10.0" // { + dependencies = [ + sources."semver-6.3.0" + ]; + }) + (sources."winston-transport-4.3.0" // { + dependencies = [ + sources."readable-stream-2.3.7" + sources."safe-buffer-5.1.2" + sources."string_decoder-1.1.1" + ]; + }) + sources."word-wrap-1.2.3" + sources."wordwrap-1.0.0" + sources."wordwrapjs-3.0.0" + (sources."wrap-ansi-5.1.0" // { + dependencies = [ + sources."ansi-regex-4.1.0" + sources."is-fullwidth-code-point-2.0.0" + sources."string-width-3.1.0" + sources."strip-ansi-5.2.0" + ]; + }) + sources."wrappy-1.0.2" + sources."write-0.2.1" + sources."write-file-atomic-2.4.3" + sources."ws-6.2.1" + sources."xtend-4.0.2" + sources."y18n-4.0.0" + sources."yallist-3.1.1" + (sources."yargs-13.3.2" // { + dependencies = [ + sources."ansi-regex-4.1.0" + sources."is-fullwidth-code-point-2.0.0" + sources."string-width-3.1.0" + sources."strip-ansi-5.2.0" + ]; + }) + sources."yargs-parser-13.1.2" + sources."yn-3.1.1" + ]; + buildInputs = globalBuildInputs; + meta = { + description = "A bridge between Matrix and Discord"; + homepage = "https://github.com/Half-Shot/matrix-appservice-discord#readme"; + license = "Apache-2.0"; + }; + production = false; + bypassCache = true; + reconstructLock = true; + }; +} \ No newline at end of file diff --git a/pkgs/servers/matrix-appservice-discord/package.json b/pkgs/servers/matrix-appservice-discord/package.json new file mode 100644 index 000000000000..1cbeba4a1e99 --- /dev/null +++ b/pkgs/servers/matrix-appservice-discord/package.json @@ -0,0 +1,3 @@ +[ + { "matrix-appservice-discord": "git+https://github.com/Half-Shot/matrix-appservice-discord.git#v0.5.2" } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2f6c5dfea4f8..39e5072b24da 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4708,6 +4708,8 @@ in matrix-appservice-slack = callPackage ../servers/matrix-synapse/matrix-appservice-slack {}; + matrix-appservice-discord = callPackage ../servers/matrix-appservice-discord { }; + mautrix-telegram = recurseIntoAttrs (callPackage ../servers/mautrix-telegram { }); mautrix-whatsapp = callPackage ../servers/mautrix-whatsapp { }; -- cgit 1.4.1 From ab327b27a1d42c8f2fbfe3e174891e695050d738 Mon Sep 17 00:00:00 2001 From: Notkea Date: Mon, 1 Jun 2020 10:45:04 +0200 Subject: nixos/mautrix-telegram: add module (#63589) --- nixos/modules/module-list.nix | 1 + nixos/modules/services/misc/mautrix-telegram.nix | 163 +++++++++++++++++++++++ 2 files changed, 164 insertions(+) create mode 100644 nixos/modules/services/misc/mautrix-telegram.nix (limited to 'nixos/modules') diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index a5485f5a3044..e8c4a4c14cf0 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -464,6 +464,7 @@ ./services/misc/mathics.nix ./services/misc/matrix-appservice-discord.nix ./services/misc/matrix-synapse.nix + ./services/misc/mautrix-telegram.nix ./services/misc/mbpfan.nix ./services/misc/mediatomb.nix ./services/misc/mesos-master.nix diff --git a/nixos/modules/services/misc/mautrix-telegram.nix b/nixos/modules/services/misc/mautrix-telegram.nix new file mode 100644 index 000000000000..78a42fbb574b --- /dev/null +++ b/nixos/modules/services/misc/mautrix-telegram.nix @@ -0,0 +1,163 @@ +{ config, pkgs, lib, ... }: + +with lib; + +let + dataDir = "/var/lib/mautrix-telegram"; + registrationFile = "${dataDir}/telegram-registration.yaml"; + cfg = config.services.mautrix-telegram; + # TODO: switch to configGen.json once RFC42 is implemented + settingsFile = pkgs.writeText "mautrix-telegram-settings.json" (builtins.toJSON cfg.settings); + +in { + options = { + services.mautrix-telegram = { + enable = mkEnableOption "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge"; + + settings = mkOption rec { + # TODO: switch to types.config.json as prescribed by RFC42 once it's implemented + type = types.attrs; + apply = recursiveUpdate default; + default = { + appservice = rec { + database = "sqlite:///${dataDir}/mautrix-telegram.db"; + hostname = "0.0.0.0"; + port = 8080; + address = "http://localhost:${toString port}"; + }; + + bridge = { + permissions."*" = "relaybot"; + relaybot.whitelist = [ ]; + }; + + logging = { + version = 1; + + formatters.precise.format = "[%(levelname)s@%(name)s] %(message)s"; + + handlers.console = { + class = "logging.StreamHandler"; + formatter = "precise"; + }; + + loggers = { + mau.level = "INFO"; + telethon.level = "INFO"; + + # prevent tokens from leaking in the logs: + # https://github.com/tulir/mautrix-telegram/issues/351 + aiohttp.level = "WARNING"; + }; + + # log to console/systemd instead of file + root = { + level = "INFO"; + handlers = [ "console" ]; + }; + }; + }; + example = literalExample '' + { + homeserver = { + address = "http://localhost:8008"; + domain = "public-domain.tld"; + }; + + appservice.public = { + prefix = "/public"; + external = "https://public-appservice-address/public"; + }; + + bridge.permissions = { + "example.com" = "full"; + "@admin:example.com" = "admin"; + }; + } + ''; + description = '' + config.yaml configuration as a Nix attribute set. + Configuration options should match those described in + + example-config.yaml. + + + + Secret tokens should be specified using + instead of this world-readable attribute set. + ''; + }; + + environmentFile = mkOption { + type = types.nullOr types.path; + default = null; + description = '' + File containing environment variables to be passed to the mautrix-telegram service, + in which secret tokens can be specified securely by defining values for + MAUTRIX_TELEGRAM_APPSERVICE_AS_TOKEN, + MAUTRIX_TELEGRAM_APPSERVICE_HS_TOKEN, + MAUTRIX_TELEGRAM_TELEGRAM_API_ID, + MAUTRIX_TELEGRAM_TELEGRAM_API_HASH and optionally + MAUTRIX_TELEGRAM_TELEGRAM_BOT_TOKEN. + ''; + }; + + serviceDependencies = mkOption { + type = with types; listOf str; + default = optional config.services.matrix-synapse.enable "matrix-synapse.service"; + description = '' + List of Systemd services to require and wait for when starting the application service. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.mautrix-telegram = { + description = "Mautrix-Telegram, a Matrix-Telegram hybrid puppeting/relaybot bridge."; + + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ] ++ cfg.serviceDependencies; + after = [ "network-online.target" ] ++ cfg.serviceDependencies; + + preStart = '' + # generate the appservice's registration file if absent + if [ ! -f '${registrationFile}' ]; then + ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ + --generate-registration \ + --base-config='${pkgs.mautrix-telegram}/example-config.yaml' \ + --config='${settingsFile}' \ + --registration='${registrationFile}' + fi + + # run automatic database init and migration scripts + ${pkgs.mautrix-telegram.alembic}/bin/alembic -x config='${settingsFile}' upgrade head + ''; + + serviceConfig = { + Type = "simple"; + Restart = "always"; + + ProtectSystem = "strict"; + ProtectHome = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + + DynamicUser = true; + PrivateTmp = true; + WorkingDirectory = pkgs.mautrix-telegram; # necessary for the database migration scripts to be found + StateDirectory = baseNameOf dataDir; + UMask = 0027; + EnvironmentFile = cfg.environmentFile; + + ExecStart = '' + ${pkgs.mautrix-telegram}/bin/mautrix-telegram \ + --config='${settingsFile}' + ''; + }; + }; + }; + + meta.maintainers = with maintainers; [ pacien vskilet ]; +} -- cgit 1.4.1 From d85dc4f6902819be8277d1d65414e51bfbef0ac6 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Wed, 27 May 2020 22:07:43 +0200 Subject: qemu-vm: fix inconsistent caching of xchg dirs xchg is advertised as a bidirectional exchange dir, but file content transfer from host to VM fails due to caching: If a file is read in the VM and then modified on the host, subsequent re-reads in the VM can yield old, cached data. This is caused by the use of 9p's cache=loose mode that is explicitly meant for read-only mounts. 9p doesn't provide any suitable cache modes, so fix this by disabling caching. Also, remove a now unnecessary sync in the test driver. --- nixos/lib/test-driver/test-driver.py | 1 - nixos/modules/virtualisation/qemu-vm.nix | 2 +- pkgs/build-support/vm/default.nix | 2 +- pkgs/build-support/vm/windows/controller/default.nix | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py index ff6d763989f5..b96165823721 100644 --- a/nixos/lib/test-driver/test-driver.py +++ b/nixos/lib/test-driver/test-driver.py @@ -615,7 +615,6 @@ class Machine: # Copy the file to the shared directory inside VM self.succeed(make_command(["mkdir", "-p", vm_shared_temp])) self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate])) - self.succeed("sync") abs_target = out_dir / target_dir / vm_src.name abs_target.parent.mkdir(exist_ok=True, parents=True) # Copy the file from the shared directory outside VM diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 31d332e9f07a..3ecb8aa11ca3 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -567,7 +567,7 @@ in "/tmp/xchg" = { device = "xchg"; fsType = "9p"; - options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ]; + options = [ "trans=virtio" "version=9p2000.L" ]; neededForBoot = true; }; "/tmp/shared" = diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 488c7f2ce2c7..cdd713be180d 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -115,7 +115,7 @@ rec { echo "mounting host's temporary directory..." mkdir -p /fs/tmp/xchg - mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L,cache=loose + mount -t 9p xchg /fs/tmp/xchg -o trans=virtio,version=9p2000.L mkdir -p /fs/proc mount -t proc none /fs/proc diff --git a/pkgs/build-support/vm/windows/controller/default.nix b/pkgs/build-support/vm/windows/controller/default.nix index 08b93aaf1174..9d13983a2833 100644 --- a/pkgs/build-support/vm/windows/controller/default.nix +++ b/pkgs/build-support/vm/windows/controller/default.nix @@ -53,7 +53,7 @@ let store /fs/nix/store mount -t 9p \ - -o trans=virtio,version=9p2000.L,cache=loose \ + -o trans=virtio,version=9p2000.L \ xchg /fs/xchg echo root:x:0:0::/root:/bin/false > /fs/etc/passwd -- cgit 1.4.1 From da6b277f96980b4e1819714364256573062a6eae Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Tue, 2 Jun 2020 01:48:35 +0200 Subject: nixos/home-assistant: allow arbitrary yaml functions --- nixos/modules/services/misc/home-assistant.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/misc/home-assistant.nix index 86033d02bf3f..8ce2437841b0 100644 --- a/nixos/modules/services/misc/home-assistant.nix +++ b/nixos/modules/services/misc/home-assistant.nix @@ -11,9 +11,9 @@ let (recursiveUpdate defaultConfig cfg.config) else cfg.config)); configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } '' ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out - # Hack to support secrets, that are encoded as custom yaml objects, - # https://www.home-assistant.io/docs/configuration/secrets/ - sed -i -e "s/'\!secret \(.*\)'/\!secret \1/" $out + # Hack to support custom yaml objects, + # i.e. secrets: https://www.home-assistant.io/docs/configuration/secrets/ + sed -i -e "s/'\!\([a-z_]\+\) \(.*\)'/\!\1 \2/;s/^\!\!/\!/;" $out ''; lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json" @@ -120,7 +120,9 @@ in { unit_system = "metric"; time_zone = "UTC"; }; - frontend = { }; + frontend = { + themes = "!include_dir_merge_named themes"; + }; http = { }; feedreader.urls = [ "https://nixos.org/blogs.xml" ]; } -- cgit 1.4.1 From aef2bc1330982264cb533896557bd547e6b39ec7 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 3 Jun 2020 14:57:39 +0200 Subject: nix: 2.3.6 -> 2.3.6 --- nixos/modules/installer/tools/nix-fallback-paths.nix | 8 ++++---- pkgs/tools/package-management/nix/default.nix | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'nixos/modules') diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix index bfd8970d2b2b..35a7b382b7cf 100644 --- a/nixos/modules/installer/tools/nix-fallback-paths.nix +++ b/nixos/modules/installer/tools/nix-fallback-paths.nix @@ -1,6 +1,6 @@ { - x86_64-linux = "/nix/store/xb0nl3z356n0sfrhswfli2g19a19slys-nix-2.3.5"; - i686-linux = "/nix/store/k8kdd4yy1yap6lai5idyhmzcwsjh1fik-nix-2.3.5"; - aarch64-linux = "/nix/store/dr86cbipxqjcb8pf2k0v8wvw0h0adfpz-nix-2.3.5"; - x86_64-darwin = "/nix/store/n6dqdndkv9kac66kdr988kaiyavl44x8-nix-2.3.5"; + x86_64-linux = "/nix/store/j8dbv5w6jl34caywh2ygdy88knx1mdf7-nix-2.3.6"; + i686-linux = "/nix/store/9fqvbdisahqp0238vrs7wn5anpri0a65-nix-2.3.6"; + aarch64-linux = "/nix/store/72pwn0nm9bjqx9vpi8sgh4bl6g5wh814-nix-2.3.6"; + x86_64-darwin = "/nix/store/g37vk77m90p5zcl5nixjlzp3vqpisfn5-nix-2.3.6"; } diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix index 6b512c253cee..12cd23ace673 100644 --- a/pkgs/tools/package-management/nix/default.nix +++ b/pkgs/tools/package-management/nix/default.nix @@ -178,10 +178,10 @@ in rec { nix = nixStable; nixStable = callPackage common (rec { - name = "nix-2.3.5"; + name = "nix-2.3.6"; src = fetchurl { url = "https://nixos.org/releases/nix/${name}/${name}.tar.xz"; - sha256 = "25445353c27d7c2703cd74216bce6458a02068965055d111765ac4186ed678c1"; + sha256 = "05e90529c9dc9f4bf656cbceae61cafdca49935bb79cd291c8f078a095701d89"; }; inherit storeDir stateDir confDir boehmgc; -- cgit 1.4.1 From a6afdbb70bad2c8c400de8288155f8cb325cadd6 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 3 Jun 2020 15:12:21 +0200 Subject: nixos: Allow empty hostnames again This fixes a regression from 993baa587c4 which requires networking.hostName to be a valid DNS label [0]. Unfortunately we missed the fact that the hostnames may also be empty, if the user wants to obtain it from a DHCP server. This is even required by a few modules/images (e.g. Amazon EC2, Azure, and Google Compute). [0]: https://github.com/NixOS/nixpkgs/pull/76542#issuecomment-638138666 --- nixos/modules/tasks/network-interfaces.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules') diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix index a28111049447..78d669669499 100644 --- a/nixos/modules/tasks/network-interfaces.nix +++ b/nixos/modules/tasks/network-interfaces.nix @@ -381,7 +381,7 @@ in # syntax). Note: We also allow underscores for compatibility/legacy # reasons (as undocumented feature): type = types.strMatching - "^[[:alpha:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"; + "^$|^[[:alpha:]]([[:alnum:]_-]{0,61}[[:alnum:]])?$"; description = '' The name of the machine. Leave it empty if you want to obtain it from a DHCP server (if using DHCP). The hostname must be a valid DNS label (see -- cgit 1.4.1