diff options
Diffstat (limited to 'systems/eldiron')
151 files changed, 46820 insertions, 0 deletions
diff --git a/systems/eldiron/base.nix b/systems/eldiron/base.nix new file mode 100644 index 0000000..cda518e --- /dev/null +++ b/systems/eldiron/base.nix | |||
@@ -0,0 +1,371 @@ | |||
1 | { config, pkgs, lib, php, name, secrets, ... }: | ||
2 | { | ||
3 | # ssh-keyscan eldiron | nix-shell -p ssh-to-age --run ssh-to-age | ||
4 | secrets.ageKeys = [ "age1dxr5lhvtnjssfaqpnf6qx80h8gfwkxg3tdf35m6n9wljmk7wadfs3kmahj" ]; | ||
5 | boot = { | ||
6 | kernelModules = [ "kvm-intel" ]; | ||
7 | blacklistedKernelModules = [ "nvidiafb" ]; | ||
8 | loader.timeout = 1; | ||
9 | loader.grub.devices = [ "/dev/sda" "/dev/sdc" ]; | ||
10 | kernel.sysctl = { | ||
11 | # https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md | ||
12 | "net.ipv4.tcp_sack" = 0; | ||
13 | }; | ||
14 | supportedFilesystems = [ "zfs" ]; | ||
15 | kernelParams = ["zfs.zfs_arc_max=6442450944"]; | ||
16 | kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; | ||
17 | initrd.availableKernelModules = [ "ahci" "sd_mod" ]; | ||
18 | initrd.secrets = { | ||
19 | "/boot/pass.key" = "/boot/pass.key"; | ||
20 | }; | ||
21 | }; | ||
22 | services.udev.extraRules = '' | ||
23 | ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="c8:60:00:56:a0:88", NAME="eth0" | ||
24 | ''; | ||
25 | nix.settings.max-jobs = 8; | ||
26 | nixpkgs.config.permittedInsecurePackages = [ | ||
27 | "python-2.7.18.6" # for nagios-cli | ||
28 | "nodejs-16.20.2" # for landing page building | ||
29 | ]; | ||
30 | |||
31 | nixpkgs.overlays = [ | ||
32 | php.overlays.php | ||
33 | ]; | ||
34 | powerManagement.cpuFreqGovernor = "powersave"; | ||
35 | |||
36 | security.acme.certs."${name}".postRun = builtins.concatStringsSep "\n" [ | ||
37 | (lib.optionalString config.services.websites.env.production.enable "/run/current-system/sw/bin/machinectl shell httpd-production /usr/bin/env systemctl reload httpd.service") | ||
38 | (lib.optionalString config.services.websites.env.integration.enable "/run/current-system/sw/bin/machinectl shell httpd-integration /usr/bin/env systemctl reload httpd.service") | ||
39 | ]; | ||
40 | |||
41 | fileSystems = { | ||
42 | # pools: | ||
43 | # zpool: ashift=12 | ||
44 | # zfast: ashift=12 | ||
45 | # zfs: | ||
46 | # zpool/: acltype=posixacl ; xattr=sa ; atime=off ; mountpoint=legacy | ||
47 | # zpool/root: encryption=on ; keyformat=passphrase ; keylocation=file:///boot/pass.key | ||
48 | # zpool/root/var: atime=on | ||
49 | # zfast/: acltype=posixacl ; xattr=sa ; atime=off ; mountpoint=legacy | ||
50 | # zfast/root: encryption=on ; keyformat=passphrase ; keylocation=file:///boot/pass.key | ||
51 | # zfast/root/etc: ø | ||
52 | # zfast/root/nix: ø | ||
53 | # zfast/root/tmp: async=disabled | ||
54 | # zfast/root/var: atime=on | ||
55 | # zfast/root/var/lib: ø | ||
56 | # zfast/root/var/lib/mysql: logbias=throughput ; atime=off ; primarycache=metadata | ||
57 | # zfast/root/var/lib/postgresql: recordsize=8K ; atime=off ; logbias=throughput | ||
58 | # zfast/root/var/lib/postgresql/11.0: ø | ||
59 | # zfast/root/var/lib/postgresql/11.0/pg_wal: ø | ||
60 | "/" = { fsType = "zfs"; device = "zpool/root"; }; | ||
61 | "/boot" = { fsType = "ext4"; device = "/dev/disk/by-uuid/e6bb18fb-ff56-4b5f-ae9f-e60d40dc0622"; }; | ||
62 | "/etc" = { fsType = "zfs"; device = "zpool/root/etc"; }; | ||
63 | "/nix" = { fsType = "zfs"; device = "zfast/root/nix"; }; | ||
64 | "/tmp" = { fsType = "zfs"; device = "zfast/root/tmp"; }; | ||
65 | "/var" = { fsType = "zfs"; device = "zpool/root/var"; }; | ||
66 | "/var/lib/mysql" = { fsType = "zfs"; device = "zfast/root/var/lib/mysql"; }; | ||
67 | "/var/lib/postgresql" = { fsType = "zfs"; device = "zfast/root/var/lib/postgresql"; }; | ||
68 | "/var/lib/postgresql/11.0" = { fsType = "zfs"; device = "zfast/root/var/lib/postgresql/11.0"; }; | ||
69 | "/var/lib/postgresql/11.0/pg_wal" = { fsType = "zfs"; device = "zfast/root/var/lib/postgresql/11.0/pg_wal"; }; | ||
70 | }; | ||
71 | swapDevices = [ { label = "swap1"; } { label = "swap2"; } ]; | ||
72 | hardware.enableRedistributableFirmware = true; | ||
73 | |||
74 | services.zfs = { | ||
75 | autoScrub = { | ||
76 | enable = false; | ||
77 | }; | ||
78 | }; | ||
79 | networking = { | ||
80 | hostId = "8262ca33"; # generated with head -c4 /dev/urandom | od -A none -t x4 | ||
81 | firewall.enable = true; | ||
82 | firewall.allowedTCPPorts = [ config.myEnv.ports.zrepl_flony ]; | ||
83 | # FIXME: on next reboot, remove the /27 and the localCommands | ||
84 | interfaces."eth0".ipv4.addresses = pkgs.lib.flatten (pkgs.lib.attrsets.mapAttrsToList | ||
85 | (n: ips: map (ip: { address = ip; prefixLength = 32; }) (ips.ip4 or [])) | ||
86 | (pkgs.lib.attrsets.filterAttrs (n: v: n != "main") config.hostEnv.ips)) | ||
87 | ++ [ { address = lib.head config.hostEnv.ips.main.ip4; prefixLength = 27; } ]; | ||
88 | interfaces."eth0".ipv6.addresses = pkgs.lib.flatten (pkgs.lib.attrsets.mapAttrsToList | ||
89 | (n: ips: map (ip: { address = ip; prefixLength = (if n == "main" && ip == pkgs.lib.head ips.ip6 then 64 else 128); }) (ips.ip6 or [])) | ||
90 | config.hostEnv.ips); | ||
91 | defaultGateway = "176.9.151.65"; | ||
92 | localCommands = '' | ||
93 | # FIXME: Those commands were added by nixops and may not be | ||
94 | # actually needed | ||
95 | ip -6 addr add '2a01:4f8:160:3445::/64' dev 'eth0' || true | ||
96 | ip -4 route change '176.9.151.64/27' via '176.9.151.65' dev 'eth0' || true | ||
97 | ip -6 route add default via 'fe80::1' dev eth0 || true | ||
98 | ''; | ||
99 | nameservers = [ | ||
100 | "213.133.98.98" | ||
101 | "213.133.99.99" | ||
102 | "213.133.100.100" | ||
103 | "2a01:4f8:0:a0a1::add:1010" | ||
104 | "2a01:4f8:0:a102::add:9999" | ||
105 | "2a01:4f8:0:a111::add:9898" | ||
106 | ]; | ||
107 | }; | ||
108 | |||
109 | imports = [ | ||
110 | secrets.nixosModules.users-config-eldiron | ||
111 | ./databases | ||
112 | ./databases/mariadb.nix | ||
113 | ./databases/openldap | ||
114 | ./databases/postgresql.nix | ||
115 | ./databases/redis.nix | ||
116 | |||
117 | |||
118 | ./monitoring.nix | ||
119 | ./ejabberd | ||
120 | ./buildbot | ||
121 | ./coturn.nix | ||
122 | ./dns.nix | ||
123 | ./duply_backup.nix | ||
124 | ./gemini | ||
125 | ./gitolite | ||
126 | |||
127 | ./websites | ||
128 | ./webstats | ||
129 | ./irc.nix | ||
130 | ./pub | ||
131 | ./tasks | ||
132 | ./ftp.nix | ||
133 | ./mpd.nix | ||
134 | ./vpn | ||
135 | ]; | ||
136 | |||
137 | myServices.buildbot.enable = true; | ||
138 | myServices.databases.enable = true; | ||
139 | myServices.gitolite.enable = true; | ||
140 | myServices.monitoring.enable = true; | ||
141 | myServices.irc.enable = true; | ||
142 | myServices.pub.enable = true; | ||
143 | myServices.tasks.enable = true; | ||
144 | myServices.mpd.enable = true; | ||
145 | myServices.dns.enable = true; | ||
146 | myServices.websites.enable = true; | ||
147 | myServices.gemini.enable = true; | ||
148 | myServices.mail.enable = true; | ||
149 | myServices.ejabberd.enable = true; | ||
150 | myServices.vpn.enable = true; | ||
151 | myServices.ftp.enable = true; | ||
152 | |||
153 | myServices.chatonsProperties.hostings.infogerance = { | ||
154 | file.datetime = "2022-08-27T18:50:00"; | ||
155 | hosting = { | ||
156 | name = "Infogérance"; | ||
157 | description = "Administration de serveurs"; | ||
158 | website = "https://www.immae.eu/"; | ||
159 | logo = "https://assets.immae.eu/logo.jpg"; | ||
160 | type = "HOSTEDSERVER"; | ||
161 | status.level = "OK"; | ||
162 | status.description = "OK"; | ||
163 | registration.load = "OPEN"; | ||
164 | install.type = "PACKAGE"; | ||
165 | }; | ||
166 | }; | ||
167 | |||
168 | services.netdata.enable = true; | ||
169 | services.netdata.config.global."memory mode" = "none"; | ||
170 | services.netdata.config.health."enabled" = "no"; | ||
171 | services.netdata.config.web.mode = "none"; | ||
172 | users.users."${config.services.netdata.user}".extraGroups = [ "keys" ]; | ||
173 | services.netdata.configDir."stream.conf" = config.secrets.fullPaths."netdata-stream.conf"; | ||
174 | secrets.keys = { | ||
175 | "ldap/pam_pgsql" = { | ||
176 | user = "root"; | ||
177 | group = "root"; | ||
178 | permissions = "0400"; | ||
179 | text = '' | ||
180 | database = immae | ||
181 | user = immae_auth_read | ||
182 | password = {{ .postgresql.immae_auth_read }} | ||
183 | table = ldap_users | ||
184 | user_column = login | ||
185 | pw_type = function | ||
186 | auth_query = SELECT (mechanism = 'SSHA' AND password = encode(digest( %p || salt, 'sha1'), 'hex')) FROM ldap_users WHERE login = %u OR login || '@' || realm = %u | ||
187 | #pwd_query = WITH newsalt as (select gen_random_bytes(4)) UPDATE ldap_users SET password = encode(digest( %p || (SELECT * FROM newsalt), 'sha1'), 'hex'), salt = (SELECT * FROM newsalt), mechanism = 'SSHA' WHERE login = %u OR login || '@' || realm = %u | ||
188 | ''; | ||
189 | }; | ||
190 | |||
191 | "netdata-stream.conf" = { | ||
192 | user = config.services.netdata.user; | ||
193 | group = config.services.netdata.group; | ||
194 | permissions = "0400"; | ||
195 | text = '' | ||
196 | [stream] | ||
197 | enabled = yes | ||
198 | destination = ${config.myEnv.monitoring.netdata_aggregator} | ||
199 | api key = ${config.myEnv.monitoring.netdata_keys.eldiron} | ||
200 | ''; | ||
201 | }; | ||
202 | "zrepl_backup/identity" = { | ||
203 | user = "root"; | ||
204 | group = "root"; | ||
205 | permissions = "0400"; | ||
206 | text = config.myEnv.zrepl_backup.ssh_key.private; | ||
207 | }; | ||
208 | "zrepl/${name}.key" = { | ||
209 | permissions = "0400"; | ||
210 | text = config.myEnv.zrepl_backup.certs."${name}".key; | ||
211 | user = "root"; | ||
212 | group = "root"; | ||
213 | }; | ||
214 | } // builtins.listToAttrs (map (x: lib.attrsets.nameValuePair "zrepl/certificates/${x}.crt" { | ||
215 | permissions = "0400"; | ||
216 | text = config.myEnv.zrepl_backup.certs."${x}".certificate; | ||
217 | user = "root"; | ||
218 | group = "root"; | ||
219 | }) (builtins.attrNames config.myEnv.zrepl_backup.certs)); | ||
220 | |||
221 | programs.ssh.knownHosts.dilion = { | ||
222 | extraHostNames = ["dilion.immae.eu"]; | ||
223 | publicKey = config.myEnv.servers.dilion.hostKey; | ||
224 | }; | ||
225 | |||
226 | services.cron = { | ||
227 | enable = true; | ||
228 | mailto = "cron@immae.eu"; | ||
229 | systemCronJobs = [ | ||
230 | '' | ||
231 | 0 0 * * * root journalctl -q --since="25 hours ago" -u postfix -t postfix/smtpd -g "immae.eu.*Recipient address rejected" | ||
232 | # Need a way to blacklist properly | ||
233 | # 0 0 * * * root journalctl -q --since="25 hours ago" -u postfix -t postfix/smtpd -g "NOQUEUE:" | ||
234 | 0 0 * * * root journalctl -q --since="25 hours ago" -u postfix -t postfix/smtp -g "status=bounced" | ||
235 | '' | ||
236 | ]; | ||
237 | }; | ||
238 | |||
239 | environment.systemPackages = [ pkgs.bindfs ]; | ||
240 | |||
241 | environment.etc."mdadm.conf" = { | ||
242 | enable = true; | ||
243 | mode = "0644"; | ||
244 | user = "root"; | ||
245 | text = "MAILADDR ${config.myEnv.monitoring.email}"; | ||
246 | }; | ||
247 | |||
248 | systemd.services.zrepl.path = [ pkgs.openssh ]; | ||
249 | services.zrepl = { | ||
250 | enable = true; | ||
251 | settings = { | ||
252 | jobs = [ | ||
253 | { | ||
254 | type = "push"; | ||
255 | # must not change | ||
256 | name = "backup-to-dilion"; | ||
257 | filesystems."zpool/root" = true; | ||
258 | filesystems."zpool/root/etc" = true; | ||
259 | filesystems."zpool/root/var<" = true; | ||
260 | connect = { | ||
261 | address = "dilion.immae.eu:19000"; | ||
262 | type = "tls"; | ||
263 | server_cn = "dilion"; | ||
264 | ca = config.secrets.fullPaths."zrepl/certificates/dilion.crt"; | ||
265 | cert = config.secrets.fullPaths."zrepl/certificates/eldiron.crt"; | ||
266 | key = config.secrets.fullPaths."zrepl/eldiron.key"; | ||
267 | }; | ||
268 | snapshotting = { | ||
269 | type = "periodic"; | ||
270 | prefix = "zrepl_"; | ||
271 | interval = "1h"; | ||
272 | # hooks = [ | ||
273 | # { | ||
274 | # type = "mysql-lock-tables"; | ||
275 | # dsn = "${config.myEnv.zrepl_backup.mysql.user}:${config.myEnv.zrepl_backup.mysql.password}@tcp(localhost)/"; | ||
276 | # filesystems."zpool/root/var" = true; | ||
277 | # } | ||
278 | # { | ||
279 | # type = "command"; | ||
280 | # path = pkgs.writeScript "redis-dump" '' | ||
281 | # #!${pkgs.stdenv.shell} | ||
282 | # ${pkgs.redis}/bin/redis-cli bgsave | ||
283 | # ''; | ||
284 | # err_is_fatal = false; | ||
285 | # filesystems."zpool/root/var" = true; | ||
286 | # } | ||
287 | # ]; | ||
288 | }; | ||
289 | send.encrypted = true; | ||
290 | pruning.keep_sender = [ | ||
291 | { type = "regex"; regex = "^manual_.*"; } | ||
292 | { type = "grid"; grid = "24x1h | 7x1d | 4x7d | 6x30d"; regex = "^zrepl_.*"; } | ||
293 | ]; | ||
294 | pruning.keep_receiver = [ | ||
295 | { type = "regex"; regex = "^manual_.*"; } | ||
296 | { type = "grid"; grid = "6x4h | 7x1d | 4x7d | 6x30d"; regex = "^zrepl_.*"; } | ||
297 | ]; | ||
298 | } | ||
299 | { | ||
300 | type = "source"; | ||
301 | # must not change | ||
302 | name = "backup-to-wd-zpool"; | ||
303 | serve.type = "tls"; | ||
304 | serve.listen = ":${builtins.toString config.myEnv.ports.zrepl_flony}"; | ||
305 | serve.ca = config.secrets.fullPaths."zrepl/certificates/flony.crt"; | ||
306 | serve.cert = config.secrets.fullPaths."zrepl/certificates/eldiron.crt"; | ||
307 | serve.key = config.secrets.fullPaths."zrepl/eldiron.key"; | ||
308 | serve.client_cns = [ "flony" ]; | ||
309 | filesystems."zpool/root" = true; | ||
310 | filesystems."zpool/root/etc" = true; | ||
311 | filesystems."zpool/root/var<" = true; | ||
312 | filesystems."zfast/root/var<" = true; | ||
313 | send.encrypted = true; | ||
314 | snapshotting.type = "manual"; | ||
315 | } | ||
316 | ]; | ||
317 | }; | ||
318 | }; | ||
319 | |||
320 | environment.etc."fail2ban/filter.d/postgresql.conf".text = '' | ||
321 | [Definition] | ||
322 | failregex = <HOST> \S+ FATAL: password authentication failed for user .+$ | ||
323 | <HOST> \S+ FATAL: PAM authentication failed for user.+$ | ||
324 | <HOST> \S+ FATAL: no pg_hba.conf entry for host.+$ | ||
325 | ''; | ||
326 | environment.etc."fail2ban/filter.d/mysqld-auth.local".text = '' | ||
327 | [Definition] | ||
328 | _daemon = mysql[-\w]* | ||
329 | ''; | ||
330 | services.fail2ban.jails.dovecot = '' | ||
331 | enabled = true | ||
332 | ''; | ||
333 | services.fail2ban.jails.postfix-sasl = '' | ||
334 | enabled = true | ||
335 | ''; | ||
336 | services.fail2ban.jails.proftpd = '' | ||
337 | enabled = true | ||
338 | ''; | ||
339 | services.fail2ban.jails.postgresql = '' | ||
340 | enabled = true | ||
341 | port = 5432 | ||
342 | logpath = %(syslog_daemon)s | ||
343 | backend = %(default_backend)s | ||
344 | journalmatch = _SYSTEMD_UNIT=postgresql.service + _COMM=postgres | ||
345 | ''; | ||
346 | services.fail2ban.jails.mysqld-auth = '' | ||
347 | enabled = true | ||
348 | journalmatch = _SYSTEMD_UNIT=mysql.service + _COMM=mysqld | ||
349 | ''; | ||
350 | # This value determines the NixOS release with which your system is | ||
351 | # to be compatible, in order to avoid breaking some software such as | ||
352 | # database servers. You should change this only after NixOS release | ||
353 | # notes say you should. | ||
354 | # https://nixos.org/nixos/manual/release-notes.html | ||
355 | system.stateVersion = "23.05"; # Did you read the comment? | ||
356 | |||
357 | security.pam.services.ldap.text = '' | ||
358 | # Authentication from ldap for pgsql | ||
359 | auth required ${pkgs.pam_pgsql}/lib/security/pam_pgsql.so config_file=/var/secrets/ldap/pam_pgsql | ||
360 | account required ${pkgs.pam_pgsql}/lib/security/pam_pgsql.so config_file=/var/secrets/ldap/pam_pgsql | ||
361 | ''; | ||
362 | services.saslauthd = { | ||
363 | enable = true; | ||
364 | mechanism = "pam"; | ||
365 | }; | ||
366 | environment.etc."sasl2/slapd.conf".text = '' | ||
367 | mech_list: plain | ||
368 | pwcheck_method: saslauthd | ||
369 | saslauthd_path: /run/saslauthd/mux | ||
370 | ''; | ||
371 | } | ||
diff --git a/systems/eldiron/buildbot/default.nix b/systems/eldiron/buildbot/default.nix new file mode 100644 index 0000000..e86b081 --- /dev/null +++ b/systems/eldiron/buildbot/default.nix | |||
@@ -0,0 +1,310 @@ | |||
1 | { lib, pkgs, config, buildbot, ... }: | ||
2 | let | ||
3 | varDir = "/var/lib/buildbot"; | ||
4 | bb-python = buildbot.pythonModule; | ||
5 | in | ||
6 | { | ||
7 | options = { | ||
8 | myServices.buildbot.enable = lib.mkOption { | ||
9 | type = lib.types.bool; | ||
10 | default = false; | ||
11 | description = '' | ||
12 | Whether to enable buildbot. | ||
13 | ''; | ||
14 | }; | ||
15 | }; | ||
16 | |||
17 | config = lib.mkIf config.myServices.buildbot.enable { | ||
18 | myEnv.buildbot.projects.test = { | ||
19 | name = "test"; | ||
20 | workerPort = config.myEnv.ports.buildbot_test; | ||
21 | packages = [ pkgs.git pkgs.gzip pkgs.openssh ]; | ||
22 | pythonPathHome = false; | ||
23 | secrets = { | ||
24 | apprise_webhooks = builtins.concatStringsSep "\n" [ | ||
25 | "{{ .apprise_webhooks.matrix_immae_eu_alert }}" | ||
26 | ]; | ||
27 | notify_xmpp_password = "{{ .xmpp.notify_bot }}"; | ||
28 | }; | ||
29 | activationScript = '' | ||
30 | install -m 0755 -o buildbot -g buildbot -d /var/lib/ftp/release.immae.eu/test | ||
31 | ''; | ||
32 | webhookTokens = [ | ||
33 | "{{ .buildbot.webhookTokens.Immae }}" | ||
34 | "{{ .buildbot.webhookTokens.Immae }}" | ||
35 | ]; | ||
36 | }; | ||
37 | |||
38 | myServices.chatonsProperties.hostings.buildbot = { | ||
39 | file.datetime = "2022-08-21T10:37:00"; | ||
40 | hosting = { | ||
41 | name = "Buildbot"; | ||
42 | description = "Python-based continuous integration testing framework"; | ||
43 | type = "INSTANCE"; | ||
44 | website = "https://git.immae.eu"; | ||
45 | logo = "https://www.buildbot.net/img/icon.png"; | ||
46 | status.level = "OK"; | ||
47 | status.description = "OK"; | ||
48 | registration.load = "OPEN"; | ||
49 | install.type = "PACKAGE"; | ||
50 | guide.user = "https://www.immae.eu/docs/forge-logicielle.html"; | ||
51 | }; | ||
52 | software = { | ||
53 | name = "Buildbot"; | ||
54 | website = "https://www.buildbot.net/"; | ||
55 | license.url = "https://github.com/buildbot/buildbot/blob/master/LICENSE"; | ||
56 | license.name = "GNU General Public License v2.0"; | ||
57 | version = pkgs.buildbot.version; | ||
58 | source.url = "https://github.com/buildbot/buildbot"; | ||
59 | }; | ||
60 | }; | ||
61 | nixpkgs.overlays = [ | ||
62 | (self: super: { | ||
63 | follow-systemd-unit = self.writeScriptBin "follow-systemd-unit" '' | ||
64 | #!${self.stdenv.shell} | ||
65 | |||
66 | set -euo pipefail | ||
67 | |||
68 | service=$1 | ||
69 | before_invocation_id=$2 | ||
70 | |||
71 | get_id() { | ||
72 | systemctl show -p InvocationID --value "$service" | ||
73 | } | ||
74 | |||
75 | while [ "$(get_id)" = "$before_invocation_id" ]; do sleep 1; done | ||
76 | |||
77 | invocation_id="$(get_id)" | ||
78 | cursor="$(mktemp)" | ||
79 | trap "rm -f $cursor" EXIT | ||
80 | |||
81 | get_logs() { | ||
82 | journalctl --quiet --cursor-file=$cursor INVOCATION_ID=$invocation_id + _SYSTEMD_INVOCATION_ID=$invocation_id | ||
83 | } | ||
84 | |||
85 | while [ -n "$(systemctl show -p Job --value "$service")" ]; do | ||
86 | get_logs | ||
87 | done | ||
88 | get_logs | ||
89 | ''; | ||
90 | }) | ||
91 | ]; | ||
92 | ids.uids.buildbot = config.myEnv.buildbot.user.uid; | ||
93 | ids.gids.buildbot = config.myEnv.buildbot.user.gid; | ||
94 | |||
95 | users.groups.buildbot.gid = config.ids.gids.buildbot; | ||
96 | users.users.buildbot = { | ||
97 | name = "buildbot"; | ||
98 | uid = config.ids.uids.buildbot; | ||
99 | group = "buildbot"; | ||
100 | description = "Buildbot user"; | ||
101 | home = varDir; | ||
102 | extraGroups = [ "keys" "systemd-journal" ]; | ||
103 | useDefaultShell = true; | ||
104 | openssh.authorizedKeys.keys = [ config.myEnv.buildbot.ssh_key.public ]; | ||
105 | }; | ||
106 | |||
107 | services.websites.env.tools.watchPaths = lib.attrsets.mapAttrsToList | ||
108 | (k: project: config.secrets.fullPaths."buildbot/${project.name}/webhook-httpd-include") | ||
109 | config.myEnv.buildbot.projects; | ||
110 | |||
111 | services.websites.env.tools.vhostConfs.git.extraConfig = lib.attrsets.mapAttrsToList (k: project: '' | ||
112 | RedirectMatch permanent "^/buildbot/${project.name}$" "/buildbot/${project.name}/" | ||
113 | RewriteEngine On | ||
114 | RewriteRule ^/buildbot/${project.name}/ws(.*)$ unix:///run/buildbot/${project.name}.sock|ws://git.immae.eu/ws$1 [P,NE,QSA,L] | ||
115 | ProxyPass /buildbot/${project.name}/ unix:///run/buildbot/${project.name}.sock|http://${project.name}-git.immae.eu/ | ||
116 | ProxyPassReverse /buildbot/${project.name}/ unix:///run/buildbot/${project.name}.sock|http://${project.name}-git.immae.eu/ | ||
117 | <Location /buildbot/${project.name}/> | ||
118 | Use LDAPConnect | ||
119 | Require ldap-group cn=users,ou=${project.name},cn=buildbot,ou=services,dc=immae,dc=eu | ||
120 | |||
121 | SetEnvIf X-Url-Scheme https HTTPS=1 | ||
122 | ProxyPreserveHost On | ||
123 | </Location> | ||
124 | <Location /buildbot/${project.name}/change_hook/base> | ||
125 | <RequireAny> | ||
126 | Require local | ||
127 | Require ldap-group cn=users,ou=${project.name},cn=buildbot,ou=services,dc=immae,dc=eu | ||
128 | Include ${config.secrets.fullPaths."buildbot/${project.name}/webhook-httpd-include"} | ||
129 | </RequireAny> | ||
130 | </Location> | ||
131 | '') config.myEnv.buildbot.projects; | ||
132 | |||
133 | system.activationScripts = lib.attrsets.mapAttrs' (k: project: lib.attrsets.nameValuePair "buildbot-${project.name}" { | ||
134 | deps = [ "users" "wrappers" ]; | ||
135 | text = '' | ||
136 | install -m 755 -o buildbot -g buildbot -d ${varDir}/${project.name} | ||
137 | |||
138 | ${project.activationScript} | ||
139 | ''; | ||
140 | }) config.myEnv.buildbot.projects; | ||
141 | |||
142 | secrets.keys = lib.listToAttrs ( | ||
143 | lib.lists.flatten ( | ||
144 | lib.attrsets.mapAttrsToList (k: project: | ||
145 | lib.attrsets.mapAttrsToList (k: v: | ||
146 | (lib.nameValuePair "buildbot/${project.name}/${k}" { | ||
147 | permissions = "0600"; | ||
148 | user = "buildbot"; | ||
149 | group = "buildbot"; | ||
150 | text = v; | ||
151 | }) | ||
152 | ) project.secrets | ||
153 | ++ [ | ||
154 | (lib.nameValuePair "buildbot/${project.name}/webhook-httpd-include" { | ||
155 | permissions = "0600"; | ||
156 | user = "wwwrun"; | ||
157 | group = "wwwrun"; | ||
158 | text = lib.optionalString (project.webhookTokens != null) '' | ||
159 | Require expr "req('Access-Key') in { ${builtins.concatStringsSep ", " (map (x: "'${x}'") project.webhookTokens)} }" | ||
160 | ''; | ||
161 | }) | ||
162 | (lib.nameValuePair "buildbot/${project.name}/environment_file" { | ||
163 | permissions = "0600"; | ||
164 | user = "buildbot"; | ||
165 | group = "buildbot"; | ||
166 | keyDependencies = [ (buildbot.buildbot_config project).src ] ++ project.secretsDeps; | ||
167 | text = let | ||
168 | project_env = with lib.attrsets; | ||
169 | mapAttrs' (k: v: nameValuePair "BUILDBOT_${k}" v) project.environment // | ||
170 | { | ||
171 | BUILDBOT_PROJECT_DIR = (buildbot.buildbot_config project).src; | ||
172 | BUILDBOT_WORKER_PORT = builtins.toString project.workerPort; | ||
173 | BUILDBOT_HOST = config.hostEnv.fqdn; | ||
174 | BUILDBOT_VIRT_URL = "qemu+ssh://libvirt@dilion.immae.eu/system"; | ||
175 | }; | ||
176 | in builtins.concatStringsSep "\n" | ||
177 | (lib.mapAttrsToList (envK: envV: "${envK}=${envV}") project_env); | ||
178 | }) | ||
179 | ] | ||
180 | ) config.myEnv.buildbot.projects | ||
181 | ) | ||
182 | ) // { | ||
183 | "buildbot/ldap" = { | ||
184 | permissions = "0600"; | ||
185 | user = "buildbot"; | ||
186 | group = "buildbot"; | ||
187 | text = config.myEnv.buildbot.ldap.password; | ||
188 | }; | ||
189 | "buildbot/worker_password" = { | ||
190 | permissions = "0600"; | ||
191 | user = "buildbot"; | ||
192 | group = "buildbot"; | ||
193 | text = config.myEnv.buildbot.workerPassword; | ||
194 | }; | ||
195 | "buildbot/ssh_key" = { | ||
196 | permissions = "0600"; | ||
197 | user = "buildbot"; | ||
198 | group = "buildbot"; | ||
199 | text = config.myEnv.buildbot.ssh_key.private; | ||
200 | }; | ||
201 | "buildbot/ssh_known_hosts" = { | ||
202 | permissions = "0644"; | ||
203 | user = "buildbot"; | ||
204 | group = "buildbot"; | ||
205 | text = '' | ||
206 | git.immae.eu ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFbhFTl2A2RJn5L51yxJM4XfCS2ZaiSX/jo9jFSdghF | ||
207 | eldiron ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFbhFTl2A2RJn5L51yxJM4XfCS2ZaiSX/jo9jFSdghF | ||
208 | phare.normalesup.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN2GomItXICXpCtCFRMT2xuerqx2nLMO/3mNUuWyzFr1 | ||
209 | ''; | ||
210 | }; | ||
211 | }; | ||
212 | |||
213 | services.filesWatcher = lib.attrsets.mapAttrs' (k: project: lib.attrsets.nameValuePair "buildbot-${project.name}" { | ||
214 | restart = true; | ||
215 | paths = [ | ||
216 | config.secrets.fullPaths."buildbot/ldap" | ||
217 | config.secrets.fullPaths."buildbot/worker_password" | ||
218 | config.secrets.fullPaths."buildbot/ssh_key" | ||
219 | config.secrets.fullPaths."buildbot/${project.name}/environment_file" | ||
220 | ] ++ lib.attrsets.mapAttrsToList (k: v: config.secrets.fullPaths."buildbot/${project.name}/${k}") project.secrets; | ||
221 | }) config.myEnv.buildbot.projects; | ||
222 | |||
223 | systemd.slices.buildbot = { | ||
224 | description = "buildbot slice"; | ||
225 | }; | ||
226 | |||
227 | networking.firewall.allowedTCPPorts = lib.attrsets.mapAttrsToList (k: v: v.workerPort) config.myEnv.buildbot.projects; | ||
228 | systemd.services = lib.attrsets.mapAttrs' (k: project: lib.attrsets.nameValuePair "buildbot-${project.name}" { | ||
229 | description = "Buildbot Continuous Integration Server ${project.name}."; | ||
230 | after = [ "network-online.target" ]; | ||
231 | wantedBy = [ "multi-user.target" ]; | ||
232 | path = project.packages; | ||
233 | preStart = let | ||
234 | master-cfg = "${buildbot.buildbot_common}/${bb-python.pythonForBuild.sitePackages}/buildbot_common/master.cfg"; | ||
235 | tac_file = pkgs.writeText "buildbot.tac" '' | ||
236 | import os | ||
237 | |||
238 | from twisted.application import service | ||
239 | from buildbot.master import BuildMaster | ||
240 | |||
241 | basedir = '${varDir}/${project.name}' | ||
242 | rotateLength = 10000000 | ||
243 | maxRotatedFiles = 10 | ||
244 | configfile = '${master-cfg}' | ||
245 | |||
246 | # Default umask for server | ||
247 | umask = None | ||
248 | |||
249 | # if this is a relocatable tac file, get the directory containing the TAC | ||
250 | if basedir == '.': | ||
251 | import os | ||
252 | basedir = os.path.abspath(os.path.dirname(__file__)) | ||
253 | |||
254 | # note: this line is matched against to check that this is a buildmaster | ||
255 | # directory; do not edit it. | ||
256 | application = service.Application('buildmaster') | ||
257 | from twisted.python.logfile import LogFile | ||
258 | from twisted.python.log import ILogObserver, FileLogObserver | ||
259 | logfile = LogFile.fromFullPath(os.path.join(basedir, "twistd.log"), rotateLength=rotateLength, | ||
260 | maxRotatedFiles=maxRotatedFiles) | ||
261 | application.setComponent(ILogObserver, FileLogObserver(logfile).emit) | ||
262 | |||
263 | m = BuildMaster(basedir, configfile, umask) | ||
264 | m.setServiceParent(application) | ||
265 | m.log_rotation.rotateLength = rotateLength | ||
266 | m.log_rotation.maxRotatedFiles = maxRotatedFiles | ||
267 | ''; | ||
268 | in '' | ||
269 | if [ ! -f ${varDir}/${project.name}/buildbot.tac ]; then | ||
270 | ${buildbot}/bin/buildbot create-master -c "${master-cfg}" "${varDir}/${project.name}" | ||
271 | rm -f ${varDir}/${project.name}/master.cfg.sample | ||
272 | rm -f ${varDir}/${project.name}/buildbot.tac | ||
273 | fi | ||
274 | ln -sf ${tac_file} ${varDir}/${project.name}/buildbot.tac | ||
275 | # different buildbots may be trying that simultaneously, add the || true to avoid complaining in case of race | ||
276 | install -Dm600 -o buildbot -g buildbot -T ${config.secrets.fullPaths."buildbot/ssh_key"} ${varDir}/buildbot_key || true | ||
277 | install -Dm600 -o buildbot -g buildbot -T ${config.secrets.fullPaths."buildbot/ssh_known_hosts"} ${varDir}/buildbot_hosts || true | ||
278 | buildbot_secrets=${varDir}/${project.name}/secrets | ||
279 | install -m 0700 -o buildbot -g buildbot -d $buildbot_secrets | ||
280 | install -Dm600 -o buildbot -g buildbot -T ${config.secrets.fullPaths."buildbot/ldap"} $buildbot_secrets/ldap | ||
281 | install -Dm600 -o buildbot -g buildbot -T ${config.secrets.fullPaths."buildbot/worker_password"} $buildbot_secrets/worker_password | ||
282 | ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList | ||
283 | (k: v: "install -Dm600 -o buildbot -g buildbot -T ${config.secrets.fullPaths."buildbot/${project.name}/${k}"} $buildbot_secrets/${k}") project.secrets | ||
284 | )} | ||
285 | ${buildbot}/bin/buildbot upgrade-master ${varDir}/${project.name} | ||
286 | ''; | ||
287 | environment = let | ||
288 | HOME = "${varDir}/${project.name}"; | ||
289 | PYTHONPATH = "${bb-python.withPackages (self: | ||
290 | buildbot.common_packages self ++ | ||
291 | [ (buildbot.buildbot_config project) ] | ||
292 | )}/${bb-python.sitePackages}${if project.pythonPathHome then ":${varDir}/${project.name}/.local/${bb-python.sitePackages}" else ""}"; | ||
293 | in { inherit PYTHONPATH HOME; }; | ||
294 | |||
295 | serviceConfig = { | ||
296 | Slice = "buildbot.slice"; | ||
297 | Type = "forking"; | ||
298 | User = "buildbot"; | ||
299 | Group = "buildbot"; | ||
300 | RuntimeDirectory = "buildbot"; | ||
301 | RuntimeDirectoryPreserve = "yes"; | ||
302 | StateDirectory = "buildbot"; | ||
303 | SupplementaryGroups = "keys"; | ||
304 | WorkingDirectory = "${varDir}/${project.name}"; | ||
305 | ExecStart = "${buildbot}/bin/buildbot start"; | ||
306 | EnvironmentFile = config.secrets.fullPaths."buildbot/${project.name}/environment_file"; | ||
307 | }; | ||
308 | }) config.myEnv.buildbot.projects; | ||
309 | }; | ||
310 | } | ||
diff --git a/systems/eldiron/coturn.nix b/systems/eldiron/coturn.nix new file mode 100644 index 0000000..d8b02c5 --- /dev/null +++ b/systems/eldiron/coturn.nix | |||
@@ -0,0 +1,73 @@ | |||
1 | { config, name, lib, pkgs, ... }: | ||
2 | { | ||
3 | config = lib.mkIf (name == "eldiron") { | ||
4 | myServices.chatonsProperties.services.coturn = { | ||
5 | file.datetime = "2022-08-27T19:00:00"; | ||
6 | service = { | ||
7 | name = "Coturn"; | ||
8 | description = "coturn TURN server"; | ||
9 | status.level = "OK"; | ||
10 | status.description = "OK"; | ||
11 | registration."" = ["MEMBER" "CLIENT"]; | ||
12 | registration.load = "FULL"; | ||
13 | install.type = "PACKAGE"; | ||
14 | }; | ||
15 | software = { | ||
16 | name = "coturn"; | ||
17 | website = "https://github.com/coturn/coturn"; | ||
18 | license.url = "https://github.com/coturn/coturn/blob/master/LICENSE"; | ||
19 | license.name = "3-Clause BSD License"; | ||
20 | version = pkgs.coturn.version; | ||
21 | source.url = "https://github.com/coturn/coturn"; | ||
22 | }; | ||
23 | }; | ||
24 | networking.firewall.allowedTCPPorts = [ | ||
25 | config.services.coturn.alt-listening-port | ||
26 | config.services.coturn.alt-tls-listening-port | ||
27 | config.services.coturn.listening-port | ||
28 | config.services.coturn.tls-listening-port | ||
29 | ]; | ||
30 | networking.firewall.allowedTCPPortRanges = [ | ||
31 | { from = config.services.coturn.min-port; to = config.services.coturn.max-port; } | ||
32 | ]; | ||
33 | networking.firewall.allowedUDPPortRanges = [ | ||
34 | { from = config.services.coturn.min-port; to = config.services.coturn.max-port; } | ||
35 | ]; | ||
36 | networking.firewall.allowedUDPPorts = [ | ||
37 | config.services.coturn.alt-listening-port | ||
38 | config.services.coturn.alt-tls-listening-port | ||
39 | config.services.coturn.listening-port | ||
40 | config.services.coturn.tls-listening-port | ||
41 | ]; | ||
42 | #users.users.turnserver.extraGroups = [ "keys" ]; | ||
43 | services.coturn = { | ||
44 | enable = true; | ||
45 | no-cli = true; | ||
46 | no-tls = true; | ||
47 | no-dtls = true; | ||
48 | use-auth-secret = true; | ||
49 | lt-cred-mech = true; | ||
50 | realm = "eldiron.immae.eu"; | ||
51 | extraConfig = '' | ||
52 | fingerprint | ||
53 | total-quota=0 | ||
54 | bps-capacity=0 | ||
55 | stale-nonce | ||
56 | no-multicast-peers | ||
57 | ''; | ||
58 | static-auth-secret = config.myEnv.coturn.auth_access_key; | ||
59 | #cert = "/var/lib/acme/eldiron/fullchain.pem"; | ||
60 | #pkey = "/var/lib/acme/eldiron/key.pem"; | ||
61 | listening-ips = [ | ||
62 | "127.0.0.1" | ||
63 | "::1" | ||
64 | ] ++ config.myEnv.servers.eldiron.ips.main.ip4 | ||
65 | ++ config.myEnv.servers.eldiron.ips.main.ip6; | ||
66 | relay-ips = [ | ||
67 | "127.0.0.1" | ||
68 | "::1" | ||
69 | ] ++ config.myEnv.servers.eldiron.ips.main.ip4 | ||
70 | ++ config.myEnv.servers.eldiron.ips.main.ip6; | ||
71 | }; | ||
72 | }; | ||
73 | } | ||
diff --git a/systems/eldiron/databases/default.nix b/systems/eldiron/databases/default.nix new file mode 100644 index 0000000..d8d3048 --- /dev/null +++ b/systems/eldiron/databases/default.nix | |||
@@ -0,0 +1,56 @@ | |||
1 | { lib, config, secrets, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.databases; | ||
4 | in | ||
5 | { | ||
6 | options.myServices = { | ||
7 | databases.enable = lib.mkEnableOption "my databases service"; | ||
8 | }; | ||
9 | |||
10 | config.myServices.dns.zones."immae.eu".subdomains.db-1 = lib.mkIf cfg.enable (with config.myServices.dns.helpers; ips servers.eldiron.ips.main); | ||
11 | config.myServices.databases = lib.mkIf cfg.enable { | ||
12 | |||
13 | mariadb = { | ||
14 | enable = true; | ||
15 | ldapConfig = { | ||
16 | inherit (config.myEnv.ldap) host base; | ||
17 | inherit (config.myEnv.databases.mysql.pam) dn filter password; | ||
18 | }; | ||
19 | replicationLdapConfig = { | ||
20 | inherit (config.myEnv.ldap) host base; | ||
21 | inherit (config.myEnv.servers.eldiron.ldap) dn password; | ||
22 | }; | ||
23 | credentials.root = config.myEnv.databases.mysql.systemUsers.root; | ||
24 | }; | ||
25 | |||
26 | openldap = { | ||
27 | accessFile = secrets.ldap-conf; | ||
28 | baseDn = config.myEnv.ldap.base; | ||
29 | rootDn = config.myEnv.ldap.root_dn; | ||
30 | rootPw = config.myEnv.ldap.root_pw; | ||
31 | enable = true; | ||
32 | }; | ||
33 | |||
34 | postgresql = { | ||
35 | ldapConfig = { | ||
36 | inherit (config.myEnv.ldap) host base; | ||
37 | inherit (config.myEnv.databases.postgresql.pam) dn filter password; | ||
38 | }; | ||
39 | replicationLdapConfig = { | ||
40 | inherit (config.myEnv.ldap) host base; | ||
41 | inherit (config.myEnv.servers.eldiron.ldap) dn password; | ||
42 | }; | ||
43 | authorizedHosts = { | ||
44 | }; | ||
45 | replicationHosts = { | ||
46 | backup-2 = { | ||
47 | ip4 = config.myEnv.servers.backup-2.ips.main.ip4; | ||
48 | ip6 = config.myEnv.servers.backup-2.ips.main.ip6; | ||
49 | }; | ||
50 | }; | ||
51 | enable = true; | ||
52 | }; | ||
53 | |||
54 | redis.enable = true; | ||
55 | }; | ||
56 | } | ||
diff --git a/systems/eldiron/databases/mariadb.nix b/systems/eldiron/databases/mariadb.nix new file mode 100644 index 0000000..b4a6917 --- /dev/null +++ b/systems/eldiron/databases/mariadb.nix | |||
@@ -0,0 +1,188 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.databases.mariadb; | ||
4 | in { | ||
5 | options.myServices.databases = { | ||
6 | mariadb = { | ||
7 | enable = lib.mkOption { | ||
8 | default = false; | ||
9 | example = true; | ||
10 | description = "Whether to enable mariadb database"; | ||
11 | type = lib.types.bool; | ||
12 | }; | ||
13 | package = lib.mkOption { | ||
14 | type = lib.types.package; | ||
15 | default = pkgs.mariadb; | ||
16 | description = '' | ||
17 | Mariadb package to use. | ||
18 | ''; | ||
19 | }; | ||
20 | credentials = lib.mkOption { | ||
21 | default = {}; | ||
22 | description = "Credentials"; | ||
23 | type = lib.types.attrsOf lib.types.str; | ||
24 | }; | ||
25 | ldapConfig = lib.mkOption { | ||
26 | description = "LDAP configuration to allow PAM identification via LDAP"; | ||
27 | type = lib.types.submodule { | ||
28 | options = { | ||
29 | host = lib.mkOption { type = lib.types.str; }; | ||
30 | base = lib.mkOption { type = lib.types.str; }; | ||
31 | dn = lib.mkOption { type = lib.types.str; }; | ||
32 | password = lib.mkOption { type = lib.types.str; }; | ||
33 | filter = lib.mkOption { type = lib.types.str; }; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | replicationLdapConfig = lib.mkOption { | ||
38 | description = "LDAP configuration to allow replication"; | ||
39 | type = lib.types.submodule { | ||
40 | options = { | ||
41 | host = lib.mkOption { type = lib.types.str; }; | ||
42 | base = lib.mkOption { type = lib.types.str; }; | ||
43 | dn = lib.mkOption { type = lib.types.str; }; | ||
44 | password = lib.mkOption { type = lib.types.str; }; | ||
45 | }; | ||
46 | }; | ||
47 | }; | ||
48 | dataDir = lib.mkOption { | ||
49 | type = lib.types.path; | ||
50 | default = "/var/lib/mysql"; | ||
51 | description = '' | ||
52 | The directory where Mariadb stores its data. | ||
53 | ''; | ||
54 | }; | ||
55 | # Output variables | ||
56 | socketsDir = lib.mkOption { | ||
57 | type = lib.types.path; | ||
58 | default = "/run/mysqld"; | ||
59 | description = '' | ||
60 | The directory where Mariadb puts sockets. | ||
61 | ''; | ||
62 | }; | ||
63 | sockets = lib.mkOption { | ||
64 | type = lib.types.attrsOf lib.types.path; | ||
65 | default = { | ||
66 | mysqld = "${cfg.socketsDir}/mysqld.sock"; | ||
67 | }; | ||
68 | readOnly = true; | ||
69 | description = '' | ||
70 | Mariadb sockets | ||
71 | ''; | ||
72 | }; | ||
73 | }; | ||
74 | }; | ||
75 | |||
76 | config = lib.mkIf cfg.enable { | ||
77 | networking.firewall.allowedTCPPorts = [ config.myEnv.databases.mysql.port ]; | ||
78 | |||
79 | # for adminer, ssl is implemented with mysqli only, which is | ||
80 | # currently disabled because it’s not compatible with pam. | ||
81 | # Thus we need to generate two users for each 'remote': one remote | ||
82 | # with SSL, and one localhost without SSL. | ||
83 | # User identified by LDAP: | ||
84 | # CREATE USER foo@% IDENTIFIED VIA pam USING 'mysql' REQUIRE SSL; | ||
85 | # CREATE USER foo@localhost IDENTIFIED VIA pam USING 'mysql'; | ||
86 | |||
87 | # To create a user (host) for replication: | ||
88 | # CREATE USER 'host'@'%' IDENTIFIED VIA pam USING 'mysql_replication' REQUIRE SSL; | ||
89 | # GRANT REPLICATION SLAVE, REPLICATION CLIENT, RELOAD, LOCK TABLES, SELECT, SHOW VIEW ON *.* TO 'host'@'%'; | ||
90 | # (the lock/select grant permits to let the replication host handle | ||
91 | # the initial fetch of the database) | ||
92 | # % should be valid for both localhost (for cron dumps) and the origin host. | ||
93 | services.mysql = { | ||
94 | enable = true; | ||
95 | package = cfg.package; | ||
96 | dataDir = cfg.dataDir; | ||
97 | settings = { | ||
98 | mysqld = { | ||
99 | port = config.myEnv.databases.mysql.port; | ||
100 | ssl_ca = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; | ||
101 | ssl_key = "${config.security.acme.certs.mysql.directory}/key.pem"; | ||
102 | ssl_cert = "${config.security.acme.certs.mysql.directory}/fullchain.pem"; | ||
103 | |||
104 | # for replication | ||
105 | log-bin = "mariadb-bin"; | ||
106 | server-id = "1"; | ||
107 | |||
108 | # this introduces a small delay before storing on disk, but | ||
109 | # makes it order of magnitudes quicker | ||
110 | innodb_flush_log_at_trx_commit = "0"; | ||
111 | |||
112 | # This is necessary since the default ("dialog") is not | ||
113 | # supported by php's mysqlnd plugin (in mysqli). But with that | ||
114 | # change only regular login+password schemes can work (no | ||
115 | # "fancy" authentication methods like fprintd or keys) | ||
116 | pam_use_cleartext_plugin = true; | ||
117 | }; | ||
118 | }; | ||
119 | }; | ||
120 | |||
121 | users.users.mysql.extraGroups = [ "keys" ]; | ||
122 | security.acme.certs."mysql" = { | ||
123 | group = "mysql"; | ||
124 | domain = "db-1.immae.eu"; | ||
125 | postRun = '' | ||
126 | systemctl restart mysql.service | ||
127 | ''; | ||
128 | }; | ||
129 | |||
130 | secrets.keys = { | ||
131 | "mysql/mysqldump" = { | ||
132 | permissions = "0400"; | ||
133 | user = "root"; | ||
134 | group = "root"; | ||
135 | text = '' | ||
136 | [mysqldump] | ||
137 | user = root | ||
138 | password = ${cfg.credentials.root} | ||
139 | ''; | ||
140 | }; | ||
141 | "mysql/pam" = { | ||
142 | permissions = "0400"; | ||
143 | user = "mysql"; | ||
144 | group = "mysql"; | ||
145 | text = with cfg.ldapConfig; '' | ||
146 | host ${host} | ||
147 | base ${base} | ||
148 | binddn ${dn} | ||
149 | bindpw ${password} | ||
150 | pam_filter ${filter} | ||
151 | ssl start_tls | ||
152 | ''; | ||
153 | }; | ||
154 | "mysql/pam_replication" = { | ||
155 | permissions = "0400"; | ||
156 | user = "mysql"; | ||
157 | group = "mysql"; | ||
158 | text = with cfg.replicationLdapConfig; '' | ||
159 | host ${host} | ||
160 | base ${base} | ||
161 | binddn ${dn} | ||
162 | bindpw ${password} | ||
163 | pam_login_attribute cn | ||
164 | ssl start_tls | ||
165 | ''; | ||
166 | }; | ||
167 | }; | ||
168 | |||
169 | security.pam.services = let | ||
170 | pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so"; | ||
171 | in { | ||
172 | mysql = { | ||
173 | text = '' | ||
174 | # https://mariadb.com/kb/en/mariadb/pam-authentication-plugin/ | ||
175 | auth required ${pam_ldap} config=${config.secrets.fullPaths."mysql/pam"} | ||
176 | account required ${pam_ldap} config=${config.secrets.fullPaths."mysql/pam"} | ||
177 | ''; | ||
178 | }; | ||
179 | mysql_replication = { | ||
180 | text = '' | ||
181 | auth required ${pam_ldap} config=${config.secrets.fullPaths."mysql/pam_replication"} | ||
182 | account required ${pam_ldap} config=${config.secrets.fullPaths."mysql/pam_replication"} | ||
183 | ''; | ||
184 | }; | ||
185 | }; | ||
186 | |||
187 | }; | ||
188 | } | ||
diff --git a/systems/eldiron/databases/openldap/default.nix b/systems/eldiron/databases/openldap/default.nix new file mode 100644 index 0000000..7cd15da --- /dev/null +++ b/systems/eldiron/databases/openldap/default.nix | |||
@@ -0,0 +1,304 @@ | |||
1 | { lib, pkgs, config, openldap, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.databases.openldap; | ||
4 | in | ||
5 | { | ||
6 | options.myServices.databases = { | ||
7 | openldap = { | ||
8 | enable = lib.mkOption { | ||
9 | default = false; | ||
10 | example = true; | ||
11 | description = "Whether to enable ldap"; | ||
12 | type = lib.types.bool; | ||
13 | }; | ||
14 | baseDn = lib.mkOption { | ||
15 | type = lib.types.str; | ||
16 | description = '' | ||
17 | Base DN for LDAP | ||
18 | ''; | ||
19 | }; | ||
20 | rootDn = lib.mkOption { | ||
21 | type = lib.types.str; | ||
22 | description = '' | ||
23 | Root DN | ||
24 | ''; | ||
25 | }; | ||
26 | rootPw = lib.mkOption { | ||
27 | type = lib.types.str; | ||
28 | description = '' | ||
29 | Root (Hashed) password | ||
30 | ''; | ||
31 | }; | ||
32 | accessFile = lib.mkOption { | ||
33 | type = lib.types.path; | ||
34 | description = '' | ||
35 | The file path that defines the access | ||
36 | ''; | ||
37 | }; | ||
38 | dataDir = lib.mkOption { | ||
39 | type = lib.types.path; | ||
40 | default = "/var/lib/openldap/mdb"; | ||
41 | description = '' | ||
42 | The directory where Openldap stores its data. | ||
43 | ''; | ||
44 | }; | ||
45 | socketsDir = lib.mkOption { | ||
46 | type = lib.types.path; | ||
47 | default = "/run/openldap"; | ||
48 | description = '' | ||
49 | The directory where Openldap puts sockets and pid files. | ||
50 | ''; | ||
51 | }; | ||
52 | # Output variables | ||
53 | pids = lib.mkOption { | ||
54 | type = lib.types.attrsOf lib.types.path; | ||
55 | default = { | ||
56 | pid = "${cfg.socketsDir}/slapd.pid"; | ||
57 | args = "${cfg.socketsDir}/slapd.args"; | ||
58 | }; | ||
59 | readOnly = true; | ||
60 | description = '' | ||
61 | Slapd pid files | ||
62 | ''; | ||
63 | }; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | config = lib.mkIf cfg.enable { | ||
68 | myServices.dns.zones."immae.eu".subdomains.ldap = | ||
69 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
70 | |||
71 | nixpkgs.overlays = [ | ||
72 | (self: super: { | ||
73 | openldap_libressl_cyrus = (self.openldap.override { | ||
74 | openssl = self.libressl; | ||
75 | cyrus_sasl = self.cyrus_sasl.overrideAttrs (old: { | ||
76 | configureFlags = old.configureFlags ++ [ "--with-configdir=/etc/sasl2" ]; | ||
77 | }); | ||
78 | }).overrideAttrs (old: { | ||
79 | configureFlags = old.configureFlags ++ [ "--with-cyrus-sasl" "--enable-spasswd" ]; | ||
80 | }); | ||
81 | }) | ||
82 | ]; | ||
83 | |||
84 | secrets.keys = { | ||
85 | "ldap/password" = { | ||
86 | permissions = "0400"; | ||
87 | user = "openldap"; | ||
88 | group = "openldap"; | ||
89 | text = "${cfg.rootPw}"; | ||
90 | }; | ||
91 | "ldap/access" = { | ||
92 | permissions = "0400"; | ||
93 | user = "openldap"; | ||
94 | group = "openldap"; | ||
95 | text = builtins.readFile cfg.accessFile; | ||
96 | }; | ||
97 | "ldap" = { | ||
98 | permissions = "0500"; | ||
99 | user = "openldap"; | ||
100 | group = "openldap"; | ||
101 | isDir = true; | ||
102 | }; | ||
103 | }; | ||
104 | users.users.openldap.extraGroups = [ "keys" ]; | ||
105 | networking.firewall.allowedTCPPorts = [ 636 389 ]; | ||
106 | |||
107 | security.acme.certs."ldap" = { | ||
108 | group = "openldap"; | ||
109 | domain = "ldap.immae.eu"; | ||
110 | postRun = '' | ||
111 | systemctl restart openldap.service | ||
112 | ''; | ||
113 | }; | ||
114 | |||
115 | services.filesWatcher.openldap = { | ||
116 | restart = true; | ||
117 | paths = [ config.secrets.fullPaths."ldap" ]; | ||
118 | }; | ||
119 | |||
120 | services.openldap = { | ||
121 | enable = true; | ||
122 | urlList = [ "ldap://" "ldaps://" ]; | ||
123 | package = pkgs.openldap_libressl_cyrus; | ||
124 | settings = { | ||
125 | attrs = { | ||
126 | olcPidFile = cfg.pids.pid; | ||
127 | olcArgsFile = cfg.pids.args; | ||
128 | olcLogLevel = "none"; | ||
129 | olcTLSCertificateFile = "${config.security.acme.certs.ldap.directory}/cert.pem"; | ||
130 | olcTLSCertificateKeyFile = "${config.security.acme.certs.ldap.directory}/key.pem"; | ||
131 | olcTLSCACertificateFile = "${config.security.acme.certs.ldap.directory}/fullchain.pem"; | ||
132 | olcTLSCACertificatePath = "${pkgs.cacert.unbundled}/etc/ssl/certs/"; | ||
133 | # This makes openldap crash | ||
134 | # olcTLSCipherSuite = "DEFAULT"; | ||
135 | #olcSaslHost = "kerberos.immae.eu"; | ||
136 | # Map sasl "dn" to ldap dn | ||
137 | #olcAuthzRegexp = ''{0}"uid=([^,]*)(,cn=IMMAE.EU)?,cn=(gssapi|gss-spnego),cn=auth" "uid=$1,ou=users,dc=immae,dc=eu"''; | ||
138 | }; | ||
139 | children = { | ||
140 | "cn=module{0}" = { | ||
141 | attrs = { | ||
142 | cn = "module{0}"; | ||
143 | objectClass = [ "olcModuleList" ]; | ||
144 | olcModuleLoad = [ "{0}back_mdb" "{1}memberof" "{2}syncprov" ]; | ||
145 | }; | ||
146 | }; | ||
147 | "cn=schema".includes = map (schema: | ||
148 | "${config.services.openldap.package}/etc/schema/${schema}.ldif" | ||
149 | ) [ "core" "cosine" "inetorgperson" "nis" ] ++ [ | ||
150 | "${openldap.immae-ldif}" | ||
151 | ]; | ||
152 | "olcDatabase={0}config" = { | ||
153 | attrs = { | ||
154 | objectClass = "olcDatabaseConfig"; | ||
155 | olcDatabase = "{0}config"; | ||
156 | olcAccess = ["{0}to * by * none"]; | ||
157 | }; | ||
158 | }; | ||
159 | "olcDatabase={1}mdb" = { | ||
160 | attrs = { | ||
161 | objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ]; | ||
162 | olcDatabase = "{1}mdb"; | ||
163 | olcDbIndex = [ | ||
164 | "objectClass eq" | ||
165 | "uid pres,eq" | ||
166 | "mail pres,eq,sub" | ||
167 | "cn pres,eq,sub" | ||
168 | "sn pres,eq,sub" | ||
169 | "dc eq" | ||
170 | "member eq" | ||
171 | "memberOf eq" | ||
172 | ]; | ||
173 | olcAccess = let | ||
174 | join = builtins.replaceStrings ["\n"] [" "]; | ||
175 | in [ | ||
176 | # First matching "to" + "by" wins | ||
177 | #### Replication needs full access | ||
178 | (join ''{0}to * | ||
179 | by dn.base="uid=ldap_replication,cn=ldap,ou=services,dc=immae,dc=eu" read | ||
180 | by * break | ||
181 | '') | ||
182 | #### Prevent modification of SASL passwords | ||
183 | (join ''{1}to attrs=userPassword val.regex="^.SASL..+" | ||
184 | by self read | ||
185 | by anonymous auth | ||
186 | by * none | ||
187 | '') | ||
188 | #### Oneself needs access to users password | ||
189 | (join ''{2}to attrs=userPassword,shadowLastChange | ||
190 | by self write | ||
191 | by anonymous auth | ||
192 | by * none | ||
193 | '') | ||
194 | #### Should be write, but disabled during migration to psql | ||
195 | (join ''{3}to attrs=immaeSshKey | ||
196 | by self read | ||
197 | by * break | ||
198 | '') | ||
199 | |||
200 | #### Anyone can auth, and I can see myself | ||
201 | (join ''{4}to * | ||
202 | by self read | ||
203 | by anonymous auth | ||
204 | by * break | ||
205 | '') | ||
206 | |||
207 | #### Specific access for phpldapadmin | ||
208 | (join ''{5}to filter="(uid=*)" attrs=entry,uid | ||
209 | by dn.base="cn=phpldapadmin,ou=services,dc=immae,dc=eu" read | ||
210 | by * break | ||
211 | '') | ||
212 | |||
213 | #### Hosts | ||
214 | # The attributes are available to every host | ||
215 | (join ''{6}to dn.one="ou=hosts,dc=immae,dc=eu" | ||
216 | by dn.subtree="ou=hosts,dc=immae,dc=eu" read | ||
217 | by dn.base="dc=immae,dc=eu" search | ||
218 | by * break | ||
219 | '') | ||
220 | #### /Hosts | ||
221 | |||
222 | #### Local services | ||
223 | # this/-* & user : all your ancestors have access to you | ||
224 | # this/memberOf/-* & user : all those whom you belong to (in a group), | ||
225 | # and their ancestors, have access to you | ||
226 | # user/immaeAccessWriteDn*/member & this : you have write access to the | ||
227 | # members of your immaeAccessDn | ||
228 | # attributes | ||
229 | # user/immaeAccessDn*/member & this : you have access to the members | ||
230 | # of your immaeAccessDn attributes | ||
231 | # user/immaeAccessReadSubtree* & this/-* : you have access to the | ||
232 | # childrens of your immaeAccessReadSubtree | ||
233 | # attributes | ||
234 | # this/memberOf/-* & user/immaeAccessReadSubtree*: you have access to | ||
235 | # the members of the childrens of your | ||
236 | # immaeAccessReadSubtree attributes | ||
237 | # http://www.openldap.org/faq/data/cache/1133.html | ||
238 | (join ''{7}to dn.subtree="dc=immae,dc=eu" | ||
239 | by dn.subtree="ou=external_services,dc=immae,dc=eu" break | ||
240 | by set.exact="this/-* & user" read | ||
241 | by set.exact="this/memberOf/-* & user" read | ||
242 | by set.exact="user/immaeAccessWriteDn*/member & this" write | ||
243 | by set.exact="user/immaeAccessDn*/member & this" read | ||
244 | by set.exact="user/immaeAccessReadSubtree* & this/-*" read | ||
245 | by set.exact="this/memberOf/-* & user/immaeAccessReadSubtree*" read | ||
246 | by users search | ||
247 | by * break | ||
248 | '') | ||
249 | #### /Local services | ||
250 | |||
251 | #### External services | ||
252 | # http://www.openldap.org/faq/data/cache/429.html | ||
253 | # FIXME: Find a way to whitelist? | ||
254 | (join ''{8}to attrs=immaeSshKey | ||
255 | by dn.subtree="ou=external_services,dc=immae,dc=eu" none | ||
256 | '') | ||
257 | (join ''{9}to dn.subtree="dc=immae,dc=eu" | ||
258 | by set.exact="this/-* & user" read | ||
259 | by set.exact="this/memberOf/-* & user" read | ||
260 | by set.exact="user/immaeAccessDn*/member & this/-*" read | ||
261 | by users search | ||
262 | by * none | ||
263 | '') | ||
264 | #### /External services | ||
265 | ]; | ||
266 | olcDbDirectory = cfg.dataDir; | ||
267 | olcRootDN = cfg.rootDn; | ||
268 | olcRootPW.path = config.secrets.fullPaths."ldap/password"; | ||
269 | olcSuffix = cfg.baseDn; | ||
270 | }; | ||
271 | children = { | ||
272 | "olcOverlay={0}memberof" = { | ||
273 | attrs = { | ||
274 | objectClass = [ "olcOverlayConfig" "olcMemberOf" ]; | ||
275 | olcOverlay = "{0}memberof"; | ||
276 | }; | ||
277 | }; | ||
278 | "olcOverlay={1}syncprov" = { | ||
279 | attrs = { | ||
280 | objectClass = [ "olcOverlayConfig" "olcSyncProvConfig" ]; | ||
281 | olcOverlay = "{1}syncprov"; | ||
282 | olcSpCheckpoint = "100 10"; | ||
283 | }; | ||
284 | }; | ||
285 | }; | ||
286 | }; | ||
287 | }; | ||
288 | }; | ||
289 | }; | ||
290 | myServices.monitoring.fromMasterActivatedPlugins = [ "tcp" ]; | ||
291 | myServices.monitoring.fromMasterObjects.service = [ | ||
292 | { | ||
293 | service_description = "ldap SSL is up to date"; | ||
294 | host_name = config.hostEnv.fqdn; | ||
295 | use = "external-service"; | ||
296 | check_command = ["check_tcp_ssl" "636"]; | ||
297 | |||
298 | servicegroups = "webstatus-ssl"; | ||
299 | _webstatus_name = "LDAP"; | ||
300 | _webstatus_url = "ldap.immae.eu"; | ||
301 | } | ||
302 | ]; | ||
303 | }; | ||
304 | } | ||
diff --git a/systems/eldiron/databases/postgresql.nix b/systems/eldiron/databases/postgresql.nix new file mode 100644 index 0000000..721059a --- /dev/null +++ b/systems/eldiron/databases/postgresql.nix | |||
@@ -0,0 +1,236 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.databases.postgresql; | ||
4 | in { | ||
5 | options.myServices.databases = { | ||
6 | postgresql = { | ||
7 | enable = lib.mkOption { | ||
8 | default = false; | ||
9 | example = true; | ||
10 | description = "Whether to enable postgresql database"; | ||
11 | type = lib.types.bool; | ||
12 | }; | ||
13 | package = lib.mkOption { | ||
14 | type = lib.types.package; | ||
15 | default = pkgs.postgresql; | ||
16 | description = '' | ||
17 | Postgresql package to use. | ||
18 | ''; | ||
19 | }; | ||
20 | ldapConfig = lib.mkOption { | ||
21 | description = "LDAP configuration to allow PAM identification via LDAP"; | ||
22 | type = lib.types.submodule { | ||
23 | options = { | ||
24 | host = lib.mkOption { type = lib.types.str; }; | ||
25 | base = lib.mkOption { type = lib.types.str; }; | ||
26 | dn = lib.mkOption { type = lib.types.str; }; | ||
27 | password = lib.mkOption { type = lib.types.str; }; | ||
28 | filter = lib.mkOption { type = lib.types.str; }; | ||
29 | }; | ||
30 | }; | ||
31 | }; | ||
32 | replicationLdapConfig = lib.mkOption { | ||
33 | description = "LDAP configuration to allow replication"; | ||
34 | type = lib.types.submodule { | ||
35 | options = { | ||
36 | host = lib.mkOption { type = lib.types.str; }; | ||
37 | base = lib.mkOption { type = lib.types.str; }; | ||
38 | dn = lib.mkOption { type = lib.types.str; }; | ||
39 | password = lib.mkOption { type = lib.types.str; }; | ||
40 | }; | ||
41 | }; | ||
42 | }; | ||
43 | authorizedHosts = lib.mkOption { | ||
44 | default = {}; | ||
45 | description = "Hosts to allow connections from"; | ||
46 | type = lib.types.attrsOf (lib.types.listOf (lib.types.submodule { | ||
47 | options = { | ||
48 | method = lib.mkOption { | ||
49 | default = "md5"; | ||
50 | type = lib.types.str; | ||
51 | }; | ||
52 | username = lib.mkOption { | ||
53 | default = "all"; | ||
54 | type = lib.types.str; | ||
55 | }; | ||
56 | database = lib.mkOption { | ||
57 | default = "all"; | ||
58 | type = lib.types.str; | ||
59 | }; | ||
60 | ip4 = lib.mkOption { | ||
61 | default = []; | ||
62 | type = lib.types.listOf lib.types.str; | ||
63 | }; | ||
64 | ip6 = lib.mkOption { | ||
65 | default = []; | ||
66 | type = lib.types.listOf lib.types.str; | ||
67 | }; | ||
68 | }; | ||
69 | })); | ||
70 | }; | ||
71 | replicationHosts = lib.mkOption { | ||
72 | default = {}; | ||
73 | description = "Hosts to allow replication from"; | ||
74 | type = lib.types.attrsOf (lib.types.submodule { | ||
75 | options = { | ||
76 | ip4 = lib.mkOption { | ||
77 | type = lib.types.listOf lib.types.str; | ||
78 | }; | ||
79 | ip6 = lib.mkOption { | ||
80 | type = lib.types.listOf lib.types.str; | ||
81 | }; | ||
82 | }; | ||
83 | }); | ||
84 | }; | ||
85 | # Output variables | ||
86 | socketsDir = lib.mkOption { | ||
87 | type = lib.types.path; | ||
88 | default = "/run/postgresql"; | ||
89 | description = '' | ||
90 | The directory where Postgresql puts sockets. | ||
91 | ''; | ||
92 | readOnly = true; | ||
93 | }; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | config = lib.mkIf cfg.enable { | ||
98 | networking.firewall.allowedTCPPorts = [ 5432 ]; | ||
99 | |||
100 | security.acme.certs."postgresql" = { | ||
101 | group = "postgres"; | ||
102 | domain = "db-1.immae.eu"; | ||
103 | postRun = '' | ||
104 | systemctl reload postgresql.service | ||
105 | ''; | ||
106 | }; | ||
107 | |||
108 | systemd.services.postgresql.serviceConfig = { | ||
109 | SupplementaryGroups = "keys"; | ||
110 | ExecStartPre = [ ("+" + (pkgs.writeShellScript "postgresql-fix-cert" '' | ||
111 | # postgresql complains: | ||
112 | # private key file "${config.security.acme.certs.postgresql.directory}/key.pem" must be owned by the database user or root | ||
113 | cp -f "${config.security.acme.certs.postgresql.directory}/key.pem" "${config.services.postgresql.dataDir}/key.pem" | ||
114 | chown postgres:postgres "${config.services.postgresql.dataDir}/key.pem" | ||
115 | chmod go-r "${config.services.postgresql.dataDir}/key.pem" | ||
116 | '')) ]; | ||
117 | }; | ||
118 | systemd.services.postgresql.postStart = lib.mkAfter '' | ||
119 | # This line is already defined in 19.09 | ||
120 | PSQL="psql --port=5432" | ||
121 | |||
122 | ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (role: _: '' | ||
123 | $PSQL -tAc "SELECT 1 FROM pg_roles WHERE rolname='${role}'" \ | ||
124 | | grep -q 1 \ | ||
125 | || $PSQL -tAc 'CREATE USER "${role}" WITH REPLICATION' | ||
126 | '') cfg.replicationHosts)} | ||
127 | |||
128 | ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (role: _: | ||
129 | let | ||
130 | sname = builtins.replaceStrings ["-"] ["_"] role; | ||
131 | in | ||
132 | '' | ||
133 | $PSQL -tAc "SELECT 1 FROM pg_replication_slots WHERE slot_name='${sname}'" \ | ||
134 | | grep -q 1 \ | ||
135 | || $PSQL -tAc "SELECT * FROM pg_create_physical_replication_slot('${sname}')" | ||
136 | '') cfg.replicationHosts)} | ||
137 | ''; | ||
138 | |||
139 | services.postgresql = { | ||
140 | enable = true; | ||
141 | package = cfg.package; | ||
142 | enableTCPIP = true; | ||
143 | checkConfig = false; | ||
144 | logLinePrefix = "%h %q%u@%d "; # Default: '%m [%p] ', already stored independently by journald. %h needed for fail2ban | ||
145 | settings = { | ||
146 | max_connections = 300; | ||
147 | wal_level = "logical"; | ||
148 | shared_buffers = "512MB"; | ||
149 | work_mem = "10MB"; | ||
150 | max_wal_size = "1GB"; | ||
151 | min_wal_size = "80MB"; | ||
152 | log_timezone = "Europe/Paris"; | ||
153 | datestyle = "iso, mdy"; | ||
154 | timezone = "Europe/Paris"; | ||
155 | lc_messages = "en_US.UTF-8"; | ||
156 | lc_monetary = "en_US.UTF-8"; | ||
157 | lc_numeric = "en_US.UTF-8"; | ||
158 | lc_time = "en_US.UTF-8"; | ||
159 | default_text_search_config = "pg_catalog.english"; | ||
160 | # this introduces a small delay before storing on disk, but | ||
161 | # makes it order of magnitudes quicker | ||
162 | synchronous_commit = "off"; | ||
163 | ssl = "on"; | ||
164 | ssl_cert_file = "${config.security.acme.certs.postgresql.directory}/fullchain.pem"; | ||
165 | ssl_key_file = "${config.services.postgresql.dataDir}/key.pem"; | ||
166 | }; | ||
167 | authentication = let | ||
168 | hosts = builtins.concatStringsSep "\n" ( | ||
169 | lib.lists.flatten (lib.mapAttrsToList (k: vs: map (v: | ||
170 | map (ip6: "hostssl ${v.database} ${v.username} ${ip6} ${v.method}") v.ip6 | ||
171 | ++ map (ip4: "hostssl ${v.database} ${v.username} ${ip4}/32 ${v.method}") v.ip4 | ||
172 | ) vs) cfg.authorizedHosts | ||
173 | )); | ||
174 | replication = builtins.concatStringsSep "\n" ( | ||
175 | lib.lists.flatten (lib.mapAttrsToList (k: v: | ||
176 | map (ip6: "hostssl replication ${k} ${ip6}/128 pam pamservice=postgresql_replication") v.ip6 | ||
177 | ++ map (ip4: "hostssl replication ${k} ${ip4}/32 pam pamservice=postgresql_replication") v.ip4 | ||
178 | ) cfg.replicationHosts | ||
179 | )); | ||
180 | in '' | ||
181 | local all postgres ident | ||
182 | local all all md5 | ||
183 | ${hosts} | ||
184 | hostssl all all all pam | ||
185 | ${replication} | ||
186 | ''; | ||
187 | }; | ||
188 | |||
189 | secrets.keys = { | ||
190 | "postgresql/pam" = { | ||
191 | permissions = "0400"; | ||
192 | group = "postgres"; | ||
193 | user = "postgres"; | ||
194 | text = with cfg.ldapConfig; '' | ||
195 | host ${host} | ||
196 | base ${base} | ||
197 | binddn ${dn} | ||
198 | bindpw ${password} | ||
199 | pam_filter ${filter} | ||
200 | ssl start_tls | ||
201 | ''; | ||
202 | }; | ||
203 | "postgresql/pam_replication" = { | ||
204 | permissions = "0400"; | ||
205 | group = "postgres"; | ||
206 | user = "postgres"; | ||
207 | text = with cfg.replicationLdapConfig; '' | ||
208 | host ${host} | ||
209 | base ${base} | ||
210 | binddn ${dn} | ||
211 | bindpw ${password} | ||
212 | pam_login_attribute cn | ||
213 | ssl start_tls | ||
214 | ''; | ||
215 | }; | ||
216 | }; | ||
217 | |||
218 | security.pam.services = let | ||
219 | pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so"; | ||
220 | in { | ||
221 | postgresql = { | ||
222 | text = '' | ||
223 | auth required ${pam_ldap} config=${config.secrets.fullPaths."postgresql/pam"} | ||
224 | account required ${pam_ldap} config=${config.secrets.fullPaths."postgresql/pam"} | ||
225 | ''; | ||
226 | }; | ||
227 | postgresql_replication = { | ||
228 | text = '' | ||
229 | auth required ${pam_ldap} config=${config.secrets.fullPaths."postgresql/pam_replication"} | ||
230 | account required ${pam_ldap} config=${config.secrets.fullPaths."postgresql/pam_replication"} | ||
231 | ''; | ||
232 | }; | ||
233 | }; | ||
234 | }; | ||
235 | } | ||
236 | |||
diff --git a/systems/eldiron/databases/redis.nix b/systems/eldiron/databases/redis.nix new file mode 100644 index 0000000..1f57aa9 --- /dev/null +++ b/systems/eldiron/databases/redis.nix | |||
@@ -0,0 +1,138 @@ | |||
1 | { lib, config, pkgs, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.databases.redis; | ||
4 | in { | ||
5 | options.myServices.databases.redis = { | ||
6 | enable = lib.mkOption { | ||
7 | default = false; | ||
8 | example = true; | ||
9 | description = "Whether to enable redis database"; | ||
10 | type = lib.types.bool; | ||
11 | }; | ||
12 | socketsDir = lib.mkOption { | ||
13 | type = lib.types.path; | ||
14 | default = "/run/redis"; | ||
15 | description = '' | ||
16 | The directory where Redis puts sockets. | ||
17 | ''; | ||
18 | }; | ||
19 | # Output variables | ||
20 | sockets = lib.mkOption { | ||
21 | type = lib.types.attrsOf lib.types.path; | ||
22 | default = { | ||
23 | redis = "${cfg.socketsDir}/redis.sock"; | ||
24 | }; | ||
25 | readOnly = true; | ||
26 | description = '' | ||
27 | Redis sockets | ||
28 | ''; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | config = lib.mkIf cfg.enable { | ||
33 | users.users.redis.uid = config.ids.uids.redis; | ||
34 | users.groups.redis.gid = config.ids.gids.redis; | ||
35 | services.redis.servers."" = { | ||
36 | enable = true; | ||
37 | bind = "127.0.0.1"; | ||
38 | unixSocket = cfg.sockets.redis; | ||
39 | unixSocketPerm = 777; | ||
40 | maxclients = 1024; | ||
41 | }; | ||
42 | systemd.services.redis.serviceConfig.Slice = "redis.slice"; | ||
43 | systemd.services.redis.serviceConfig.RuntimeDirectoryMode = lib.mkForce "0755"; | ||
44 | services.redis.servers."php-sessions" = { | ||
45 | enable = true; | ||
46 | maxclients = 1024; | ||
47 | unixSocketPerm = 777; | ||
48 | user = "wwwrun"; | ||
49 | }; | ||
50 | |||
51 | services.spiped = { | ||
52 | enable = true; | ||
53 | config.redis = { | ||
54 | decrypt = true; | ||
55 | source = "0.0.0.0:16379"; | ||
56 | target = "/run/redis/redis.sock"; | ||
57 | keyfile = config.secrets.fullPaths."redis/spiped_keyfile"; | ||
58 | }; | ||
59 | }; | ||
60 | systemd.services.spiped_redis = { | ||
61 | description = "Secure pipe 'redis'"; | ||
62 | after = [ "network.target" ]; | ||
63 | wantedBy = [ "multi-user.target" ]; | ||
64 | |||
65 | serviceConfig = { | ||
66 | Slice = "redis.slice"; | ||
67 | Restart = "always"; | ||
68 | User = "spiped"; | ||
69 | PermissionsStartOnly = true; | ||
70 | SupplementaryGroups = "keys"; | ||
71 | }; | ||
72 | |||
73 | script = "exec ${pkgs.spiped}/bin/spiped -F `cat /etc/spiped/redis.spec`"; | ||
74 | }; | ||
75 | |||
76 | #services.filesWatcher.predixy = { | ||
77 | # restart = true; | ||
78 | # paths = [ config.secrets.fullPaths."redis/predixy.conf" ]; | ||
79 | #}; | ||
80 | |||
81 | networking.firewall.allowedTCPPorts = [ 16379 ]; | ||
82 | secrets.keys = { | ||
83 | #"redis/predixy.conf" = { | ||
84 | # user = "redis"; | ||
85 | # group = "redis"; | ||
86 | # permissions = "0400"; | ||
87 | # text = '' | ||
88 | # Name Predixy | ||
89 | # Bind 127.0.0.1:7617 | ||
90 | # ClientTimeout 300 | ||
91 | # WorkerThreads 1 | ||
92 | |||
93 | # Authority { | ||
94 | # Auth "${config.myEnv.databases.redis.predixy.read}" { | ||
95 | # Mode read | ||
96 | # } | ||
97 | # } | ||
98 | |||
99 | # StandaloneServerPool { | ||
100 | # Databases 16 | ||
101 | # RefreshMethod fixed | ||
102 | # Group shard001 { | ||
103 | # + ${config.myEnv.databases.redis.socket} | ||
104 | # } | ||
105 | # } | ||
106 | # ''; | ||
107 | #}; | ||
108 | "redis/spiped_keyfile" = { | ||
109 | user = "spiped"; | ||
110 | group = "spiped"; | ||
111 | permissions = "0400"; | ||
112 | text = config.myEnv.databases.redis.spiped_key; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | systemd.slices.redis = { | ||
117 | description = "Redis slice"; | ||
118 | }; | ||
119 | |||
120 | #systemd.services.predixy = { | ||
121 | # description = "Redis proxy"; | ||
122 | # wantedBy = [ "multi-user.target" ]; | ||
123 | # after = [ "redis.service" ]; | ||
124 | |||
125 | # serviceConfig = { | ||
126 | # Slice = "redis.slice"; | ||
127 | # User = "redis"; | ||
128 | # Group = "redis"; | ||
129 | # SupplementaryGroups = "keys"; | ||
130 | # Type = "simple"; | ||
131 | |||
132 | # ExecStart = "${pkgs.predixy}/bin/predixy ${config.secrets.fullPaths."redis/predixy.conf"}"; | ||
133 | # }; | ||
134 | |||
135 | #}; | ||
136 | }; | ||
137 | } | ||
138 | |||
diff --git a/systems/eldiron/dns.nix b/systems/eldiron/dns.nix new file mode 100644 index 0000000..486fcc1 --- /dev/null +++ b/systems/eldiron/dns.nix | |||
@@ -0,0 +1,290 @@ | |||
1 | { lib, pkgs, config, dns-nix, ... }: | ||
2 | { | ||
3 | options.myServices.dns = { | ||
4 | enable = lib.mkEnableOption "enable DNS resolver"; | ||
5 | helpers = lib.mkOption { | ||
6 | readOnly = true; | ||
7 | description = '' | ||
8 | Some useful constants or functions for zones definition | ||
9 | ''; | ||
10 | default = rec { | ||
11 | servers = config.myEnv.servers; | ||
12 | ips = i: { A = i.ip4; AAAA = i.ip6; }; | ||
13 | letsencrypt = [ { tag = "issue"; value = "letsencrypt.org"; issuerCritical = false; } ]; | ||
14 | toKV = a: builtins.concatStringsSep ";" (builtins.attrValues (builtins.mapAttrs (n: v: "${n}=${v}") a)); | ||
15 | mailMX = { | ||
16 | hasEmail = true; | ||
17 | subdomains = let | ||
18 | mxes = lib.filterAttrs (n: v: v ? mx && v.mx.enable) servers; | ||
19 | in | ||
20 | lib.mapAttrs' (n: v: lib.nameValuePair v.mx.subdomain (ips v.ips.main)) mxes; | ||
21 | }; | ||
22 | zoneHeader = { | ||
23 | TTL = 3*60*60; | ||
24 | SOA = { | ||
25 | # yyyymmdd?? (increment ?? at each change) | ||
26 | serial = 2022121902; # Don't change this value, it is replaced automatically! | ||
27 | refresh = 10800; | ||
28 | retry = 3600; | ||
29 | expire = 604800; | ||
30 | minimum = 10800; # negative cache ttl | ||
31 | adminEmail = "hostmaster@immae.eu"; #email-address s/@/./ | ||
32 | nameServer = "ns1.immae.eu."; | ||
33 | }; | ||
34 | }; | ||
35 | mailSend = { | ||
36 | # DKIM | ||
37 | subdomains._domainkey.subdomains.eldiron.TXT = [ | ||
38 | (toKV config.myEnv.mail.dkim.eldiron.public) | ||
39 | ]; | ||
40 | # old key, may still be used by verifiers | ||
41 | subdomains._domainkey.subdomains.immae_eu.TXT = [ | ||
42 | (toKV config.myEnv.mail.dkim.immae_eu.public) | ||
43 | ]; | ||
44 | }; | ||
45 | mailCommon = name: { | ||
46 | MX = let | ||
47 | mxes = lib.filterAttrs (n: v: v ? mx && v.mx.enable) servers; | ||
48 | in | ||
49 | lib.mapAttrsToList (n: v: { preference = v.mx.priority; exchange = "${v.mx.subdomain}.${name}."; }) mxes; | ||
50 | |||
51 | # https://tools.ietf.org/html/rfc6186 | ||
52 | SRV = [ | ||
53 | { service = "submission"; proto = "tcp"; priority = 0; weight = 1; port = 587; target = "smtp.immae.eu."; } | ||
54 | { service = "submissions"; proto = "tcp"; priority = 0; weight = 1; port = 465; target = "smtp.immae.eu."; } | ||
55 | |||
56 | { service = "imap"; proto = "tcp"; priority = 0; weight = 1; port = 143; target = "imap.immae.eu."; } | ||
57 | { service = "imaps"; proto = "tcp"; priority = 0; weight = 1; port = 993; target = "imap.immae.eu."; } | ||
58 | { service = "sieve"; proto = "tcp"; priority = 0; weight = 1; port = 4190; target = "imap.immae.eu."; } | ||
59 | |||
60 | { service = "pop3"; proto = "tcp"; priority = 10; weight = 1; port = 110; target = "pop3.immae.eu."; } | ||
61 | { service = "pop3s"; proto = "tcp"; priority = 10; weight = 1; port = 995; target = "pop3.immae.eu."; } | ||
62 | ]; | ||
63 | |||
64 | subdomains = { | ||
65 | # MTA-STS | ||
66 | # https://blog.delouw.ch/2018/12/16/using-mta-sts-to-enhance-email-transport-security-and-privacy/ | ||
67 | # https://support.google.com/a/answer/9261504 | ||
68 | _mta-sts.TXT = [ (toKV { v = "STSv1"; id = "20200109150200Z"; }) ]; # Don't change this value, it is updated automatically! | ||
69 | _tls.subdomains._smtp.TXT = [ (toKV { v = "TLSRPTv1"; "rua" = "mailto:postmaster+mta-sts@immae.eu"; }) ]; | ||
70 | mta-sts = ips servers.eldiron.ips.main; | ||
71 | |||
72 | # DMARC | ||
73 | _dmarc.TXT = [ (toKV { v = "DMARC1"; p = "none"; adkim = "r"; aspf = "r"; fo = "1"; rua = "mailto:postmaster+rua@immae.eu"; ruf = "mailto:postmaster+ruf@immae.eu"; }) ]; | ||
74 | }; | ||
75 | |||
76 | # SPF | ||
77 | TXT = [ (toKV { v = "spf1 mx ~all"; }) ]; | ||
78 | }; | ||
79 | }; | ||
80 | }; | ||
81 | zones = lib.mkOption { | ||
82 | type = lib.types.attrsOf (dns-nix.lib.types.zone.substSubModules ( | ||
83 | dns-nix.lib.types.zone.getSubModules ++ [ | ||
84 | ({ name, ... }: { | ||
85 | options = { | ||
86 | hasEmail = lib.mkEnableOption "This domain has e-mails configuration"; | ||
87 | emailPolicies = lib.mkOption { | ||
88 | default = {}; | ||
89 | type = lib.types.attrsOf (lib.types.submodule { | ||
90 | options = { | ||
91 | receive = lib.mkEnableOption "Configure this domain to receive e-mail"; | ||
92 | }; | ||
93 | }); | ||
94 | apply = builtins.mapAttrs (n: v: v // { | ||
95 | domain = name; | ||
96 | fqdn = if n == "" then name else "${n}.${name}"; | ||
97 | }); | ||
98 | }; | ||
99 | extraConfig = lib.mkOption { | ||
100 | type = lib.types.lines; | ||
101 | description = "Extra zone configuration for bind"; | ||
102 | example = '' | ||
103 | notify yes; | ||
104 | ''; | ||
105 | default = ""; | ||
106 | }; | ||
107 | slaves = lib.mkOption { | ||
108 | type = lib.types.listOf lib.types.str; | ||
109 | description = "NS slave groups of this zone"; | ||
110 | default = []; | ||
111 | }; | ||
112 | ns = lib.mkOption { | ||
113 | type = lib.types.listOf lib.types.str; | ||
114 | default = []; | ||
115 | }; | ||
116 | }; | ||
117 | }) | ||
118 | ])); | ||
119 | apply = let | ||
120 | toNS = n: builtins.map (d: "${d}.") (builtins.concatMap (s: builtins.attrNames config.myEnv.dns.ns."${s}") n); | ||
121 | in | ||
122 | builtins.mapAttrs (n: v: v // { NS = v.NS or [] ++ toNS (v.ns); }); | ||
123 | default = {}; | ||
124 | description = '' | ||
125 | attrset of zones to configure | ||
126 | ''; | ||
127 | }; | ||
128 | }; | ||
129 | config = let | ||
130 | cfg = config.services.bind; | ||
131 | in lib.mkIf config.myServices.dns.enable { | ||
132 | myServices.chatonsProperties.hostings.dns-secondaire = { | ||
133 | file.datetime = "2022-08-22T02:00:00"; | ||
134 | hosting = { | ||
135 | name = "DNS secondaire"; | ||
136 | description = "DNS secondaire"; | ||
137 | website = "ns1.immae.eu"; | ||
138 | status.level = "OK"; | ||
139 | status.description = "OK"; | ||
140 | registration.load = "OPEN"; | ||
141 | install.type = "PACKAGE"; | ||
142 | }; | ||
143 | software = { | ||
144 | name = "bind9"; | ||
145 | website = pkgs.bind.meta.homepage; | ||
146 | license.url = pkgs.bind.meta.license.url; | ||
147 | license.name = pkgs.bind.meta.license.fullName; | ||
148 | version = pkgs.bind.version; | ||
149 | source.url = "https://www.isc.org/download/"; | ||
150 | }; | ||
151 | }; | ||
152 | myServices.dns.zones = with config.myServices.dns.helpers; { | ||
153 | "imsite.eu" = lib.mkMerge [ | ||
154 | zoneHeader | ||
155 | (ips servers.eldiron.ips.main) | ||
156 | { | ||
157 | ns = [ "immae" ]; | ||
158 | CAA = letsencrypt; | ||
159 | } | ||
160 | ]; | ||
161 | "immae.dev" = lib.mkMerge [ | ||
162 | { | ||
163 | extraConfig = '' | ||
164 | notify yes; | ||
165 | ''; | ||
166 | slaves = [ "raito" ]; | ||
167 | } | ||
168 | zoneHeader | ||
169 | (ips servers.eldiron.ips.integration) | ||
170 | { | ||
171 | ns = [ "immae" "raito" ]; | ||
172 | CAA = letsencrypt; | ||
173 | } | ||
174 | ]; | ||
175 | "immae.eu" = lib.mkMerge [ | ||
176 | { | ||
177 | extraConfig = '' | ||
178 | notify yes; | ||
179 | ''; | ||
180 | slaves = [ "raito" ]; | ||
181 | } | ||
182 | zoneHeader | ||
183 | (ips servers.eldiron.ips.production) | ||
184 | { | ||
185 | ns = [ "immae" "raito" ]; | ||
186 | CAA = letsencrypt; | ||
187 | |||
188 | # ns1 has glue records in gandi.net | ||
189 | subdomains.ns1 = ips servers.eldiron.ips.main; | ||
190 | # raito / kurisu.dual.lahfa.xyz ; replace with eldiron in case of problem | ||
191 | subdomains.ns2.A = builtins.map (address: { inherit address; ttl = 600; }) servers.eldiron.ips.main.ip4; | ||
192 | subdomains.ns2.AAAA = builtins.map (address: { inherit address; ttl = 600; }) servers.eldiron.ips.main.ip6; | ||
193 | } | ||
194 | { | ||
195 | # Machines local users | ||
196 | emailPolicies.localhost.receive = false; | ||
197 | subdomains.localhost = lib.mkMerge [ (mailCommon "immae.eu") mailSend ]; | ||
198 | emailPolicies.eldiron.receive = true; | ||
199 | subdomains.eldiron = lib.mkMerge [ (mailCommon "immae.eu") mailSend ]; | ||
200 | } | ||
201 | { | ||
202 | # For each server "server" and each server ip group "ipgroup", | ||
203 | # define ipgroup.server.immae.eu | ||
204 | # "main" is set as server.immae.eu instead | ||
205 | # if main has an "alias", it is duplicated with this alias. | ||
206 | # If the server is a vm, use the v.immae.eu namespace (only main is created) | ||
207 | subdomains = let | ||
208 | vms = lib.filterAttrs (n: v: v.isVm) servers; | ||
209 | bms = lib.filterAttrs (n: v: !v.isVm) servers; | ||
210 | toIps = type: builtins.mapAttrs (n: v: ips v.ips."${type}"); | ||
211 | in | ||
212 | lib.mkMerge [ | ||
213 | (toIps "main" bms) | ||
214 | |||
215 | { v.subdomains = toIps "main" vms; } | ||
216 | |||
217 | (lib.mapAttrs (_: v: { | ||
218 | subdomains = lib.mapAttrs' | ||
219 | (n': v': lib.nameValuePair "${if v'.alias == null then n' else v'.alias}" (ips v')) | ||
220 | (lib.filterAttrs (n': v': n' != "main" || v'.alias != null) v.ips); | ||
221 | }) bms) | ||
222 | ]; | ||
223 | } | ||
224 | { | ||
225 | # Outils | ||
226 | subdomains = { | ||
227 | status = ips servers.monitoring-1.ips.main; | ||
228 | }; | ||
229 | } | ||
230 | ]; | ||
231 | }; | ||
232 | networking.firewall.allowedUDPPorts = [ 53 ]; | ||
233 | networking.firewall.allowedTCPPorts = [ 53 ]; | ||
234 | users.users.named.extraGroups = [ "keys" ]; | ||
235 | services.bind = { | ||
236 | enable = true; | ||
237 | cacheNetworks = ["any"]; | ||
238 | extraOptions = '' | ||
239 | allow-recursion { 127.0.0.1; }; | ||
240 | allow-transfer { none; }; | ||
241 | |||
242 | notify-source ${lib.head config.myEnv.servers.eldiron.ips.main.ip4}; | ||
243 | notify-source-v6 ${lib.head config.myEnv.servers.eldiron.ips.main.ip6}; | ||
244 | version none; | ||
245 | hostname none; | ||
246 | server-id none; | ||
247 | ''; | ||
248 | zones = | ||
249 | builtins.mapAttrs (name: v: { | ||
250 | master = true; | ||
251 | extraConfig = v.extraConfig; | ||
252 | masters = []; | ||
253 | slaves = | ||
254 | lib.flatten (map (n: builtins.attrValues config.myEnv.dns.ns.${n}) v.slaves); | ||
255 | file = pkgs.runCommand "${name}.zone" { | ||
256 | text = v; | ||
257 | passAsFile = [ "text" ]; | ||
258 | # Automatically change the increment when relevant change | ||
259 | # happened (both serial and mta-sts) | ||
260 | } '' | ||
261 | mv "$textPath" $out | ||
262 | increment=$(( 100*($(date -u +%-H) * 60 + $(date -u +%-M))/1440 )) | ||
263 | sed -i -e "s/2022121902/$(date -u +%Y%m%d)$increment/g" $out | ||
264 | sed -i -e "s/20200109150200Z/$(date -u +%Y%m%d%H%M%SZ)/g" $out | ||
265 | ''; | ||
266 | }) config.myServices.dns.zones; | ||
267 | }; | ||
268 | myServices.monitoring.fromMasterActivatedPlugins = [ "dns" ]; | ||
269 | myServices.monitoring.fromMasterObjects.service = lib.mkMerge (lib.mapAttrsToList (name: z: | ||
270 | lib.optional (builtins.elem "immae" z.ns) { | ||
271 | service_description = "eldiron dns is active and authoritative for ${name}"; | ||
272 | host_name = config.hostEnv.fqdn; | ||
273 | use = "dns-service"; | ||
274 | check_command = ["check_dns" name "-A"]; | ||
275 | |||
276 | servicegroups = "webstatus-dns"; | ||
277 | _webstatus_name = name; | ||
278 | } ++ | ||
279 | lib.optional (builtins.elem "raito" z.ns) { | ||
280 | service_description = "raito dns is active and authoritative for ${name}"; | ||
281 | host_name = config.hostEnv.fqdn; | ||
282 | use = "dns-service"; | ||
283 | check_command = ["check_external_dns" "kurisu.dual.lahfa.xyz" name "-A"]; | ||
284 | |||
285 | servicegroups = "webstatus-dns"; | ||
286 | _webstatus_name = "${name} (Secondary DNS Raito)"; | ||
287 | } | ||
288 | ) config.myServices.dns.zones); | ||
289 | }; | ||
290 | } | ||
diff --git a/systems/eldiron/duply_backup.nix b/systems/eldiron/duply_backup.nix new file mode 100644 index 0000000..590d125 --- /dev/null +++ b/systems/eldiron/duply_backup.nix | |||
@@ -0,0 +1,151 @@ | |||
1 | { lib, pkgs, config, name, ... }: | ||
2 | |||
3 | let | ||
4 | cfg = config.myEnv.backup; | ||
5 | varDir = "/var/lib/duply"; | ||
6 | duplyProfile = profile: remote: prefix: '' | ||
7 | GPG_PW="${cfg.password}" | ||
8 | TARGET="${cfg.remotes.${remote}.remote profile.bucket}${prefix}" | ||
9 | export AWS_ACCESS_KEY_ID="${cfg.remotes.${remote}.accessKeyId}" | ||
10 | export AWS_SECRET_ACCESS_KEY="${cfg.remotes.${remote}.secretAccessKey}" | ||
11 | SOURCE="${profile.rootDir}" | ||
12 | FILENAME=".duplicity-ignore" | ||
13 | DUPL_PARAMS="$DUPL_PARAMS --exclude-if-present '$FILENAME'" | ||
14 | VERBOSITY=4 | ||
15 | ARCH_DIR="${varDir}/caches" | ||
16 | |||
17 | # Do a full backup after 1 month | ||
18 | MAX_FULLBKP_AGE=1M | ||
19 | DUPL_PARAMS="$DUPL_PARAMS --allow-source-mismatch --exclude-other-filesystems --full-if-older-than $MAX_FULLBKP_AGE " | ||
20 | # Backups older than 2months are deleted | ||
21 | MAX_AGE=2M | ||
22 | # Keep 2 full backups | ||
23 | MAX_FULL_BACKUPS=2 | ||
24 | MAX_FULLS_WITH_INCRS=2 | ||
25 | ''; | ||
26 | action = "bkp_purge_purgeFull_purgeIncr"; | ||
27 | varName = k: remoteName: | ||
28 | if remoteName == "eriomem" then k else remoteName + "_" + k; | ||
29 | in | ||
30 | { | ||
31 | options = { | ||
32 | services.duplyBackup.enable = lib.mkOption { | ||
33 | type = lib.types.bool; | ||
34 | default = false; | ||
35 | description = '' | ||
36 | Whether to enable remote backups. | ||
37 | ''; | ||
38 | }; | ||
39 | services.duplyBackup.profiles = lib.mkOption { | ||
40 | type = lib.types.attrsOf (lib.types.submodule { | ||
41 | options = { | ||
42 | rootDir = lib.mkOption { | ||
43 | type = lib.types.path; | ||
44 | description = '' | ||
45 | Path to backup | ||
46 | ''; | ||
47 | }; | ||
48 | bucket = lib.mkOption { | ||
49 | type = lib.types.str; | ||
50 | default = "immae-${name}"; | ||
51 | description = '' | ||
52 | Bucket to use | ||
53 | ''; | ||
54 | }; | ||
55 | remotes = lib.mkOption { | ||
56 | type = lib.types.listOf lib.types.str; | ||
57 | default = ["eriomem"]; | ||
58 | description = '' | ||
59 | Remotes to use for backup | ||
60 | ''; | ||
61 | }; | ||
62 | excludeFile = lib.mkOption { | ||
63 | type = lib.types.lines; | ||
64 | default = ""; | ||
65 | description = '' | ||
66 | Content to put in exclude file | ||
67 | ''; | ||
68 | }; | ||
69 | }; | ||
70 | }); | ||
71 | }; | ||
72 | }; | ||
73 | |||
74 | config = lib.mkIf config.services.duplyBackup.enable { | ||
75 | system.activationScripts.backup = '' | ||
76 | install -m 0700 -o root -g root -d ${varDir} ${varDir}/caches | ||
77 | ''; | ||
78 | secrets.keys = lib.listToAttrs (lib.flatten (lib.mapAttrsToList (k: v: | ||
79 | map (remote: [ | ||
80 | (lib.nameValuePair "backup/${varName k remote}/conf" { | ||
81 | permissions = "0400"; | ||
82 | text = duplyProfile v remote "${k}/"; | ||
83 | }) | ||
84 | (lib.nameValuePair "backup/${varName k remote}/exclude" { | ||
85 | permissions = "0400"; | ||
86 | text = v.excludeFile; | ||
87 | }) | ||
88 | (lib.nameValuePair "backup/${varName k remote}" { | ||
89 | permissions = "0500"; | ||
90 | isDir = true; | ||
91 | }) | ||
92 | ]) v.remotes) config.services.duplyBackup.profiles)); | ||
93 | |||
94 | services.cron = { | ||
95 | enable = true; | ||
96 | systemCronJobs = let | ||
97 | backups = pkgs.writeScript "backups" '' | ||
98 | #!${pkgs.stdenv.shell} | ||
99 | |||
100 | ${builtins.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList (k: v: | ||
101 | map (remote: [ | ||
102 | '' | ||
103 | touch ${varDir}/${varName k remote}.log | ||
104 | ${pkgs.duply}/bin/duply ${config.secrets.fullPaths."backup/${varName k remote}"}/ ${action} --force >> ${varDir}/${varName k remote}.log | ||
105 | [[ $? = 0 ]] || echo -e "Error when doing backup for ${varName k remote}, see above\n---------------------------------------" >&2 | ||
106 | '' | ||
107 | ]) v.remotes | ||
108 | ) config.services.duplyBackup.profiles))} | ||
109 | ''; | ||
110 | in | ||
111 | [ | ||
112 | "0 2 * * * root ${backups}" | ||
113 | ]; | ||
114 | |||
115 | }; | ||
116 | |||
117 | security.pki.certificateFiles = [ | ||
118 | (pkgs.fetchurl { | ||
119 | url = "http://downloads.e.eriomem.net/eriomemca.pem"; | ||
120 | sha256 = "1ixx4c6j3m26j8dp9a3dkvxc80v1nr5aqgmawwgs06bskasqkvvh"; | ||
121 | }) | ||
122 | ]; | ||
123 | |||
124 | myServices.monitoring.fromMasterActivatedPlugins = [ "eriomem" ]; | ||
125 | myServices.monitoring.fromMasterObjects.service = [ | ||
126 | { | ||
127 | service_description = "eriomem backup is up and not full"; | ||
128 | host_name = config.hostEnv.fqdn; | ||
129 | use = "external-service"; | ||
130 | check_command = "check_backup_eriomem"; | ||
131 | |||
132 | check_interval = 120; | ||
133 | notification_interval = "1440"; | ||
134 | |||
135 | servicegroups = "webstatus-backup"; | ||
136 | } | ||
137 | |||
138 | { | ||
139 | service_description = "ovh backup is up and not full"; | ||
140 | host_name = config.hostEnv.fqdn; | ||
141 | use = "external-service"; | ||
142 | check_command = "check_ok"; | ||
143 | |||
144 | check_interval = 120; | ||
145 | notification_interval = "1440"; | ||
146 | |||
147 | servicegroups = "webstatus-backup"; | ||
148 | } | ||
149 | ]; | ||
150 | }; | ||
151 | } | ||
diff --git a/systems/eldiron/ejabberd/default.nix b/systems/eldiron/ejabberd/default.nix new file mode 100644 index 0000000..5268516 --- /dev/null +++ b/systems/eldiron/ejabberd/default.nix | |||
@@ -0,0 +1,141 @@ | |||
1 | { lib, pkgs, config, mypackages-lib, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.ejabberd; | ||
4 | in | ||
5 | { | ||
6 | options.myServices = { | ||
7 | ejabberd.enable = lib.mkOption { | ||
8 | type = lib.types.bool; | ||
9 | default = false; | ||
10 | description = '' | ||
11 | Whether to enable ejabberd service. | ||
12 | ''; | ||
13 | }; | ||
14 | }; | ||
15 | |||
16 | config = lib.mkIf cfg.enable { | ||
17 | myServices.dns.zones."immae.fr" = with config.myServices.dns.helpers; | ||
18 | lib.mkMerge [ | ||
19 | { | ||
20 | extraConfig = '' | ||
21 | notify yes; | ||
22 | ''; | ||
23 | slaves = [ "raito" ]; | ||
24 | emailPolicies."".receive = true; | ||
25 | } | ||
26 | zoneHeader | ||
27 | mailMX | ||
28 | (mailCommon "immae.fr") | ||
29 | (ips servers.eldiron.ips.main) | ||
30 | { | ||
31 | ns = [ "immae" "raito" ]; | ||
32 | CAA = letsencrypt; | ||
33 | subdomains.www = ips servers.eldiron.ips.production; | ||
34 | subdomains.im = ips servers.eldiron.ips.main; | ||
35 | subdomains.conference = ips servers.eldiron.ips.main; | ||
36 | subdomains.pubsub = ips servers.eldiron.ips.main; | ||
37 | subdomains.proxy = ips servers.eldiron.ips.main; | ||
38 | subdomains.upload = ips servers.eldiron.ips.main; | ||
39 | subdomains._xmppconnect.TXT = [ | ||
40 | "_xmpp-client-xbosh=https://im.immae.fr/bosh" | ||
41 | "_xmpp-client-websocket=wss://im.immae.fr/ws" | ||
42 | ]; | ||
43 | } | ||
44 | ]; | ||
45 | |||
46 | security.acme.certs = { | ||
47 | "ejabberd" = { | ||
48 | group = "ejabberd"; | ||
49 | domain = "eldiron.immae.eu"; | ||
50 | keyType = "rsa4096"; | ||
51 | postRun = '' | ||
52 | systemctl restart ejabberd.service | ||
53 | ''; | ||
54 | extraDomainNames = [ "immae.fr" "conference.immae.fr" "proxy.immae.fr" "pubsub.immae.fr" "upload.immae.fr" ]; | ||
55 | }; | ||
56 | }; | ||
57 | networking.firewall.allowedTCPPorts = [ 5222 5269 ]; | ||
58 | myServices.websites.tools.im.enable = true; | ||
59 | systemd.services.ejabberd.postStop = '' | ||
60 | rm /var/log/ejabberd/erl_crash*.dump | ||
61 | ''; | ||
62 | secrets.keys = { | ||
63 | "ejabberd/psql.yml" = { | ||
64 | permissions = "0400"; | ||
65 | user = "ejabberd"; | ||
66 | group = "ejabberd"; | ||
67 | text = '' | ||
68 | sql_type: pgsql | ||
69 | sql_server: "localhost" | ||
70 | sql_database: "${config.myEnv.jabber.postgresql.database}" | ||
71 | sql_username: "${config.myEnv.jabber.postgresql.user}" | ||
72 | sql_password: "${config.myEnv.jabber.postgresql.password}" | ||
73 | ''; | ||
74 | }; | ||
75 | "ejabberd/host.yml" = { | ||
76 | permissions = "0400"; | ||
77 | user = "ejabberd"; | ||
78 | group = "ejabberd"; | ||
79 | text = '' | ||
80 | host_config: | ||
81 | "immae.fr": | ||
82 | domain_certfile: "${config.security.acme.certs.ejabberd.directory}/full.pem" | ||
83 | auth_method: [ldap] | ||
84 | ldap_servers: ["${config.myEnv.jabber.ldap.host}"] | ||
85 | ldap_encrypt: tls | ||
86 | ldap_rootdn: "${config.myEnv.jabber.ldap.dn}" | ||
87 | ldap_password: "${config.myEnv.jabber.ldap.password}" | ||
88 | ldap_base: "${config.myEnv.jabber.ldap.base}" | ||
89 | ldap_uids: | ||
90 | uid: "%u" | ||
91 | immaeXmppUid: "%u" | ||
92 | ldap_filter: "${config.myEnv.jabber.ldap.filter}" | ||
93 | ''; | ||
94 | }; | ||
95 | }; | ||
96 | users.users.ejabberd.extraGroups = [ "keys" ]; | ||
97 | services.ejabberd = { | ||
98 | package = pkgs.ejabberd.override { withPgsql = true; }; | ||
99 | imagemagick = true; | ||
100 | enable = true; | ||
101 | ctlConfig = '' | ||
102 | ERLANG_NODE=ejabberd@localhost | ||
103 | ''; | ||
104 | configFile = pkgs.runCommand "ejabberd.yml" { | ||
105 | certificatePrivateKeyAndFullChain = "${config.security.acme.certs.ejabberd.directory}/full.pem"; | ||
106 | certificateCA = "${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"; | ||
107 | sql_config_file = config.secrets.fullPaths."ejabberd/psql.yml"; | ||
108 | host_config_file = config.secrets.fullPaths."ejabberd/host.yml"; | ||
109 | } '' | ||
110 | substituteAll ${./ejabberd.yml} $out | ||
111 | ''; | ||
112 | }; | ||
113 | secrets.keys."postfix/scripts/ejabberd-env" = { | ||
114 | user = "postfixscripts"; | ||
115 | group = "root"; | ||
116 | permissions = "0400"; | ||
117 | text = builtins.toJSON { | ||
118 | jid = "notify_bot@immae.fr"; | ||
119 | password = "{{ .xmpp.notify_bot }}"; | ||
120 | }; | ||
121 | }; | ||
122 | services.postfix.extraAliases = let | ||
123 | nixpkgs = builtins.fetchTarball { | ||
124 | url = "https://github.com/NixOS/nixpkgs/archive/840c782d507d60aaa49aa9e3f6d0b0e780912742.tar.gz"; | ||
125 | sha256 = "14q3kvnmgz19pgwyq52gxx0cs90ddf24pnplmq33pdddbb6c51zn"; | ||
126 | }; | ||
127 | pkgs' = import nixpkgs { inherit (pkgs) system; overlays = []; }; | ||
128 | warn_xmpp_email = scriptEnv: pkgs'.runCommand "warn_xmpp_email" { | ||
129 | inherit scriptEnv; | ||
130 | pythonEnv = pkgs'.python3.withPackages (ps: [ | ||
131 | ps.unidecode ps.slixmpp | ||
132 | ]); | ||
133 | } '' | ||
134 | substituteAll ${./warn_xmpp_email.py} $out | ||
135 | chmod a+x $out | ||
136 | ''; | ||
137 | in '' | ||
138 | ejabberd: "|${mypackages-lib.postfixScript pkgs "ejabberd" (warn_xmpp_email config.secrets.fullPaths."postfix/scripts/ejabberd-env")}" | ||
139 | ''; | ||
140 | }; | ||
141 | } | ||
diff --git a/systems/eldiron/ejabberd/ejabberd.yml b/systems/eldiron/ejabberd/ejabberd.yml new file mode 100644 index 0000000..82ac35b --- /dev/null +++ b/systems/eldiron/ejabberd/ejabberd.yml | |||
@@ -0,0 +1,231 @@ | |||
1 | ### | ||
2 | ### ejabberd configuration file | ||
3 | ### | ||
4 | ### The parameters used in this configuration file are explained at | ||
5 | ### | ||
6 | ### https://docs.ejabberd.im/admin/configuration | ||
7 | ### | ||
8 | ### The configuration file is written in YAML. | ||
9 | ### ******************************************************* | ||
10 | ### ******* !!! WARNING !!! ******* | ||
11 | ### ******* YAML IS INDENTATION SENSITIVE ******* | ||
12 | ### ******* MAKE SURE YOU INDENT SECTIONS CORRECTLY ******* | ||
13 | ### ******************************************************* | ||
14 | ### Refer to http://en.wikipedia.org/wiki/YAML for the brief description. | ||
15 | ### However, ejabberd treats different literals as different types: | ||
16 | ### | ||
17 | ### - unquoted or single-quoted strings. They are called "atoms". | ||
18 | ### Example: dog, 'Jupiter', '3.14159', YELLOW | ||
19 | ### | ||
20 | ### - numeric literals. Example: 3, -45.0, .0 | ||
21 | ### | ||
22 | ### - quoted or folded strings. | ||
23 | ### Examples of quoted string: "Lizzard", "orange". | ||
24 | ### Example of folded string: | ||
25 | ### > Art thou not Romeo, | ||
26 | ### and a Montague? | ||
27 | ### | ||
28 | |||
29 | hosts: | ||
30 | - "immae.fr" | ||
31 | |||
32 | loglevel: 4 | ||
33 | log_rotate_size: 10485760 | ||
34 | log_rotate_date: "" | ||
35 | log_rotate_count: 1 | ||
36 | log_rate_limit: 100 | ||
37 | |||
38 | certfiles: | ||
39 | - "@certificatePrivateKeyAndFullChain@" | ||
40 | |||
41 | listen: | ||
42 | - | ||
43 | port: 5222 | ||
44 | ip: "::" | ||
45 | module: ejabberd_c2s | ||
46 | max_stanza_size: 262144 | ||
47 | shaper: c2s_shaper | ||
48 | access: c2s | ||
49 | starttls_required: true | ||
50 | - | ||
51 | port: 5269 | ||
52 | ip: "::" | ||
53 | module: ejabberd_s2s_in | ||
54 | max_stanza_size: 524288 | ||
55 | - | ||
56 | port: 5280 | ||
57 | ip: "127.0.0.1" | ||
58 | module: ejabberd_http | ||
59 | request_handlers: | ||
60 | "/admin": ejabberd_web_admin | ||
61 | "/api": mod_http_api | ||
62 | "/bosh": mod_bosh | ||
63 | "/captcha": ejabberd_captcha | ||
64 | "/upload": mod_http_upload | ||
65 | "/ws": ejabberd_http_ws | ||
66 | tls: false | ||
67 | |||
68 | s2s_use_starttls: optional | ||
69 | s2s_cafile: "@certificateCA@" | ||
70 | |||
71 | default_db: sql | ||
72 | include_config_file: @sql_config_file@ | ||
73 | include_config_file: @host_config_file@ | ||
74 | new_sql_schema: true | ||
75 | |||
76 | acl: | ||
77 | admin: | ||
78 | - user: "ismael@immae.fr" | ||
79 | local: | ||
80 | user_regexp: "" | ||
81 | loopback: | ||
82 | ip: | ||
83 | - "127.0.0.0/8" | ||
84 | - "::1/128" | ||
85 | - "::FFFF:127.0.0.1/128" | ||
86 | |||
87 | access_rules: | ||
88 | local: | ||
89 | - allow: local | ||
90 | c2s: | ||
91 | - deny: blocked | ||
92 | - allow | ||
93 | announce: | ||
94 | - allow: admin | ||
95 | configure: | ||
96 | - allow: admin | ||
97 | muc_admin: | ||
98 | - allow: admin | ||
99 | muc_create: | ||
100 | - allow: local | ||
101 | muc: | ||
102 | - allow | ||
103 | pubsub_createnode: | ||
104 | - allow: local | ||
105 | register: | ||
106 | - deny | ||
107 | trusted_network: | ||
108 | - allow: loopback | ||
109 | |||
110 | api_permissions: | ||
111 | "console commands": | ||
112 | from: | ||
113 | - ejabberd_ctl | ||
114 | who: all | ||
115 | what: "*" | ||
116 | "admin access": | ||
117 | who: | ||
118 | - acl: admin | ||
119 | - oauth: | ||
120 | - scope: "ejabberd:admin" | ||
121 | - acl: admin | ||
122 | what: | ||
123 | - "*" | ||
124 | - "!stop" | ||
125 | - "!start" | ||
126 | "public commands": | ||
127 | who: | ||
128 | - ip: | ||
129 | - "0.0.0.0" | ||
130 | - "::" | ||
131 | what: | ||
132 | - "status" | ||
133 | - "connected_users_number" | ||
134 | |||
135 | shaper: | ||
136 | normal: 1000 | ||
137 | fast: 50000 | ||
138 | |||
139 | shaper_rules: | ||
140 | max_user_sessions: 10 | ||
141 | max_user_offline_messages: | ||
142 | - 5000: admin | ||
143 | - 100 | ||
144 | c2s_shaper: | ||
145 | - none: admin | ||
146 | - normal | ||
147 | s2s_shaper: fast | ||
148 | |||
149 | modules: | ||
150 | mod_adhoc: {} | ||
151 | mod_admin_extra: {} | ||
152 | mod_announce: | ||
153 | access: announce | ||
154 | mod_avatar: {} | ||
155 | mod_blocking: {} | ||
156 | mod_bosh: {} | ||
157 | mod_caps: {} | ||
158 | mod_carboncopy: {} | ||
159 | mod_client_state: {} | ||
160 | mod_configure: {} | ||
161 | mod_disco: {} | ||
162 | mod_fail2ban: {} | ||
163 | mod_http_api: {} | ||
164 | mod_http_upload: | ||
165 | put_url: "https://im.immae.fr/upload" | ||
166 | custom_headers: | ||
167 | "Access-Control-Allow-Origin": "*" | ||
168 | "Access-Control-Allow-Methods": "OPTIONS, HEAD, GET, PUT, POST" | ||
169 | "Access-Control-Allow-Headers": "Content-Type" | ||
170 | mod_last: {} | ||
171 | mod_mam: | ||
172 | default: always | ||
173 | mod_muc: | ||
174 | access: | ||
175 | - allow | ||
176 | access_admin: | ||
177 | - allow: admin | ||
178 | access_create: muc_create | ||
179 | access_persistent: muc_create | ||
180 | default_room_options: | ||
181 | mam: true | ||
182 | mod_muc_admin: {} | ||
183 | mod_offline: | ||
184 | access_max_user_messages: max_user_offline_messages | ||
185 | mod_ping: {} | ||
186 | mod_privacy: {} | ||
187 | mod_private: {} | ||
188 | mod_proxy65: | ||
189 | access: local | ||
190 | max_connections: 5 | ||
191 | mod_pubsub: | ||
192 | access_createnode: pubsub_createnode | ||
193 | plugins: | ||
194 | - "flat" | ||
195 | - "pep" | ||
196 | force_node_config: | ||
197 | ## Change from "whitelist" to "open" to enable OMEMO support | ||
198 | ## See https://github.com/processone/ejabberd/issues/2425 | ||
199 | "eu.siacs.conversations.axolotl.*": | ||
200 | access_model: open | ||
201 | ## Avoid buggy clients to make their bookmarks public | ||
202 | "storage:bookmarks": | ||
203 | access_model: whitelist | ||
204 | mod_push: {} | ||
205 | mod_push_keepalive: {} | ||
206 | mod_register: | ||
207 | ## Only accept registration requests from the "trusted" | ||
208 | ## network (see access_rules section above). | ||
209 | ## Think twice before enabling registration from any | ||
210 | ## address. See the Jabber SPAM Manifesto for details: | ||
211 | ## https://github.com/ge0rg/jabber-spam-fighting-manifesto | ||
212 | ip_access: trusted_network | ||
213 | access: register | ||
214 | mod_roster: | ||
215 | versioning: true | ||
216 | mod_s2s_dialback: {} | ||
217 | mod_shared_roster: {} | ||
218 | mod_stats: {} | ||
219 | mod_stream_mgmt: | ||
220 | resend_on_timeout: if_offline | ||
221 | mod_time: {} | ||
222 | mod_vcard: {} | ||
223 | mod_vcard_xupdate: {} | ||
224 | mod_version: | ||
225 | show_os: false | ||
226 | |||
227 | ### Local Variables: | ||
228 | ### mode: yaml | ||
229 | ### End: | ||
230 | ### vim: set filetype=yaml tabstop=8 | ||
231 | |||
diff --git a/systems/eldiron/ejabberd/warn_xmpp_email.py b/systems/eldiron/ejabberd/warn_xmpp_email.py new file mode 100755 index 0000000..d482b43 --- /dev/null +++ b/systems/eldiron/ejabberd/warn_xmpp_email.py | |||
@@ -0,0 +1,112 @@ | |||
1 | #!@pythonEnv@/bin/python3 | ||
2 | |||
3 | import sys | ||
4 | import json | ||
5 | import slixmpp | ||
6 | import asyncio | ||
7 | import logging | ||
8 | import io | ||
9 | |||
10 | CONFIG = json.load(open("@scriptEnv@", "r")) | ||
11 | |||
12 | def sanitize(string): | ||
13 | import re | ||
14 | from unidecode import unidecode | ||
15 | return re.compile(r"[^-.A-Za-z0-9_]").sub("_", unidecode(string)) | ||
16 | |||
17 | def parse_email(): | ||
18 | import email | ||
19 | from email.header import decode_header | ||
20 | |||
21 | mail = email.message_from_file(sys.stdin) | ||
22 | try: | ||
23 | d = decode_header(mail["subject"])[0] | ||
24 | if d[1] is not None: | ||
25 | subject = d[0].decode(d[1]) | ||
26 | else: | ||
27 | subject = d[0] | ||
28 | except Exception as e: | ||
29 | subject = mail["subject"] | ||
30 | sender = mail["from"] | ||
31 | recipient = mail["X-Original-To"] | ||
32 | |||
33 | body = "" | ||
34 | html = None | ||
35 | files = {} | ||
36 | for part in mail.walk(): | ||
37 | if part.get_content_type() == "text/plain": | ||
38 | body += "\n-------------------\n" | ||
39 | try: | ||
40 | body += part.get_payload(decode=True).decode(encoding=part.get_content_charset() or "utf-8") | ||
41 | except Exception as e: | ||
42 | body += part.get_payload(decode=False) | ||
43 | elif part.get_content_type() == "text/html": | ||
44 | html = part.get_payload(decode=True) | ||
45 | elif part.get_content_type() != "text/html" and\ | ||
46 | part.get_content_maintype() != "multipart": | ||
47 | |||
48 | filename = part.get_filename() or "{}.dat".format(part["Content-ID"]) | ||
49 | files[sanitize(filename)] = (part.get_content_type(), part.get_payload(decode=True)) | ||
50 | |||
51 | return [body, html, subject, sender, recipient, files] | ||
52 | |||
53 | [body, html, subject, sender, recipient, files] = parse_email() | ||
54 | |||
55 | class Bot(slixmpp.ClientXMPP): | ||
56 | def __init__(self, jid, password, body, html, subject, sender, recipient, files): | ||
57 | super().__init__(jid, password) | ||
58 | |||
59 | self.got_error = False | ||
60 | self.body = body | ||
61 | self.html = html | ||
62 | self.subject = subject | ||
63 | self.sender = sender | ||
64 | self.recipient = recipient | ||
65 | self.files = files | ||
66 | self.register_plugin('xep_0363') | ||
67 | self.add_event_handler("session_start", self.session_start) | ||
68 | self.add_event_handler("message", self.message) | ||
69 | |||
70 | @asyncio.coroutine | ||
71 | def session_start(self, event): | ||
72 | files = [] | ||
73 | if self.html is not None: | ||
74 | url = yield from self['xep_0363'].upload_file( | ||
75 | "mail.html", | ||
76 | content_type="text/html", | ||
77 | input_file=io.BytesIO(self.html)) | ||
78 | files.append(("HTML version", url)) | ||
79 | for f in self.files: | ||
80 | url = yield from self['xep_0363'].upload_file( | ||
81 | f, | ||
82 | content_type=self.files[f][0], | ||
83 | input_file=io.BytesIO(self.files[f][1]) | ||
84 | ) | ||
85 | files.append((f, url)) | ||
86 | |||
87 | text = """ | ||
88 | New e-mail message from {sender} | ||
89 | Subject: {subject} | ||
90 | {body} | ||
91 | """.format(sender=self.sender, subject=self.subject, body=self.body) | ||
92 | if len(files) > 0: | ||
93 | text += "\n\nAttachments:" | ||
94 | for f in files: | ||
95 | text += "\n{}: {}".format(f[0], f[1]) | ||
96 | self.send_message(mto=self.recipient, mbody=text, msubject=self.subject, mtype='message') | ||
97 | yield from asyncio.sleep(5) | ||
98 | self.disconnect() | ||
99 | |||
100 | @asyncio.coroutine | ||
101 | def message(self, msg): | ||
102 | if msg["type"] == "error": | ||
103 | self.got_error = True | ||
104 | |||
105 | logging.basicConfig(level=logging.DEBUG, format='%(levelname)-8s %(message)s') | ||
106 | xmpp = Bot(CONFIG["jid"], CONFIG["password"], body, html, subject, sender, recipient, files) | ||
107 | xmpp.connect() | ||
108 | xmpp.process(forever=False) | ||
109 | if xmpp.got_error: | ||
110 | sys.exit(1) | ||
111 | else: | ||
112 | sys.exit(0) | ||
diff --git a/systems/eldiron/flake.lock b/systems/eldiron/flake.lock new file mode 100644 index 0000000..99a5c92 --- /dev/null +++ b/systems/eldiron/flake.lock | |||
@@ -0,0 +1,2758 @@ | |||
1 | { | ||
2 | "nodes": { | ||
3 | "backports": { | ||
4 | "inputs": { | ||
5 | "flake-utils": "flake-utils_12", | ||
6 | "nixpkgs": "nixpkgs_15" | ||
7 | }, | ||
8 | "locked": { | ||
9 | "lastModified": 1, | ||
10 | "narHash": "sha256-VewHWeZvwLvWVm2bMQk5UQ0G/HyO8X87BssvmbLWbrY=", | ||
11 | "path": "../../backports", | ||
12 | "type": "path" | ||
13 | }, | ||
14 | "original": { | ||
15 | "path": "../../backports", | ||
16 | "type": "path" | ||
17 | } | ||
18 | }, | ||
19 | "buildslist": { | ||
20 | "flake": false, | ||
21 | "locked": { | ||
22 | "lastModified": 1585697026, | ||
23 | "narHash": "sha256-7CO89q6Bmg59eN5tFGYaqJR/rpJrLu7dpulXgJUv/0E=", | ||
24 | "ref": "master", | ||
25 | "rev": "fb8641f2badcec9f232cc5f727009911fc1c89b0", | ||
26 | "revCount": 4, | ||
27 | "type": "git", | ||
28 | "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist" | ||
29 | }, | ||
30 | "original": { | ||
31 | "type": "git", | ||
32 | "url": "https://git.immae.eu/perso/Immae/Projets/Buildbot/buildslist" | ||
33 | } | ||
34 | }, | ||
35 | "colmena": { | ||
36 | "inputs": { | ||
37 | "flake-compat": "flake-compat", | ||
38 | "flake-utils": "flake-utils_2", | ||
39 | "nixpkgs": "nixpkgs", | ||
40 | "stable": "stable" | ||
41 | }, | ||
42 | "locked": { | ||
43 | "lastModified": 1687954574, | ||
44 | "narHash": "sha256-YasVTaNXq2xqZdejyIhuyqvNypmx+K/Y1ZZ4+raeeII=", | ||
45 | "owner": "immae", | ||
46 | "repo": "colmena", | ||
47 | "rev": "e427171150a35e23204c4c15a2483358d22a0eff", | ||
48 | "type": "github" | ||
49 | }, | ||
50 | "original": { | ||
51 | "owner": "immae", | ||
52 | "ref": "add-lib-get-flake", | ||
53 | "repo": "colmena", | ||
54 | "type": "github" | ||
55 | } | ||
56 | }, | ||
57 | "copanier": { | ||
58 | "flake": false, | ||
59 | "locked": { | ||
60 | "lastModified": 1633895178, | ||
61 | "narHash": "sha256-0xrh12eBSVpgVeniSbKQAuGBhIyVB/rB/H3Tt7EJ1vQ=", | ||
62 | "owner": "spiral-project", | ||
63 | "repo": "copanier", | ||
64 | "rev": "d1b92cc639f4d25ad31baf4a6579a33c44a0d837", | ||
65 | "type": "github" | ||
66 | }, | ||
67 | "original": { | ||
68 | "owner": "spiral-project", | ||
69 | "repo": "copanier", | ||
70 | "type": "github" | ||
71 | } | ||
72 | }, | ||
73 | "diaspora": { | ||
74 | "flake": false, | ||
75 | "locked": { | ||
76 | "lastModified": 1551139311, | ||
77 | "narHash": "sha256-Fyv7Af68YccJL2OGz6l9d71UmnLB+LstlWbOlgFZtgo=", | ||
78 | "owner": "diaspora", | ||
79 | "repo": "diaspora", | ||
80 | "rev": "663da1ef2573863eb870e0edbd50050f261f3d30", | ||
81 | "type": "github" | ||
82 | }, | ||
83 | "original": { | ||
84 | "owner": "diaspora", | ||
85 | "ref": "v0.7.10.0", | ||
86 | "repo": "diaspora", | ||
87 | "type": "github" | ||
88 | } | ||
89 | }, | ||
90 | "disko": { | ||
91 | "inputs": { | ||
92 | "nixpkgs": "nixpkgs_2" | ||
93 | }, | ||
94 | "locked": { | ||
95 | "lastModified": 1687968164, | ||
96 | "narHash": "sha256-L9jr2zCB6NIaBE3towusjGBigsnE2pMID8wBGkYbTS4=", | ||
97 | "owner": "nix-community", | ||
98 | "repo": "disko", | ||
99 | "rev": "8002e7cb899bc2a02a2ebfb7f999fcd7c18b92a1", | ||
100 | "type": "github" | ||
101 | }, | ||
102 | "original": { | ||
103 | "owner": "nix-community", | ||
104 | "repo": "disko", | ||
105 | "type": "github" | ||
106 | } | ||
107 | }, | ||
108 | "dns-nix": { | ||
109 | "inputs": { | ||
110 | "flake-utils": "flake-utils", | ||
111 | "nixpkgs": [ | ||
112 | "nixpkgs" | ||
113 | ] | ||
114 | }, | ||
115 | "locked": { | ||
116 | "lastModified": 1635273082, | ||
117 | "narHash": "sha256-EHiDP2jEa7Ai5ZwIf5uld9RVFcV77+2SUxjQXwJsJa0=", | ||
118 | "owner": "kirelagin", | ||
119 | "repo": "dns.nix", | ||
120 | "rev": "c7b9645da9c0ddce4f9de4ef27ec01bb8108039a", | ||
121 | "type": "github" | ||
122 | }, | ||
123 | "original": { | ||
124 | "owner": "kirelagin", | ||
125 | "repo": "dns.nix", | ||
126 | "type": "github" | ||
127 | } | ||
128 | }, | ||
129 | "environment": { | ||
130 | "locked": { | ||
131 | "lastModified": 1, | ||
132 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
133 | "path": "../environment", | ||
134 | "type": "path" | ||
135 | }, | ||
136 | "original": { | ||
137 | "path": "../environment", | ||
138 | "type": "path" | ||
139 | } | ||
140 | }, | ||
141 | "environment_2": { | ||
142 | "locked": { | ||
143 | "lastModified": 1, | ||
144 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
145 | "path": "../environment", | ||
146 | "type": "path" | ||
147 | }, | ||
148 | "original": { | ||
149 | "path": "../environment", | ||
150 | "type": "path" | ||
151 | } | ||
152 | }, | ||
153 | "environment_3": { | ||
154 | "locked": { | ||
155 | "lastModified": 1, | ||
156 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
157 | "path": "../environment", | ||
158 | "type": "path" | ||
159 | }, | ||
160 | "original": { | ||
161 | "path": "../environment", | ||
162 | "type": "path" | ||
163 | } | ||
164 | }, | ||
165 | "environment_4": { | ||
166 | "locked": { | ||
167 | "lastModified": 1, | ||
168 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
169 | "path": "../environment", | ||
170 | "type": "path" | ||
171 | }, | ||
172 | "original": { | ||
173 | "path": "../environment", | ||
174 | "type": "path" | ||
175 | } | ||
176 | }, | ||
177 | "environment_5": { | ||
178 | "locked": { | ||
179 | "lastModified": 1, | ||
180 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
181 | "path": "../environment", | ||
182 | "type": "path" | ||
183 | }, | ||
184 | "original": { | ||
185 | "path": "../environment", | ||
186 | "type": "path" | ||
187 | } | ||
188 | }, | ||
189 | "environment_6": { | ||
190 | "locked": { | ||
191 | "lastModified": 1, | ||
192 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
193 | "path": "../environment", | ||
194 | "type": "path" | ||
195 | }, | ||
196 | "original": { | ||
197 | "path": "../environment", | ||
198 | "type": "path" | ||
199 | } | ||
200 | }, | ||
201 | "etherpad-lite": { | ||
202 | "flake": false, | ||
203 | "locked": { | ||
204 | "lastModified": 1587951095, | ||
205 | "narHash": "sha256-PjAkvkC7tJzRECUqOvuWfoZTz8QqDXk6oXEN3ig24rQ=", | ||
206 | "owner": "ether", | ||
207 | "repo": "etherpad-lite", | ||
208 | "rev": "62101147a0c3495dc80daa87ab53a3366321a205", | ||
209 | "type": "github" | ||
210 | }, | ||
211 | "original": { | ||
212 | "owner": "ether", | ||
213 | "ref": "1.8.3", | ||
214 | "repo": "etherpad-lite", | ||
215 | "type": "github" | ||
216 | } | ||
217 | }, | ||
218 | "files-watcher": { | ||
219 | "locked": { | ||
220 | "lastModified": 1, | ||
221 | "narHash": "sha256-ZsdumUVoSPkV/DB6gO6dNDttjzalye0ToVBF9bl5W0k=", | ||
222 | "path": "../../files-watcher", | ||
223 | "type": "path" | ||
224 | }, | ||
225 | "original": { | ||
226 | "path": "../../files-watcher", | ||
227 | "type": "path" | ||
228 | } | ||
229 | }, | ||
230 | "files-watcher_2": { | ||
231 | "locked": { | ||
232 | "lastModified": 1, | ||
233 | "narHash": "sha256-ZsdumUVoSPkV/DB6gO6dNDttjzalye0ToVBF9bl5W0k=", | ||
234 | "path": "../../files-watcher", | ||
235 | "type": "path" | ||
236 | }, | ||
237 | "original": { | ||
238 | "path": "../../files-watcher", | ||
239 | "type": "path" | ||
240 | } | ||
241 | }, | ||
242 | "files-watcher_3": { | ||
243 | "locked": { | ||
244 | "lastModified": 1, | ||
245 | "narHash": "sha256-ZsdumUVoSPkV/DB6gO6dNDttjzalye0ToVBF9bl5W0k=", | ||
246 | "path": "../../files-watcher", | ||
247 | "type": "path" | ||
248 | }, | ||
249 | "original": { | ||
250 | "path": "../../files-watcher", | ||
251 | "type": "path" | ||
252 | } | ||
253 | }, | ||
254 | "files-watcher_4": { | ||
255 | "locked": { | ||
256 | "lastModified": 1, | ||
257 | "narHash": "sha256-ZsdumUVoSPkV/DB6gO6dNDttjzalye0ToVBF9bl5W0k=", | ||
258 | "path": "../files-watcher", | ||
259 | "type": "path" | ||
260 | }, | ||
261 | "original": { | ||
262 | "path": "../files-watcher", | ||
263 | "type": "path" | ||
264 | } | ||
265 | }, | ||
266 | "flake-compat": { | ||
267 | "flake": false, | ||
268 | "locked": { | ||
269 | "lastModified": 1650374568, | ||
270 | "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", | ||
271 | "owner": "edolstra", | ||
272 | "repo": "flake-compat", | ||
273 | "rev": "b4a34015c698c7793d592d66adbab377907a2be8", | ||
274 | "type": "github" | ||
275 | }, | ||
276 | "original": { | ||
277 | "owner": "edolstra", | ||
278 | "repo": "flake-compat", | ||
279 | "type": "github" | ||
280 | } | ||
281 | }, | ||
282 | "flake-parts": { | ||
283 | "inputs": { | ||
284 | "nixpkgs-lib": "nixpkgs-lib" | ||
285 | }, | ||
286 | "locked": { | ||
287 | "lastModified": 1687762428, | ||
288 | "narHash": "sha256-DIf7mi45PKo+s8dOYF+UlXHzE0Wl/+k3tXUyAoAnoGE=", | ||
289 | "owner": "hercules-ci", | ||
290 | "repo": "flake-parts", | ||
291 | "rev": "37dd7bb15791c86d55c5121740a1887ab55ee836", | ||
292 | "type": "github" | ||
293 | }, | ||
294 | "original": { | ||
295 | "owner": "hercules-ci", | ||
296 | "repo": "flake-parts", | ||
297 | "type": "github" | ||
298 | } | ||
299 | }, | ||
300 | "flake-parts_2": { | ||
301 | "inputs": { | ||
302 | "nixpkgs-lib": "nixpkgs-lib_3" | ||
303 | }, | ||
304 | "locked": { | ||
305 | "lastModified": 1675295133, | ||
306 | "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", | ||
307 | "owner": "hercules-ci", | ||
308 | "repo": "flake-parts", | ||
309 | "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", | ||
310 | "type": "github" | ||
311 | }, | ||
312 | "original": { | ||
313 | "owner": "hercules-ci", | ||
314 | "repo": "flake-parts", | ||
315 | "type": "github" | ||
316 | } | ||
317 | }, | ||
318 | "flake-parts_3": { | ||
319 | "inputs": { | ||
320 | "nixpkgs-lib": "nixpkgs-lib_4" | ||
321 | }, | ||
322 | "locked": { | ||
323 | "lastModified": 1675295133, | ||
324 | "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", | ||
325 | "owner": "hercules-ci", | ||
326 | "repo": "flake-parts", | ||
327 | "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", | ||
328 | "type": "github" | ||
329 | }, | ||
330 | "original": { | ||
331 | "owner": "hercules-ci", | ||
332 | "repo": "flake-parts", | ||
333 | "type": "github" | ||
334 | } | ||
335 | }, | ||
336 | "flake-parts_4": { | ||
337 | "inputs": { | ||
338 | "nixpkgs-lib": "nixpkgs-lib_5" | ||
339 | }, | ||
340 | "locked": { | ||
341 | "lastModified": 1675295133, | ||
342 | "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", | ||
343 | "owner": "hercules-ci", | ||
344 | "repo": "flake-parts", | ||
345 | "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", | ||
346 | "type": "github" | ||
347 | }, | ||
348 | "original": { | ||
349 | "owner": "hercules-ci", | ||
350 | "repo": "flake-parts", | ||
351 | "type": "github" | ||
352 | } | ||
353 | }, | ||
354 | "flake-parts_5": { | ||
355 | "inputs": { | ||
356 | "nixpkgs-lib": "nixpkgs-lib_6" | ||
357 | }, | ||
358 | "locked": { | ||
359 | "lastModified": 1675295133, | ||
360 | "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", | ||
361 | "owner": "hercules-ci", | ||
362 | "repo": "flake-parts", | ||
363 | "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", | ||
364 | "type": "github" | ||
365 | }, | ||
366 | "original": { | ||
367 | "owner": "hercules-ci", | ||
368 | "repo": "flake-parts", | ||
369 | "type": "github" | ||
370 | } | ||
371 | }, | ||
372 | "flake-parts_6": { | ||
373 | "inputs": { | ||
374 | "nixpkgs-lib": "nixpkgs-lib_7" | ||
375 | }, | ||
376 | "locked": { | ||
377 | "lastModified": 1675295133, | ||
378 | "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", | ||
379 | "owner": "hercules-ci", | ||
380 | "repo": "flake-parts", | ||
381 | "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", | ||
382 | "type": "github" | ||
383 | }, | ||
384 | "original": { | ||
385 | "owner": "hercules-ci", | ||
386 | "repo": "flake-parts", | ||
387 | "type": "github" | ||
388 | } | ||
389 | }, | ||
390 | "flake-utils": { | ||
391 | "locked": { | ||
392 | "lastModified": 1614513358, | ||
393 | "narHash": "sha256-LakhOx3S1dRjnh0b5Dg3mbZyH0ToC9I8Y2wKSkBaTzU=", | ||
394 | "owner": "numtide", | ||
395 | "repo": "flake-utils", | ||
396 | "rev": "5466c5bbece17adaab2d82fae80b46e807611bf3", | ||
397 | "type": "github" | ||
398 | }, | ||
399 | "original": { | ||
400 | "owner": "numtide", | ||
401 | "repo": "flake-utils", | ||
402 | "type": "github" | ||
403 | } | ||
404 | }, | ||
405 | "flake-utils_10": { | ||
406 | "locked": { | ||
407 | "lastModified": 1610051610, | ||
408 | "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", | ||
409 | "owner": "numtide", | ||
410 | "repo": "flake-utils", | ||
411 | "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", | ||
412 | "type": "github" | ||
413 | }, | ||
414 | "original": { | ||
415 | "owner": "numtide", | ||
416 | "repo": "flake-utils", | ||
417 | "type": "github" | ||
418 | } | ||
419 | }, | ||
420 | "flake-utils_11": { | ||
421 | "locked": { | ||
422 | "lastModified": 1648297722, | ||
423 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
424 | "owner": "numtide", | ||
425 | "repo": "flake-utils", | ||
426 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
427 | "type": "github" | ||
428 | }, | ||
429 | "original": { | ||
430 | "owner": "numtide", | ||
431 | "repo": "flake-utils", | ||
432 | "type": "github" | ||
433 | } | ||
434 | }, | ||
435 | "flake-utils_12": { | ||
436 | "locked": { | ||
437 | "lastModified": 1667395993, | ||
438 | "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", | ||
439 | "owner": "numtide", | ||
440 | "repo": "flake-utils", | ||
441 | "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", | ||
442 | "type": "github" | ||
443 | }, | ||
444 | "original": { | ||
445 | "owner": "numtide", | ||
446 | "repo": "flake-utils", | ||
447 | "type": "github" | ||
448 | } | ||
449 | }, | ||
450 | "flake-utils_13": { | ||
451 | "locked": { | ||
452 | "lastModified": 1631561581, | ||
453 | "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", | ||
454 | "owner": "numtide", | ||
455 | "repo": "flake-utils", | ||
456 | "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", | ||
457 | "type": "github" | ||
458 | }, | ||
459 | "original": { | ||
460 | "owner": "numtide", | ||
461 | "repo": "flake-utils", | ||
462 | "type": "github" | ||
463 | } | ||
464 | }, | ||
465 | "flake-utils_14": { | ||
466 | "locked": { | ||
467 | "lastModified": 1648297722, | ||
468 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
469 | "owner": "numtide", | ||
470 | "repo": "flake-utils", | ||
471 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
472 | "type": "github" | ||
473 | }, | ||
474 | "original": { | ||
475 | "owner": "numtide", | ||
476 | "repo": "flake-utils", | ||
477 | "type": "github" | ||
478 | } | ||
479 | }, | ||
480 | "flake-utils_15": { | ||
481 | "locked": { | ||
482 | "lastModified": 1648297722, | ||
483 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
484 | "owner": "numtide", | ||
485 | "repo": "flake-utils", | ||
486 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
487 | "type": "github" | ||
488 | }, | ||
489 | "original": { | ||
490 | "owner": "numtide", | ||
491 | "repo": "flake-utils", | ||
492 | "type": "github" | ||
493 | } | ||
494 | }, | ||
495 | "flake-utils_16": { | ||
496 | "locked": { | ||
497 | "lastModified": 1648297722, | ||
498 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
499 | "owner": "numtide", | ||
500 | "repo": "flake-utils", | ||
501 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
502 | "type": "github" | ||
503 | }, | ||
504 | "original": { | ||
505 | "owner": "numtide", | ||
506 | "repo": "flake-utils", | ||
507 | "type": "github" | ||
508 | } | ||
509 | }, | ||
510 | "flake-utils_17": { | ||
511 | "locked": { | ||
512 | "lastModified": 1648297722, | ||
513 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
514 | "owner": "numtide", | ||
515 | "repo": "flake-utils", | ||
516 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
517 | "type": "github" | ||
518 | }, | ||
519 | "original": { | ||
520 | "owner": "numtide", | ||
521 | "repo": "flake-utils", | ||
522 | "type": "github" | ||
523 | } | ||
524 | }, | ||
525 | "flake-utils_18": { | ||
526 | "locked": { | ||
527 | "lastModified": 1649676176, | ||
528 | "narHash": "sha256-OWKJratjt2RW151VUlJPRALb7OU2S5s+f0vLj4o1bHM=", | ||
529 | "owner": "numtide", | ||
530 | "repo": "flake-utils", | ||
531 | "rev": "a4b154ebbdc88c8498a5c7b01589addc9e9cb678", | ||
532 | "type": "github" | ||
533 | }, | ||
534 | "original": { | ||
535 | "owner": "numtide", | ||
536 | "repo": "flake-utils", | ||
537 | "type": "github" | ||
538 | } | ||
539 | }, | ||
540 | "flake-utils_19": { | ||
541 | "locked": { | ||
542 | "lastModified": 1609246779, | ||
543 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
544 | "owner": "numtide", | ||
545 | "repo": "flake-utils", | ||
546 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
547 | "type": "github" | ||
548 | }, | ||
549 | "original": { | ||
550 | "owner": "numtide", | ||
551 | "repo": "flake-utils", | ||
552 | "type": "github" | ||
553 | } | ||
554 | }, | ||
555 | "flake-utils_2": { | ||
556 | "locked": { | ||
557 | "lastModified": 1659877975, | ||
558 | "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", | ||
559 | "owner": "numtide", | ||
560 | "repo": "flake-utils", | ||
561 | "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", | ||
562 | "type": "github" | ||
563 | }, | ||
564 | "original": { | ||
565 | "owner": "numtide", | ||
566 | "repo": "flake-utils", | ||
567 | "type": "github" | ||
568 | } | ||
569 | }, | ||
570 | "flake-utils_20": { | ||
571 | "locked": { | ||
572 | "lastModified": 1609246779, | ||
573 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
574 | "owner": "numtide", | ||
575 | "repo": "flake-utils", | ||
576 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
577 | "type": "github" | ||
578 | }, | ||
579 | "original": { | ||
580 | "owner": "numtide", | ||
581 | "repo": "flake-utils", | ||
582 | "type": "github" | ||
583 | } | ||
584 | }, | ||
585 | "flake-utils_21": { | ||
586 | "locked": { | ||
587 | "lastModified": 1610051610, | ||
588 | "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", | ||
589 | "owner": "numtide", | ||
590 | "repo": "flake-utils", | ||
591 | "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", | ||
592 | "type": "github" | ||
593 | }, | ||
594 | "original": { | ||
595 | "owner": "numtide", | ||
596 | "repo": "flake-utils", | ||
597 | "type": "github" | ||
598 | } | ||
599 | }, | ||
600 | "flake-utils_22": { | ||
601 | "locked": { | ||
602 | "lastModified": 1648297722, | ||
603 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
604 | "owner": "numtide", | ||
605 | "repo": "flake-utils", | ||
606 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
607 | "type": "github" | ||
608 | }, | ||
609 | "original": { | ||
610 | "owner": "numtide", | ||
611 | "repo": "flake-utils", | ||
612 | "type": "github" | ||
613 | } | ||
614 | }, | ||
615 | "flake-utils_23": { | ||
616 | "locked": { | ||
617 | "lastModified": 1648297722, | ||
618 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
619 | "owner": "numtide", | ||
620 | "repo": "flake-utils", | ||
621 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
622 | "type": "github" | ||
623 | }, | ||
624 | "original": { | ||
625 | "owner": "numtide", | ||
626 | "repo": "flake-utils", | ||
627 | "type": "github" | ||
628 | } | ||
629 | }, | ||
630 | "flake-utils_3": { | ||
631 | "locked": { | ||
632 | "lastModified": 1648297722, | ||
633 | "narHash": "sha256-W+qlPsiZd8F3XkzXOzAoR+mpFqzm3ekQkJNa+PIh1BQ=", | ||
634 | "owner": "numtide", | ||
635 | "repo": "flake-utils", | ||
636 | "rev": "0f8662f1319ad6abf89b3380dd2722369fc51ade", | ||
637 | "type": "github" | ||
638 | }, | ||
639 | "original": { | ||
640 | "owner": "numtide", | ||
641 | "repo": "flake-utils", | ||
642 | "type": "github" | ||
643 | } | ||
644 | }, | ||
645 | "flake-utils_4": { | ||
646 | "locked": { | ||
647 | "lastModified": 1609246779, | ||
648 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
649 | "owner": "numtide", | ||
650 | "repo": "flake-utils", | ||
651 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
652 | "type": "github" | ||
653 | }, | ||
654 | "original": { | ||
655 | "owner": "numtide", | ||
656 | "repo": "flake-utils", | ||
657 | "type": "github" | ||
658 | } | ||
659 | }, | ||
660 | "flake-utils_5": { | ||
661 | "locked": { | ||
662 | "lastModified": 1609246779, | ||
663 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
664 | "owner": "numtide", | ||
665 | "repo": "flake-utils", | ||
666 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
667 | "type": "github" | ||
668 | }, | ||
669 | "original": { | ||
670 | "owner": "numtide", | ||
671 | "repo": "flake-utils", | ||
672 | "type": "github" | ||
673 | } | ||
674 | }, | ||
675 | "flake-utils_6": { | ||
676 | "locked": { | ||
677 | "lastModified": 1609246779, | ||
678 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
679 | "owner": "numtide", | ||
680 | "repo": "flake-utils", | ||
681 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
682 | "type": "github" | ||
683 | }, | ||
684 | "original": { | ||
685 | "owner": "numtide", | ||
686 | "repo": "flake-utils", | ||
687 | "type": "github" | ||
688 | } | ||
689 | }, | ||
690 | "flake-utils_7": { | ||
691 | "locked": { | ||
692 | "lastModified": 1609246779, | ||
693 | "narHash": "sha256-eq6ZXE/VWo3EMC65jmIT6H/rrUc9UWOWVujkzav025k=", | ||
694 | "owner": "numtide", | ||
695 | "repo": "flake-utils", | ||
696 | "rev": "08c7ad4a0844adc4a7f9f5bb3beae482e789afa4", | ||
697 | "type": "github" | ||
698 | }, | ||
699 | "original": { | ||
700 | "owner": "numtide", | ||
701 | "repo": "flake-utils", | ||
702 | "type": "github" | ||
703 | } | ||
704 | }, | ||
705 | "flake-utils_8": { | ||
706 | "locked": { | ||
707 | "lastModified": 1631561581, | ||
708 | "narHash": "sha256-3VQMV5zvxaVLvqqUrNz3iJelLw30mIVSfZmAaauM3dA=", | ||
709 | "owner": "numtide", | ||
710 | "repo": "flake-utils", | ||
711 | "rev": "7e5bf3925f6fbdfaf50a2a7ca0be2879c4261d19", | ||
712 | "type": "github" | ||
713 | }, | ||
714 | "original": { | ||
715 | "owner": "numtide", | ||
716 | "repo": "flake-utils", | ||
717 | "type": "github" | ||
718 | } | ||
719 | }, | ||
720 | "flake-utils_9": { | ||
721 | "locked": { | ||
722 | "lastModified": 1610051610, | ||
723 | "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", | ||
724 | "owner": "numtide", | ||
725 | "repo": "flake-utils", | ||
726 | "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", | ||
727 | "type": "github" | ||
728 | }, | ||
729 | "original": { | ||
730 | "owner": "numtide", | ||
731 | "repo": "flake-utils", | ||
732 | "type": "github" | ||
733 | } | ||
734 | }, | ||
735 | "grocy": { | ||
736 | "flake": false, | ||
737 | "locked": { | ||
738 | "lastModified": 1585166193, | ||
739 | "narHash": "sha256-rq1Fma/VgU01qXQmCghrt5k+LXWYt8z9b0NvGA7+/Y8=", | ||
740 | "owner": "grocy", | ||
741 | "repo": "grocy", | ||
742 | "rev": "d7738aa1ec330c81f11e4976681df0299d4ed35a", | ||
743 | "type": "github" | ||
744 | }, | ||
745 | "original": { | ||
746 | "owner": "grocy", | ||
747 | "repo": "grocy", | ||
748 | "rev": "d7738aa1ec330c81f11e4976681df0299d4ed35a", | ||
749 | "type": "github" | ||
750 | } | ||
751 | }, | ||
752 | "mastodon": { | ||
753 | "flake": false, | ||
754 | "locked": { | ||
755 | "lastModified": 1582790581, | ||
756 | "narHash": "sha256-YImWfvsJQzJHyKoWI6OP6BA+NvmHF2RiwJqOg0NUN/U=", | ||
757 | "owner": "tootsuite", | ||
758 | "repo": "mastodon", | ||
759 | "rev": "9bace2dd88d127d396794375c8fcb2132619a799", | ||
760 | "type": "github" | ||
761 | }, | ||
762 | "original": { | ||
763 | "owner": "tootsuite", | ||
764 | "ref": "v2.9.4", | ||
765 | "repo": "mastodon", | ||
766 | "type": "github" | ||
767 | } | ||
768 | }, | ||
769 | "mediagoblin": { | ||
770 | "flake": false, | ||
771 | "locked": { | ||
772 | "lastModified": 1531090939, | ||
773 | "narHash": "sha256-vSajRbuE/bu2HVsUZm25fkm/vNLXKDIK7Xn8kyKJ5Ps=", | ||
774 | "ref": "stable", | ||
775 | "rev": "cd465ebfec837a75a44c4ebd727dffe2fff6d850", | ||
776 | "revCount": 4805, | ||
777 | "submodules": true, | ||
778 | "type": "git", | ||
779 | "url": "https://git.savannah.gnu.org/git/mediagoblin.git" | ||
780 | }, | ||
781 | "original": { | ||
782 | "ref": "stable", | ||
783 | "rev": "cd465ebfec837a75a44c4ebd727dffe2fff6d850", | ||
784 | "submodules": true, | ||
785 | "type": "git", | ||
786 | "url": "https://git.savannah.gnu.org/git/mediagoblin.git" | ||
787 | } | ||
788 | }, | ||
789 | "my-lib": { | ||
790 | "inputs": { | ||
791 | "colmena": "colmena", | ||
792 | "disko": "disko", | ||
793 | "flake-parts": "flake-parts", | ||
794 | "nixos-anywhere": "nixos-anywhere", | ||
795 | "nixpkgs": "nixpkgs_4" | ||
796 | }, | ||
797 | "locked": { | ||
798 | "lastModified": 1, | ||
799 | "narHash": "sha256-wwpT+I5/zrln85BDzlZoEDC19GwYrcZSXbrJjyvC4jk=", | ||
800 | "path": "../../flakes/lib", | ||
801 | "type": "path" | ||
802 | }, | ||
803 | "original": { | ||
804 | "path": "../../flakes/lib", | ||
805 | "type": "path" | ||
806 | } | ||
807 | }, | ||
808 | "mypackages": { | ||
809 | "inputs": { | ||
810 | "flake-parts": "flake-parts_2", | ||
811 | "nixpkgs": "nixpkgs_16", | ||
812 | "webapps-ttrss": "webapps-ttrss" | ||
813 | }, | ||
814 | "locked": { | ||
815 | "lastModified": 1, | ||
816 | "narHash": "sha256-C0plEL+g6kv5fo/VmTjMJK45RfFcGufqPKJVnviMyGY=", | ||
817 | "path": "../../mypackages", | ||
818 | "type": "path" | ||
819 | }, | ||
820 | "original": { | ||
821 | "path": "../../mypackages", | ||
822 | "type": "path" | ||
823 | } | ||
824 | }, | ||
825 | "mypackages_2": { | ||
826 | "inputs": { | ||
827 | "flake-parts": "flake-parts_3", | ||
828 | "nixpkgs": "nixpkgs_19", | ||
829 | "webapps-ttrss": "webapps-ttrss_2" | ||
830 | }, | ||
831 | "locked": { | ||
832 | "lastModified": 1, | ||
833 | "narHash": "sha256-C0plEL+g6kv5fo/VmTjMJK45RfFcGufqPKJVnviMyGY=", | ||
834 | "path": "../mypackages", | ||
835 | "type": "path" | ||
836 | }, | ||
837 | "original": { | ||
838 | "path": "../mypackages", | ||
839 | "type": "path" | ||
840 | } | ||
841 | }, | ||
842 | "mypackages_3": { | ||
843 | "inputs": { | ||
844 | "flake-parts": "flake-parts_4", | ||
845 | "nixpkgs": "nixpkgs_21", | ||
846 | "webapps-ttrss": "webapps-ttrss_3" | ||
847 | }, | ||
848 | "locked": { | ||
849 | "lastModified": 1, | ||
850 | "narHash": "sha256-C0plEL+g6kv5fo/VmTjMJK45RfFcGufqPKJVnviMyGY=", | ||
851 | "path": "../mypackages", | ||
852 | "type": "path" | ||
853 | }, | ||
854 | "original": { | ||
855 | "path": "../mypackages", | ||
856 | "type": "path" | ||
857 | } | ||
858 | }, | ||
859 | "mypackages_4": { | ||
860 | "inputs": { | ||
861 | "flake-parts": "flake-parts_6", | ||
862 | "nixpkgs": "nixpkgs_29", | ||
863 | "webapps-ttrss": "webapps-ttrss_5" | ||
864 | }, | ||
865 | "locked": { | ||
866 | "lastModified": 1, | ||
867 | "narHash": "sha256-C0plEL+g6kv5fo/VmTjMJK45RfFcGufqPKJVnviMyGY=", | ||
868 | "path": "../mypackages", | ||
869 | "type": "path" | ||
870 | }, | ||
871 | "original": { | ||
872 | "path": "../mypackages", | ||
873 | "type": "path" | ||
874 | } | ||
875 | }, | ||
876 | "myuids": { | ||
877 | "locked": { | ||
878 | "lastModified": 1, | ||
879 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
880 | "path": "../myuids", | ||
881 | "type": "path" | ||
882 | }, | ||
883 | "original": { | ||
884 | "path": "../myuids", | ||
885 | "type": "path" | ||
886 | } | ||
887 | }, | ||
888 | "myuids_10": { | ||
889 | "locked": { | ||
890 | "lastModified": 1, | ||
891 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
892 | "path": "../myuids", | ||
893 | "type": "path" | ||
894 | }, | ||
895 | "original": { | ||
896 | "path": "../myuids", | ||
897 | "type": "path" | ||
898 | } | ||
899 | }, | ||
900 | "myuids_11": { | ||
901 | "locked": { | ||
902 | "lastModified": 1, | ||
903 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
904 | "path": "../myuids", | ||
905 | "type": "path" | ||
906 | }, | ||
907 | "original": { | ||
908 | "path": "../myuids", | ||
909 | "type": "path" | ||
910 | } | ||
911 | }, | ||
912 | "myuids_12": { | ||
913 | "locked": { | ||
914 | "lastModified": 1, | ||
915 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
916 | "path": "../myuids", | ||
917 | "type": "path" | ||
918 | }, | ||
919 | "original": { | ||
920 | "path": "../myuids", | ||
921 | "type": "path" | ||
922 | } | ||
923 | }, | ||
924 | "myuids_13": { | ||
925 | "locked": { | ||
926 | "lastModified": 1, | ||
927 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
928 | "path": "../myuids", | ||
929 | "type": "path" | ||
930 | }, | ||
931 | "original": { | ||
932 | "path": "../myuids", | ||
933 | "type": "path" | ||
934 | } | ||
935 | }, | ||
936 | "myuids_14": { | ||
937 | "locked": { | ||
938 | "lastModified": 1, | ||
939 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
940 | "path": "../myuids", | ||
941 | "type": "path" | ||
942 | }, | ||
943 | "original": { | ||
944 | "path": "../myuids", | ||
945 | "type": "path" | ||
946 | } | ||
947 | }, | ||
948 | "myuids_2": { | ||
949 | "locked": { | ||
950 | "lastModified": 1, | ||
951 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
952 | "path": "../myuids", | ||
953 | "type": "path" | ||
954 | }, | ||
955 | "original": { | ||
956 | "path": "../myuids", | ||
957 | "type": "path" | ||
958 | } | ||
959 | }, | ||
960 | "myuids_3": { | ||
961 | "locked": { | ||
962 | "lastModified": 1, | ||
963 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
964 | "path": "../myuids", | ||
965 | "type": "path" | ||
966 | }, | ||
967 | "original": { | ||
968 | "path": "../myuids", | ||
969 | "type": "path" | ||
970 | } | ||
971 | }, | ||
972 | "myuids_4": { | ||
973 | "locked": { | ||
974 | "lastModified": 1, | ||
975 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
976 | "path": "../myuids", | ||
977 | "type": "path" | ||
978 | }, | ||
979 | "original": { | ||
980 | "path": "../myuids", | ||
981 | "type": "path" | ||
982 | } | ||
983 | }, | ||
984 | "myuids_5": { | ||
985 | "locked": { | ||
986 | "lastModified": 1, | ||
987 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
988 | "path": "../myuids", | ||
989 | "type": "path" | ||
990 | }, | ||
991 | "original": { | ||
992 | "path": "../myuids", | ||
993 | "type": "path" | ||
994 | } | ||
995 | }, | ||
996 | "myuids_6": { | ||
997 | "locked": { | ||
998 | "lastModified": 1, | ||
999 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
1000 | "path": "../myuids", | ||
1001 | "type": "path" | ||
1002 | }, | ||
1003 | "original": { | ||
1004 | "path": "../myuids", | ||
1005 | "type": "path" | ||
1006 | } | ||
1007 | }, | ||
1008 | "myuids_7": { | ||
1009 | "locked": { | ||
1010 | "lastModified": 1, | ||
1011 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
1012 | "path": "../../myuids", | ||
1013 | "type": "path" | ||
1014 | }, | ||
1015 | "original": { | ||
1016 | "path": "../../myuids", | ||
1017 | "type": "path" | ||
1018 | } | ||
1019 | }, | ||
1020 | "myuids_8": { | ||
1021 | "locked": { | ||
1022 | "lastModified": 1, | ||
1023 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
1024 | "path": "../myuids", | ||
1025 | "type": "path" | ||
1026 | }, | ||
1027 | "original": { | ||
1028 | "path": "../myuids", | ||
1029 | "type": "path" | ||
1030 | } | ||
1031 | }, | ||
1032 | "myuids_9": { | ||
1033 | "locked": { | ||
1034 | "lastModified": 1, | ||
1035 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
1036 | "path": "../myuids", | ||
1037 | "type": "path" | ||
1038 | }, | ||
1039 | "original": { | ||
1040 | "path": "../myuids", | ||
1041 | "type": "path" | ||
1042 | } | ||
1043 | }, | ||
1044 | "naemon": { | ||
1045 | "locked": { | ||
1046 | "lastModified": 1, | ||
1047 | "narHash": "sha256-6le57WLKj1HXdhe4cgYO6N0Z9nJZC+plQY8HhOwzEIk=", | ||
1048 | "path": "../../naemon", | ||
1049 | "type": "path" | ||
1050 | }, | ||
1051 | "original": { | ||
1052 | "path": "../../naemon", | ||
1053 | "type": "path" | ||
1054 | } | ||
1055 | }, | ||
1056 | "nixos-2305": { | ||
1057 | "locked": { | ||
1058 | "lastModified": 1687938137, | ||
1059 | "narHash": "sha256-Z00c0Pk3aE1aw9x44lVcqHmvx+oX7dxCXCvKcUuE150=", | ||
1060 | "owner": "NixOS", | ||
1061 | "repo": "nixpkgs", | ||
1062 | "rev": "ba2ded3227a2992f2040fad4ba6f218a701884a5", | ||
1063 | "type": "github" | ||
1064 | }, | ||
1065 | "original": { | ||
1066 | "owner": "NixOS", | ||
1067 | "ref": "release-23.05", | ||
1068 | "repo": "nixpkgs", | ||
1069 | "type": "github" | ||
1070 | } | ||
1071 | }, | ||
1072 | "nixos-anywhere": { | ||
1073 | "inputs": { | ||
1074 | "disko": [ | ||
1075 | "my-lib", | ||
1076 | "disko" | ||
1077 | ], | ||
1078 | "flake-parts": [ | ||
1079 | "my-lib", | ||
1080 | "flake-parts" | ||
1081 | ], | ||
1082 | "nixos-2305": "nixos-2305", | ||
1083 | "nixos-images": "nixos-images", | ||
1084 | "nixpkgs": "nixpkgs_3", | ||
1085 | "treefmt-nix": "treefmt-nix" | ||
1086 | }, | ||
1087 | "locked": { | ||
1088 | "lastModified": 1689945193, | ||
1089 | "narHash": "sha256-+GPRt7ouE84A7GPNKnFYGU0cQL7skKxz0BAY0sUjUmw=", | ||
1090 | "owner": "numtide", | ||
1091 | "repo": "nixos-anywhere", | ||
1092 | "rev": "27161266077a177ac116e2cb72cc70af5f145189", | ||
1093 | "type": "github" | ||
1094 | }, | ||
1095 | "original": { | ||
1096 | "owner": "numtide", | ||
1097 | "repo": "nixos-anywhere", | ||
1098 | "type": "github" | ||
1099 | } | ||
1100 | }, | ||
1101 | "nixos-images": { | ||
1102 | "inputs": { | ||
1103 | "nixos-2305": [ | ||
1104 | "my-lib", | ||
1105 | "nixos-anywhere", | ||
1106 | "nixos-2305" | ||
1107 | ], | ||
1108 | "nixos-unstable": [ | ||
1109 | "my-lib", | ||
1110 | "nixos-anywhere", | ||
1111 | "nixpkgs" | ||
1112 | ] | ||
1113 | }, | ||
1114 | "locked": { | ||
1115 | "lastModified": 1686819168, | ||
1116 | "narHash": "sha256-IbRVStbKoMC2fUX6TxNO82KgpVfI8LL4Cq0bTgdYhnY=", | ||
1117 | "owner": "nix-community", | ||
1118 | "repo": "nixos-images", | ||
1119 | "rev": "ccc1a2c08ce2fc38bcece85d2a6e7bf17bac9e37", | ||
1120 | "type": "github" | ||
1121 | }, | ||
1122 | "original": { | ||
1123 | "owner": "nix-community", | ||
1124 | "repo": "nixos-images", | ||
1125 | "type": "github" | ||
1126 | } | ||
1127 | }, | ||
1128 | "nixpkgs": { | ||
1129 | "locked": { | ||
1130 | "lastModified": 1683408522, | ||
1131 | "narHash": "sha256-9kcPh6Uxo17a3kK3XCHhcWiV1Yu1kYj22RHiymUhMkU=", | ||
1132 | "owner": "NixOS", | ||
1133 | "repo": "nixpkgs", | ||
1134 | "rev": "897876e4c484f1e8f92009fd11b7d988a121a4e7", | ||
1135 | "type": "github" | ||
1136 | }, | ||
1137 | "original": { | ||
1138 | "owner": "NixOS", | ||
1139 | "ref": "nixos-unstable", | ||
1140 | "repo": "nixpkgs", | ||
1141 | "type": "github" | ||
1142 | } | ||
1143 | }, | ||
1144 | "nixpkgs-4": { | ||
1145 | "flake": false, | ||
1146 | "locked": { | ||
1147 | "lastModified": 1646497237, | ||
1148 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1149 | "owner": "NixOS", | ||
1150 | "repo": "nixpkgs", | ||
1151 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1152 | "type": "github" | ||
1153 | }, | ||
1154 | "original": { | ||
1155 | "owner": "NixOS", | ||
1156 | "repo": "nixpkgs", | ||
1157 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1158 | "type": "github" | ||
1159 | } | ||
1160 | }, | ||
1161 | "nixpkgs-lib": { | ||
1162 | "locked": { | ||
1163 | "dir": "lib", | ||
1164 | "lastModified": 1685564631, | ||
1165 | "narHash": "sha256-8ywr3AkblY4++3lIVxmrWZFzac7+f32ZEhH/A8pNscI=", | ||
1166 | "owner": "NixOS", | ||
1167 | "repo": "nixpkgs", | ||
1168 | "rev": "4f53efe34b3a8877ac923b9350c874e3dcd5dc0a", | ||
1169 | "type": "github" | ||
1170 | }, | ||
1171 | "original": { | ||
1172 | "dir": "lib", | ||
1173 | "owner": "NixOS", | ||
1174 | "ref": "nixos-unstable", | ||
1175 | "repo": "nixpkgs", | ||
1176 | "type": "github" | ||
1177 | } | ||
1178 | }, | ||
1179 | "nixpkgs-lib_2": { | ||
1180 | "locked": { | ||
1181 | "dir": "lib", | ||
1182 | "lastModified": 1691269286, | ||
1183 | "narHash": "sha256-7cPTz1bPhwq8smt9rHDcFtJsd1tFDcBukzj5jOXqjfk=", | ||
1184 | "owner": "NixOS", | ||
1185 | "repo": "nixpkgs", | ||
1186 | "rev": "85d4248a4f5aa6bc55dd2cea8131bb68b2d43804", | ||
1187 | "type": "github" | ||
1188 | }, | ||
1189 | "original": { | ||
1190 | "dir": "lib", | ||
1191 | "owner": "NixOS", | ||
1192 | "repo": "nixpkgs", | ||
1193 | "type": "github" | ||
1194 | } | ||
1195 | }, | ||
1196 | "nixpkgs-lib_3": { | ||
1197 | "locked": { | ||
1198 | "dir": "lib", | ||
1199 | "lastModified": 1675183161, | ||
1200 | "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", | ||
1201 | "owner": "NixOS", | ||
1202 | "repo": "nixpkgs", | ||
1203 | "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", | ||
1204 | "type": "github" | ||
1205 | }, | ||
1206 | "original": { | ||
1207 | "dir": "lib", | ||
1208 | "owner": "NixOS", | ||
1209 | "ref": "nixos-unstable", | ||
1210 | "repo": "nixpkgs", | ||
1211 | "type": "github" | ||
1212 | } | ||
1213 | }, | ||
1214 | "nixpkgs-lib_4": { | ||
1215 | "locked": { | ||
1216 | "dir": "lib", | ||
1217 | "lastModified": 1675183161, | ||
1218 | "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", | ||
1219 | "owner": "NixOS", | ||
1220 | "repo": "nixpkgs", | ||
1221 | "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", | ||
1222 | "type": "github" | ||
1223 | }, | ||
1224 | "original": { | ||
1225 | "dir": "lib", | ||
1226 | "owner": "NixOS", | ||
1227 | "ref": "nixos-unstable", | ||
1228 | "repo": "nixpkgs", | ||
1229 | "type": "github" | ||
1230 | } | ||
1231 | }, | ||
1232 | "nixpkgs-lib_5": { | ||
1233 | "locked": { | ||
1234 | "dir": "lib", | ||
1235 | "lastModified": 1675183161, | ||
1236 | "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", | ||
1237 | "owner": "NixOS", | ||
1238 | "repo": "nixpkgs", | ||
1239 | "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", | ||
1240 | "type": "github" | ||
1241 | }, | ||
1242 | "original": { | ||
1243 | "dir": "lib", | ||
1244 | "owner": "NixOS", | ||
1245 | "ref": "nixos-unstable", | ||
1246 | "repo": "nixpkgs", | ||
1247 | "type": "github" | ||
1248 | } | ||
1249 | }, | ||
1250 | "nixpkgs-lib_6": { | ||
1251 | "locked": { | ||
1252 | "dir": "lib", | ||
1253 | "lastModified": 1675183161, | ||
1254 | "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", | ||
1255 | "owner": "NixOS", | ||
1256 | "repo": "nixpkgs", | ||
1257 | "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", | ||
1258 | "type": "github" | ||
1259 | }, | ||
1260 | "original": { | ||
1261 | "dir": "lib", | ||
1262 | "owner": "NixOS", | ||
1263 | "ref": "nixos-unstable", | ||
1264 | "repo": "nixpkgs", | ||
1265 | "type": "github" | ||
1266 | } | ||
1267 | }, | ||
1268 | "nixpkgs-lib_7": { | ||
1269 | "locked": { | ||
1270 | "dir": "lib", | ||
1271 | "lastModified": 1675183161, | ||
1272 | "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", | ||
1273 | "owner": "NixOS", | ||
1274 | "repo": "nixpkgs", | ||
1275 | "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", | ||
1276 | "type": "github" | ||
1277 | }, | ||
1278 | "original": { | ||
1279 | "dir": "lib", | ||
1280 | "owner": "NixOS", | ||
1281 | "ref": "nixos-unstable", | ||
1282 | "repo": "nixpkgs", | ||
1283 | "type": "github" | ||
1284 | } | ||
1285 | }, | ||
1286 | "nixpkgs_10": { | ||
1287 | "locked": { | ||
1288 | "lastModified": 1597943282, | ||
1289 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1290 | "owner": "NixOS", | ||
1291 | "repo": "nixpkgs", | ||
1292 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1293 | "type": "github" | ||
1294 | }, | ||
1295 | "original": { | ||
1296 | "owner": "NixOS", | ||
1297 | "repo": "nixpkgs", | ||
1298 | "type": "github" | ||
1299 | } | ||
1300 | }, | ||
1301 | "nixpkgs_11": { | ||
1302 | "locked": { | ||
1303 | "lastModified": 1631570365, | ||
1304 | "narHash": "sha256-vc6bfo0hijpicdUDiui2DvZXmpIP2iqOFZRcpMOuYPo=", | ||
1305 | "owner": "NixOS", | ||
1306 | "repo": "nixpkgs", | ||
1307 | "rev": "df7113c0727881519248d4c7d080324e0ee3327b", | ||
1308 | "type": "github" | ||
1309 | }, | ||
1310 | "original": { | ||
1311 | "owner": "NixOS", | ||
1312 | "repo": "nixpkgs", | ||
1313 | "type": "github" | ||
1314 | } | ||
1315 | }, | ||
1316 | "nixpkgs_12": { | ||
1317 | "locked": { | ||
1318 | "lastModified": 1611097871, | ||
1319 | "narHash": "sha256-Q6bUkno5JNt0OoyXThFDrKArFBp/GryvJhwEgVzGSuk=", | ||
1320 | "owner": "NixOS", | ||
1321 | "repo": "nixpkgs", | ||
1322 | "rev": "31f5dd3f3655fbedac19f64f77844aa5ed79501c", | ||
1323 | "type": "github" | ||
1324 | }, | ||
1325 | "original": { | ||
1326 | "owner": "NixOS", | ||
1327 | "repo": "nixpkgs", | ||
1328 | "type": "github" | ||
1329 | } | ||
1330 | }, | ||
1331 | "nixpkgs_13": { | ||
1332 | "locked": { | ||
1333 | "lastModified": 1611097871, | ||
1334 | "narHash": "sha256-Q6bUkno5JNt0OoyXThFDrKArFBp/GryvJhwEgVzGSuk=", | ||
1335 | "owner": "NixOS", | ||
1336 | "repo": "nixpkgs", | ||
1337 | "rev": "31f5dd3f3655fbedac19f64f77844aa5ed79501c", | ||
1338 | "type": "github" | ||
1339 | }, | ||
1340 | "original": { | ||
1341 | "owner": "NixOS", | ||
1342 | "repo": "nixpkgs", | ||
1343 | "type": "github" | ||
1344 | } | ||
1345 | }, | ||
1346 | "nixpkgs_14": { | ||
1347 | "flake": false, | ||
1348 | "locked": { | ||
1349 | "lastModified": 1596265691, | ||
1350 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1351 | "owner": "NixOS", | ||
1352 | "repo": "nixpkgs", | ||
1353 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1354 | "type": "github" | ||
1355 | }, | ||
1356 | "original": { | ||
1357 | "owner": "NixOS", | ||
1358 | "repo": "nixpkgs", | ||
1359 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1360 | "type": "github" | ||
1361 | } | ||
1362 | }, | ||
1363 | "nixpkgs_15": { | ||
1364 | "locked": { | ||
1365 | "lastModified": 1687502512, | ||
1366 | "narHash": "sha256-dBL/01TayOSZYxtY4cMXuNCBk8UMLoqRZA+94xiFpJA=", | ||
1367 | "owner": "NixOS", | ||
1368 | "repo": "nixpkgs", | ||
1369 | "rev": "3ae20aa58a6c0d1ca95c9b11f59a2d12eebc511f", | ||
1370 | "type": "github" | ||
1371 | }, | ||
1372 | "original": { | ||
1373 | "owner": "NixOS", | ||
1374 | "ref": "nixos-unstable", | ||
1375 | "repo": "nixpkgs", | ||
1376 | "type": "github" | ||
1377 | } | ||
1378 | }, | ||
1379 | "nixpkgs_16": { | ||
1380 | "locked": { | ||
1381 | "lastModified": 1646497237, | ||
1382 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1383 | "owner": "nixos", | ||
1384 | "repo": "nixpkgs", | ||
1385 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1386 | "type": "github" | ||
1387 | }, | ||
1388 | "original": { | ||
1389 | "owner": "nixos", | ||
1390 | "repo": "nixpkgs", | ||
1391 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1392 | "type": "github" | ||
1393 | } | ||
1394 | }, | ||
1395 | "nixpkgs_17": { | ||
1396 | "locked": { | ||
1397 | "lastModified": 1633901457, | ||
1398 | "narHash": "sha256-GNJLwKENqEA4xlzkWI76VLHBAua4LUIlTeeiH4FR7Gc=", | ||
1399 | "owner": "NixOS", | ||
1400 | "repo": "nixpkgs", | ||
1401 | "rev": "f358794824b4595d77fec93732485d329ed7b0e0", | ||
1402 | "type": "github" | ||
1403 | }, | ||
1404 | "original": { | ||
1405 | "owner": "NixOS", | ||
1406 | "repo": "nixpkgs", | ||
1407 | "type": "github" | ||
1408 | } | ||
1409 | }, | ||
1410 | "nixpkgs_18": { | ||
1411 | "flake": false, | ||
1412 | "locked": { | ||
1413 | "lastModified": 1596265691, | ||
1414 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1415 | "owner": "NixOS", | ||
1416 | "repo": "nixpkgs", | ||
1417 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1418 | "type": "github" | ||
1419 | }, | ||
1420 | "original": { | ||
1421 | "owner": "NixOS", | ||
1422 | "repo": "nixpkgs", | ||
1423 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1424 | "type": "github" | ||
1425 | } | ||
1426 | }, | ||
1427 | "nixpkgs_19": { | ||
1428 | "locked": { | ||
1429 | "lastModified": 1646497237, | ||
1430 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1431 | "owner": "nixos", | ||
1432 | "repo": "nixpkgs", | ||
1433 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1434 | "type": "github" | ||
1435 | }, | ||
1436 | "original": { | ||
1437 | "owner": "nixos", | ||
1438 | "repo": "nixpkgs", | ||
1439 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1440 | "type": "github" | ||
1441 | } | ||
1442 | }, | ||
1443 | "nixpkgs_2": { | ||
1444 | "locked": { | ||
1445 | "lastModified": 1687701825, | ||
1446 | "narHash": "sha256-aMC9hqsf+4tJL7aJWSdEUurW2TsjxtDcJBwM9Y4FIYM=", | ||
1447 | "owner": "NixOS", | ||
1448 | "repo": "nixpkgs", | ||
1449 | "rev": "07059ee2fa34f1598758839b9af87eae7f7ae6ea", | ||
1450 | "type": "github" | ||
1451 | }, | ||
1452 | "original": { | ||
1453 | "owner": "NixOS", | ||
1454 | "ref": "nixpkgs-unstable", | ||
1455 | "repo": "nixpkgs", | ||
1456 | "type": "github" | ||
1457 | } | ||
1458 | }, | ||
1459 | "nixpkgs_20": { | ||
1460 | "flake": false, | ||
1461 | "locked": { | ||
1462 | "lastModified": 1596265691, | ||
1463 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1464 | "owner": "NixOS", | ||
1465 | "repo": "nixpkgs", | ||
1466 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1467 | "type": "github" | ||
1468 | }, | ||
1469 | "original": { | ||
1470 | "owner": "NixOS", | ||
1471 | "repo": "nixpkgs", | ||
1472 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1473 | "type": "github" | ||
1474 | } | ||
1475 | }, | ||
1476 | "nixpkgs_21": { | ||
1477 | "locked": { | ||
1478 | "lastModified": 1646497237, | ||
1479 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1480 | "owner": "nixos", | ||
1481 | "repo": "nixpkgs", | ||
1482 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1483 | "type": "github" | ||
1484 | }, | ||
1485 | "original": { | ||
1486 | "owner": "nixos", | ||
1487 | "repo": "nixpkgs", | ||
1488 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1489 | "type": "github" | ||
1490 | } | ||
1491 | }, | ||
1492 | "nixpkgs_22": { | ||
1493 | "flake": false, | ||
1494 | "locked": { | ||
1495 | "lastModified": 1596265691, | ||
1496 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1497 | "owner": "NixOS", | ||
1498 | "repo": "nixpkgs", | ||
1499 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1500 | "type": "github" | ||
1501 | }, | ||
1502 | "original": { | ||
1503 | "owner": "NixOS", | ||
1504 | "repo": "nixpkgs", | ||
1505 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1506 | "type": "github" | ||
1507 | } | ||
1508 | }, | ||
1509 | "nixpkgs_23": { | ||
1510 | "flake": false, | ||
1511 | "locked": { | ||
1512 | "lastModified": 1596265691, | ||
1513 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1514 | "owner": "NixOS", | ||
1515 | "repo": "nixpkgs", | ||
1516 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1517 | "type": "github" | ||
1518 | }, | ||
1519 | "original": { | ||
1520 | "owner": "NixOS", | ||
1521 | "repo": "nixpkgs", | ||
1522 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1523 | "type": "github" | ||
1524 | } | ||
1525 | }, | ||
1526 | "nixpkgs_24": { | ||
1527 | "flake": false, | ||
1528 | "locked": { | ||
1529 | "lastModified": 1596265691, | ||
1530 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1531 | "owner": "NixOS", | ||
1532 | "repo": "nixpkgs", | ||
1533 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1534 | "type": "github" | ||
1535 | }, | ||
1536 | "original": { | ||
1537 | "owner": "NixOS", | ||
1538 | "repo": "nixpkgs", | ||
1539 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1540 | "type": "github" | ||
1541 | } | ||
1542 | }, | ||
1543 | "nixpkgs_25": { | ||
1544 | "locked": { | ||
1545 | "lastModified": 1646497237, | ||
1546 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1547 | "owner": "nixos", | ||
1548 | "repo": "nixpkgs", | ||
1549 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1550 | "type": "github" | ||
1551 | }, | ||
1552 | "original": { | ||
1553 | "owner": "nixos", | ||
1554 | "repo": "nixpkgs", | ||
1555 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1556 | "type": "github" | ||
1557 | } | ||
1558 | }, | ||
1559 | "nixpkgs_26": { | ||
1560 | "locked": { | ||
1561 | "lastModified": 1597943282, | ||
1562 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1563 | "owner": "NixOS", | ||
1564 | "repo": "nixpkgs", | ||
1565 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1566 | "type": "github" | ||
1567 | }, | ||
1568 | "original": { | ||
1569 | "owner": "NixOS", | ||
1570 | "repo": "nixpkgs", | ||
1571 | "type": "github" | ||
1572 | } | ||
1573 | }, | ||
1574 | "nixpkgs_27": { | ||
1575 | "locked": { | ||
1576 | "lastModified": 1597943282, | ||
1577 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1578 | "owner": "NixOS", | ||
1579 | "repo": "nixpkgs", | ||
1580 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1581 | "type": "github" | ||
1582 | }, | ||
1583 | "original": { | ||
1584 | "owner": "NixOS", | ||
1585 | "repo": "nixpkgs", | ||
1586 | "type": "github" | ||
1587 | } | ||
1588 | }, | ||
1589 | "nixpkgs_28": { | ||
1590 | "locked": { | ||
1591 | "lastModified": 1611097871, | ||
1592 | "narHash": "sha256-Q6bUkno5JNt0OoyXThFDrKArFBp/GryvJhwEgVzGSuk=", | ||
1593 | "owner": "NixOS", | ||
1594 | "repo": "nixpkgs", | ||
1595 | "rev": "31f5dd3f3655fbedac19f64f77844aa5ed79501c", | ||
1596 | "type": "github" | ||
1597 | }, | ||
1598 | "original": { | ||
1599 | "owner": "NixOS", | ||
1600 | "repo": "nixpkgs", | ||
1601 | "type": "github" | ||
1602 | } | ||
1603 | }, | ||
1604 | "nixpkgs_29": { | ||
1605 | "locked": { | ||
1606 | "lastModified": 1646497237, | ||
1607 | "narHash": "sha256-Ccpot1h/rV8MgcngDp5OrdmLTMaUTbStZTR5/sI7zW0=", | ||
1608 | "owner": "nixos", | ||
1609 | "repo": "nixpkgs", | ||
1610 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1611 | "type": "github" | ||
1612 | }, | ||
1613 | "original": { | ||
1614 | "owner": "nixos", | ||
1615 | "repo": "nixpkgs", | ||
1616 | "rev": "062a0c5437b68f950b081bbfc8a699d57a4ee026", | ||
1617 | "type": "github" | ||
1618 | } | ||
1619 | }, | ||
1620 | "nixpkgs_3": { | ||
1621 | "locked": { | ||
1622 | "lastModified": 1687893427, | ||
1623 | "narHash": "sha256-jJHj0Lxpvov1IPYQK441oLAKxxemHm16U9jf60bXAFU=", | ||
1624 | "owner": "nixos", | ||
1625 | "repo": "nixpkgs", | ||
1626 | "rev": "4b14ab2a916508442e685089672681dff46805be", | ||
1627 | "type": "github" | ||
1628 | }, | ||
1629 | "original": { | ||
1630 | "owner": "nixos", | ||
1631 | "ref": "nixos-unstable-small", | ||
1632 | "repo": "nixpkgs", | ||
1633 | "type": "github" | ||
1634 | } | ||
1635 | }, | ||
1636 | "nixpkgs_30": { | ||
1637 | "flake": false, | ||
1638 | "locked": { | ||
1639 | "lastModified": 1596265691, | ||
1640 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1641 | "owner": "NixOS", | ||
1642 | "repo": "nixpkgs", | ||
1643 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1644 | "type": "github" | ||
1645 | }, | ||
1646 | "original": { | ||
1647 | "owner": "NixOS", | ||
1648 | "repo": "nixpkgs", | ||
1649 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1650 | "type": "github" | ||
1651 | } | ||
1652 | }, | ||
1653 | "nixpkgs_31": { | ||
1654 | "flake": false, | ||
1655 | "locked": { | ||
1656 | "lastModified": 1596265691, | ||
1657 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1658 | "owner": "NixOS", | ||
1659 | "repo": "nixpkgs", | ||
1660 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1661 | "type": "github" | ||
1662 | }, | ||
1663 | "original": { | ||
1664 | "owner": "NixOS", | ||
1665 | "repo": "nixpkgs", | ||
1666 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1667 | "type": "github" | ||
1668 | } | ||
1669 | }, | ||
1670 | "nixpkgs_4": { | ||
1671 | "locked": { | ||
1672 | "lastModified": 1648725829, | ||
1673 | "narHash": "sha256-tXEzI38lLrzW2qCAIs0UAatE2xcsTsoKWaaXqAcF1NI=", | ||
1674 | "owner": "NixOS", | ||
1675 | "repo": "nixpkgs", | ||
1676 | "rev": "72152ff5ad470ed1a5b97c0ba2737938c136c994", | ||
1677 | "type": "github" | ||
1678 | }, | ||
1679 | "original": { | ||
1680 | "owner": "NixOS", | ||
1681 | "repo": "nixpkgs", | ||
1682 | "type": "github" | ||
1683 | } | ||
1684 | }, | ||
1685 | "nixpkgs_5": { | ||
1686 | "locked": { | ||
1687 | "lastModified": 1693158576, | ||
1688 | "narHash": "sha256-aRTTXkYvhXosGx535iAFUaoFboUrZSYb1Ooih/auGp0=", | ||
1689 | "owner": "nixos", | ||
1690 | "repo": "nixpkgs", | ||
1691 | "rev": "a999c1cc0c9eb2095729d5aa03e0d8f7ed256780", | ||
1692 | "type": "github" | ||
1693 | }, | ||
1694 | "original": { | ||
1695 | "owner": "nixos", | ||
1696 | "ref": "nixos-unstable", | ||
1697 | "repo": "nixpkgs", | ||
1698 | "type": "github" | ||
1699 | } | ||
1700 | }, | ||
1701 | "nixpkgs_6": { | ||
1702 | "flake": false, | ||
1703 | "locked": { | ||
1704 | "lastModified": 1596265691, | ||
1705 | "narHash": "sha256-9ofCzFqttTsGrvTaS4RrDSTNQO9PFOz5uyn8V+2eA5M=", | ||
1706 | "owner": "NixOS", | ||
1707 | "repo": "nixpkgs", | ||
1708 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1709 | "type": "github" | ||
1710 | }, | ||
1711 | "original": { | ||
1712 | "owner": "NixOS", | ||
1713 | "repo": "nixpkgs", | ||
1714 | "rev": "840c782d507d60aaa49aa9e3f6d0b0e780912742", | ||
1715 | "type": "github" | ||
1716 | } | ||
1717 | }, | ||
1718 | "nixpkgs_7": { | ||
1719 | "locked": { | ||
1720 | "lastModified": 1597943282, | ||
1721 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1722 | "owner": "NixOS", | ||
1723 | "repo": "nixpkgs", | ||
1724 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1725 | "type": "github" | ||
1726 | }, | ||
1727 | "original": { | ||
1728 | "owner": "NixOS", | ||
1729 | "repo": "nixpkgs", | ||
1730 | "type": "github" | ||
1731 | } | ||
1732 | }, | ||
1733 | "nixpkgs_8": { | ||
1734 | "locked": { | ||
1735 | "lastModified": 1597943282, | ||
1736 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1737 | "owner": "NixOS", | ||
1738 | "repo": "nixpkgs", | ||
1739 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1740 | "type": "github" | ||
1741 | }, | ||
1742 | "original": { | ||
1743 | "owner": "NixOS", | ||
1744 | "repo": "nixpkgs", | ||
1745 | "type": "github" | ||
1746 | } | ||
1747 | }, | ||
1748 | "nixpkgs_9": { | ||
1749 | "locked": { | ||
1750 | "lastModified": 1597943282, | ||
1751 | "narHash": "sha256-G/VQBlqO7YeFOSvn29RqdvABZxmQBtiRYVA6kjqWZ6o=", | ||
1752 | "owner": "NixOS", | ||
1753 | "repo": "nixpkgs", | ||
1754 | "rev": "c59ea8b8a0e7f927e7291c14ea6cd1bd3a16ff38", | ||
1755 | "type": "github" | ||
1756 | }, | ||
1757 | "original": { | ||
1758 | "owner": "NixOS", | ||
1759 | "repo": "nixpkgs", | ||
1760 | "type": "github" | ||
1761 | } | ||
1762 | }, | ||
1763 | "openarc": { | ||
1764 | "inputs": { | ||
1765 | "flake-utils": "flake-utils_4", | ||
1766 | "myuids": "myuids", | ||
1767 | "nixpkgs": "nixpkgs_7", | ||
1768 | "openarc": "openarc_2" | ||
1769 | }, | ||
1770 | "locked": { | ||
1771 | "lastModified": 1, | ||
1772 | "narHash": "sha256-+X3x0t7DSYBvgFAUGNnMV4F/vQOUWE+9Q4Az6V8/iTw=", | ||
1773 | "path": "../../openarc", | ||
1774 | "type": "path" | ||
1775 | }, | ||
1776 | "original": { | ||
1777 | "path": "../../openarc", | ||
1778 | "type": "path" | ||
1779 | } | ||
1780 | }, | ||
1781 | "openarc_2": { | ||
1782 | "flake": false, | ||
1783 | "locked": { | ||
1784 | "lastModified": 1537545083, | ||
1785 | "narHash": "sha256-xUSRARC7875vFjtZ66t8KBlKmkEdIZblWHc4zqGZAQQ=", | ||
1786 | "owner": "trusteddomainproject", | ||
1787 | "repo": "OpenARC", | ||
1788 | "rev": "355ee2a1ca85acccce494478991983b54f794f4e", | ||
1789 | "type": "github" | ||
1790 | }, | ||
1791 | "original": { | ||
1792 | "owner": "trusteddomainproject", | ||
1793 | "repo": "OpenARC", | ||
1794 | "type": "github" | ||
1795 | } | ||
1796 | }, | ||
1797 | "openarc_3": { | ||
1798 | "inputs": { | ||
1799 | "flake-utils": "flake-utils_6", | ||
1800 | "myuids": "myuids_3", | ||
1801 | "nixpkgs": "nixpkgs_9", | ||
1802 | "openarc": "openarc_4" | ||
1803 | }, | ||
1804 | "locked": { | ||
1805 | "lastModified": 1, | ||
1806 | "narHash": "sha256-+X3x0t7DSYBvgFAUGNnMV4F/vQOUWE+9Q4Az6V8/iTw=", | ||
1807 | "path": "../../openarc", | ||
1808 | "type": "path" | ||
1809 | }, | ||
1810 | "original": { | ||
1811 | "path": "../../openarc", | ||
1812 | "type": "path" | ||
1813 | } | ||
1814 | }, | ||
1815 | "openarc_4": { | ||
1816 | "flake": false, | ||
1817 | "locked": { | ||
1818 | "lastModified": 1537545083, | ||
1819 | "narHash": "sha256-xUSRARC7875vFjtZ66t8KBlKmkEdIZblWHc4zqGZAQQ=", | ||
1820 | "owner": "trusteddomainproject", | ||
1821 | "repo": "OpenARC", | ||
1822 | "rev": "355ee2a1ca85acccce494478991983b54f794f4e", | ||
1823 | "type": "github" | ||
1824 | }, | ||
1825 | "original": { | ||
1826 | "owner": "trusteddomainproject", | ||
1827 | "repo": "OpenARC", | ||
1828 | "type": "github" | ||
1829 | } | ||
1830 | }, | ||
1831 | "openarc_5": { | ||
1832 | "flake": false, | ||
1833 | "locked": { | ||
1834 | "lastModified": 1537545083, | ||
1835 | "narHash": "sha256-xUSRARC7875vFjtZ66t8KBlKmkEdIZblWHc4zqGZAQQ=", | ||
1836 | "owner": "trusteddomainproject", | ||
1837 | "repo": "OpenARC", | ||
1838 | "rev": "355ee2a1ca85acccce494478991983b54f794f4e", | ||
1839 | "type": "github" | ||
1840 | }, | ||
1841 | "original": { | ||
1842 | "owner": "trusteddomainproject", | ||
1843 | "repo": "OpenARC", | ||
1844 | "type": "github" | ||
1845 | } | ||
1846 | }, | ||
1847 | "opendmarc": { | ||
1848 | "inputs": { | ||
1849 | "flake-utils": "flake-utils_5", | ||
1850 | "myuids": "myuids_2", | ||
1851 | "nixpkgs": "nixpkgs_8" | ||
1852 | }, | ||
1853 | "locked": { | ||
1854 | "lastModified": 1, | ||
1855 | "narHash": "sha256-dDS9a1XujZU6KVCgz2RKbx2T3yT1k7z0EknUh1OyMdQ=", | ||
1856 | "path": "../../opendmarc", | ||
1857 | "type": "path" | ||
1858 | }, | ||
1859 | "original": { | ||
1860 | "path": "../../opendmarc", | ||
1861 | "type": "path" | ||
1862 | } | ||
1863 | }, | ||
1864 | "opendmarc_2": { | ||
1865 | "inputs": { | ||
1866 | "flake-utils": "flake-utils_7", | ||
1867 | "myuids": "myuids_4", | ||
1868 | "nixpkgs": "nixpkgs_10" | ||
1869 | }, | ||
1870 | "locked": { | ||
1871 | "lastModified": 1, | ||
1872 | "narHash": "sha256-dDS9a1XujZU6KVCgz2RKbx2T3yT1k7z0EknUh1OyMdQ=", | ||
1873 | "path": "../../opendmarc", | ||
1874 | "type": "path" | ||
1875 | }, | ||
1876 | "original": { | ||
1877 | "path": "../../opendmarc", | ||
1878 | "type": "path" | ||
1879 | } | ||
1880 | }, | ||
1881 | "paste": { | ||
1882 | "inputs": { | ||
1883 | "flake-utils": "flake-utils_8", | ||
1884 | "nixpkgs": "nixpkgs_11" | ||
1885 | }, | ||
1886 | "locked": { | ||
1887 | "lastModified": 1, | ||
1888 | "narHash": "sha256-a6rqBy5/ePeKhqag8K7FtOHpYLur3Z6Yzk7uCqH522A=", | ||
1889 | "path": "../../paste", | ||
1890 | "type": "path" | ||
1891 | }, | ||
1892 | "original": { | ||
1893 | "path": "../../paste", | ||
1894 | "type": "path" | ||
1895 | } | ||
1896 | }, | ||
1897 | "peertube": { | ||
1898 | "flake": false, | ||
1899 | "locked": { | ||
1900 | "lastModified": 1611184594, | ||
1901 | "narHash": "sha256-1N59Dmo9zny+bZWRPiR7fXConECAw9OFcVIWMp2wois=", | ||
1902 | "ref": "gitolite_local/open_instance", | ||
1903 | "rev": "f49b8d9b697f098490e81ce0afd889ba37dcb2f3", | ||
1904 | "revCount": 6316, | ||
1905 | "type": "git", | ||
1906 | "url": "https://git.immae.eu/github/Chocobozzz/PeerTube.git" | ||
1907 | }, | ||
1908 | "original": { | ||
1909 | "owner": "Chocobozzz", | ||
1910 | "ref": "v3.0.1", | ||
1911 | "repo": "PeerTube", | ||
1912 | "type": "github" | ||
1913 | } | ||
1914 | }, | ||
1915 | "peertube_2": { | ||
1916 | "flake": false, | ||
1917 | "locked": { | ||
1918 | "lastModified": 1610436329, | ||
1919 | "narHash": "sha256-bIXt5bQiBBlNDFXYzcdQA8qp4nse5epUx/XQOguDOX8=", | ||
1920 | "owner": "Chocobozzz", | ||
1921 | "repo": "PeerTube", | ||
1922 | "rev": "69e0e678beb7f1a3b6753eeff585a14f9a61ea86", | ||
1923 | "type": "github" | ||
1924 | }, | ||
1925 | "original": { | ||
1926 | "owner": "Chocobozzz", | ||
1927 | "ref": "v3.0.1", | ||
1928 | "repo": "PeerTube", | ||
1929 | "type": "github" | ||
1930 | } | ||
1931 | }, | ||
1932 | "peertube_3": { | ||
1933 | "flake": false, | ||
1934 | "locked": { | ||
1935 | "lastModified": 1610436329, | ||
1936 | "narHash": "sha256-bIXt5bQiBBlNDFXYzcdQA8qp4nse5epUx/XQOguDOX8=", | ||
1937 | "owner": "Chocobozzz", | ||
1938 | "repo": "PeerTube", | ||
1939 | "rev": "69e0e678beb7f1a3b6753eeff585a14f9a61ea86", | ||
1940 | "type": "github" | ||
1941 | }, | ||
1942 | "original": { | ||
1943 | "owner": "Chocobozzz", | ||
1944 | "ref": "v3.0.1", | ||
1945 | "repo": "PeerTube", | ||
1946 | "type": "github" | ||
1947 | } | ||
1948 | }, | ||
1949 | "peertube_open_instance": { | ||
1950 | "inputs": { | ||
1951 | "flake-utils": "flake-utils_9", | ||
1952 | "myuids": "myuids_5", | ||
1953 | "nixpkgs": "nixpkgs_12", | ||
1954 | "peertube": "peertube" | ||
1955 | }, | ||
1956 | "locked": { | ||
1957 | "lastModified": 1, | ||
1958 | "narHash": "sha256-l+XpuMrH6I51hk37REAPVSLlbvCdad3kcDGioodzPR4=", | ||
1959 | "path": "./../../peertube", | ||
1960 | "type": "path" | ||
1961 | }, | ||
1962 | "original": { | ||
1963 | "path": "./../../peertube", | ||
1964 | "type": "path" | ||
1965 | } | ||
1966 | }, | ||
1967 | "peertube_origin": { | ||
1968 | "inputs": { | ||
1969 | "flake-utils": "flake-utils_10", | ||
1970 | "myuids": "myuids_6", | ||
1971 | "nixpkgs": "nixpkgs_13", | ||
1972 | "peertube": "peertube_2" | ||
1973 | }, | ||
1974 | "locked": { | ||
1975 | "lastModified": 1, | ||
1976 | "narHash": "sha256-l+XpuMrH6I51hk37REAPVSLlbvCdad3kcDGioodzPR4=", | ||
1977 | "path": "./../../peertube", | ||
1978 | "type": "path" | ||
1979 | }, | ||
1980 | "original": { | ||
1981 | "path": "./../../peertube", | ||
1982 | "type": "path" | ||
1983 | } | ||
1984 | }, | ||
1985 | "private-buildbot": { | ||
1986 | "inputs": { | ||
1987 | "buildslist": "buildslist", | ||
1988 | "flake-utils": "flake-utils_3", | ||
1989 | "nixpkgs": "nixpkgs_6" | ||
1990 | }, | ||
1991 | "locked": { | ||
1992 | "lastModified": 1, | ||
1993 | "narHash": "sha256-LZRLA37RiN1VyKRqoAdZa9oc61PfQX7dCANSFuwuSa8=", | ||
1994 | "path": "../../flakes/private/buildbot", | ||
1995 | "type": "path" | ||
1996 | }, | ||
1997 | "original": { | ||
1998 | "path": "../../flakes/private/buildbot", | ||
1999 | "type": "path" | ||
2000 | } | ||
2001 | }, | ||
2002 | "private-chatons": { | ||
2003 | "inputs": { | ||
2004 | "environment": "environment" | ||
2005 | }, | ||
2006 | "locked": { | ||
2007 | "lastModified": 1, | ||
2008 | "narHash": "sha256-UNkS/IZGHCdSX4hCzpTZwNBj9B8RGCMr9Za+G9Xdm4Y=", | ||
2009 | "path": "../../flakes/private/chatons", | ||
2010 | "type": "path" | ||
2011 | }, | ||
2012 | "original": { | ||
2013 | "path": "../../flakes/private/chatons", | ||
2014 | "type": "path" | ||
2015 | } | ||
2016 | }, | ||
2017 | "private-environment": { | ||
2018 | "locked": { | ||
2019 | "lastModified": 1, | ||
2020 | "narHash": "sha256-rMKbM7fHqWQbI7y59BsPG8KwoDj2jyrvN2niPWB24uE=", | ||
2021 | "path": "../../flakes/private/environment", | ||
2022 | "type": "path" | ||
2023 | }, | ||
2024 | "original": { | ||
2025 | "path": "../../flakes/private/environment", | ||
2026 | "type": "path" | ||
2027 | } | ||
2028 | }, | ||
2029 | "private-milters": { | ||
2030 | "inputs": { | ||
2031 | "environment": "environment_2", | ||
2032 | "files-watcher": "files-watcher", | ||
2033 | "openarc": "openarc", | ||
2034 | "opendmarc": "opendmarc", | ||
2035 | "secrets": "secrets" | ||
2036 | }, | ||
2037 | "locked": { | ||
2038 | "lastModified": 1, | ||
2039 | "narHash": "sha256-+FlrtZ2sR58VeLsYFeQ6ccaAiGQRFoc9ofs/X/S0Bkg=", | ||
2040 | "path": "../../flakes/private/milters", | ||
2041 | "type": "path" | ||
2042 | }, | ||
2043 | "original": { | ||
2044 | "path": "../../flakes/private/milters", | ||
2045 | "type": "path" | ||
2046 | } | ||
2047 | }, | ||
2048 | "private-monitoring": { | ||
2049 | "inputs": { | ||
2050 | "environment": "environment_3", | ||
2051 | "naemon": "naemon", | ||
2052 | "nixpkgs-lib": "nixpkgs-lib_2", | ||
2053 | "secrets": "secrets_2" | ||
2054 | }, | ||
2055 | "locked": { | ||
2056 | "lastModified": 1, | ||
2057 | "narHash": "sha256-K720bqCEHPK0F7GBaxo/ioJ3LVAyhjl/ZZobWwO4ebU=", | ||
2058 | "path": "../../flakes/private/monitoring", | ||
2059 | "type": "path" | ||
2060 | }, | ||
2061 | "original": { | ||
2062 | "path": "../../flakes/private/monitoring", | ||
2063 | "type": "path" | ||
2064 | } | ||
2065 | }, | ||
2066 | "private-openarc": { | ||
2067 | "inputs": { | ||
2068 | "files-watcher": "files-watcher_2", | ||
2069 | "openarc": "openarc_3", | ||
2070 | "secrets": "secrets_3" | ||
2071 | }, | ||
2072 | "locked": { | ||
2073 | "lastModified": 1, | ||
2074 | "narHash": "sha256-08NmS2KKpthWHC7ob5cu1RBKA7JaPEMqcL5HHwH3vLA=", | ||
2075 | "path": "../../flakes/private/openarc", | ||
2076 | "type": "path" | ||
2077 | }, | ||
2078 | "original": { | ||
2079 | "path": "../../flakes/private/openarc", | ||
2080 | "type": "path" | ||
2081 | } | ||
2082 | }, | ||
2083 | "private-opendmarc": { | ||
2084 | "inputs": { | ||
2085 | "environment": "environment_4", | ||
2086 | "files-watcher": "files-watcher_3", | ||
2087 | "opendmarc": "opendmarc_2", | ||
2088 | "secrets": "secrets_4" | ||
2089 | }, | ||
2090 | "locked": { | ||
2091 | "lastModified": 1, | ||
2092 | "narHash": "sha256-2lx6oVf/3OuqWdP8dHlA6f6+npwx6N/oFv/WkqIbV1Q=", | ||
2093 | "path": "../../flakes/private/opendmarc", | ||
2094 | "type": "path" | ||
2095 | }, | ||
2096 | "original": { | ||
2097 | "path": "../../flakes/private/opendmarc", | ||
2098 | "type": "path" | ||
2099 | } | ||
2100 | }, | ||
2101 | "private-openldap": { | ||
2102 | "locked": { | ||
2103 | "lastModified": 1, | ||
2104 | "narHash": "sha256-Z4Gg8wU/wVVQDFwWAC9k1LW+yg0xI1iNhKB51K9Gq4c=", | ||
2105 | "path": "../../flakes/private/openldap", | ||
2106 | "type": "path" | ||
2107 | }, | ||
2108 | "original": { | ||
2109 | "path": "../../flakes/private/openldap", | ||
2110 | "type": "path" | ||
2111 | } | ||
2112 | }, | ||
2113 | "private-paste": { | ||
2114 | "inputs": { | ||
2115 | "paste": "paste" | ||
2116 | }, | ||
2117 | "locked": { | ||
2118 | "lastModified": 1, | ||
2119 | "narHash": "sha256-w8WnrSJj05Y8hJsJfY46sI6PUSg2xo5h9t0zWP4woog=", | ||
2120 | "path": "../../flakes/private/paste", | ||
2121 | "type": "path" | ||
2122 | }, | ||
2123 | "original": { | ||
2124 | "path": "../../flakes/private/paste", | ||
2125 | "type": "path" | ||
2126 | } | ||
2127 | }, | ||
2128 | "private-peertube": { | ||
2129 | "inputs": { | ||
2130 | "peertube_open_instance": "peertube_open_instance", | ||
2131 | "peertube_origin": "peertube_origin" | ||
2132 | }, | ||
2133 | "locked": { | ||
2134 | "lastModified": 1, | ||
2135 | "narHash": "sha256-1MpzxwaZ+TZJzBf+Do/PFdI9khD1GSvfjuSC0h2Hk58=", | ||
2136 | "path": "../../flakes/private/peertube", | ||
2137 | "type": "path" | ||
2138 | }, | ||
2139 | "original": { | ||
2140 | "path": "../../flakes/private/peertube", | ||
2141 | "type": "path" | ||
2142 | } | ||
2143 | }, | ||
2144 | "private-php": { | ||
2145 | "inputs": { | ||
2146 | "flake-utils": "flake-utils_11", | ||
2147 | "nixpkgs": "nixpkgs_14", | ||
2148 | "nixpkgs-4": "nixpkgs-4" | ||
2149 | }, | ||
2150 | "locked": { | ||
2151 | "lastModified": 1, | ||
2152 | "narHash": "sha256-Qs+O86L4sPArYWm7wMCFNKLCWfUwkz8STePsn5K9Xwk=", | ||
2153 | "path": "../../flakes/private/php", | ||
2154 | "type": "path" | ||
2155 | }, | ||
2156 | "original": { | ||
2157 | "path": "../../flakes/private/php", | ||
2158 | "type": "path" | ||
2159 | } | ||
2160 | }, | ||
2161 | "private-ssh": { | ||
2162 | "inputs": { | ||
2163 | "environment": "environment_5", | ||
2164 | "secrets": "secrets_5" | ||
2165 | }, | ||
2166 | "locked": { | ||
2167 | "lastModified": 1, | ||
2168 | "narHash": "sha256-ckUFmIHxrUuBMxOHhzgT+4sX/ek/Op0PjdyL3NyU/Mc=", | ||
2169 | "path": "../../flakes/private/ssh", | ||
2170 | "type": "path" | ||
2171 | }, | ||
2172 | "original": { | ||
2173 | "path": "../../flakes/private/ssh", | ||
2174 | "type": "path" | ||
2175 | } | ||
2176 | }, | ||
2177 | "private-system": { | ||
2178 | "inputs": { | ||
2179 | "backports": "backports", | ||
2180 | "environment": "environment_6", | ||
2181 | "mypackages": "mypackages", | ||
2182 | "myuids": "myuids_7", | ||
2183 | "secrets-public": "secrets-public" | ||
2184 | }, | ||
2185 | "locked": { | ||
2186 | "lastModified": 1, | ||
2187 | "narHash": "sha256-vOs7fcQVsOSl/gsyzFXfsWE7u0/O9mIKpHnwDwHxJTQ=", | ||
2188 | "path": "../../flakes/private/system", | ||
2189 | "type": "path" | ||
2190 | }, | ||
2191 | "original": { | ||
2192 | "path": "../../flakes/private/system", | ||
2193 | "type": "path" | ||
2194 | } | ||
2195 | }, | ||
2196 | "public-copanier": { | ||
2197 | "inputs": { | ||
2198 | "copanier": "copanier", | ||
2199 | "flake-utils": "flake-utils_13", | ||
2200 | "nixpkgs": "nixpkgs_17" | ||
2201 | }, | ||
2202 | "locked": { | ||
2203 | "lastModified": 1, | ||
2204 | "narHash": "sha256-v7ZhvU3UAmA7EtPWutYddHE84qbqWx/ugtFAEgpD4H0=", | ||
2205 | "path": "../../flakes/copanier", | ||
2206 | "type": "path" | ||
2207 | }, | ||
2208 | "original": { | ||
2209 | "path": "../../flakes/copanier", | ||
2210 | "type": "path" | ||
2211 | } | ||
2212 | }, | ||
2213 | "public-diaspora": { | ||
2214 | "inputs": { | ||
2215 | "diaspora": "diaspora", | ||
2216 | "flake-utils": "flake-utils_14", | ||
2217 | "myuids": "myuids_8", | ||
2218 | "nixpkgs": "nixpkgs_18" | ||
2219 | }, | ||
2220 | "locked": { | ||
2221 | "lastModified": 1, | ||
2222 | "narHash": "sha256-S+ZZI5/WNGE9m5yRkOM3LlJUTrjtjzcBRLNrHi0fx6M=", | ||
2223 | "path": "../../flakes/diaspora", | ||
2224 | "type": "path" | ||
2225 | }, | ||
2226 | "original": { | ||
2227 | "path": "../../flakes/diaspora", | ||
2228 | "type": "path" | ||
2229 | } | ||
2230 | }, | ||
2231 | "public-etherpad-lite": { | ||
2232 | "inputs": { | ||
2233 | "etherpad-lite": "etherpad-lite", | ||
2234 | "flake-utils": "flake-utils_15", | ||
2235 | "mypackages": "mypackages_2", | ||
2236 | "nixpkgs": "nixpkgs_20" | ||
2237 | }, | ||
2238 | "locked": { | ||
2239 | "lastModified": 1, | ||
2240 | "narHash": "sha256-j6p9rVNwD0C3VN65VdnF3yG8fy5S8aAsi2kRXWPd3VE=", | ||
2241 | "path": "../../flakes/etherpad-lite", | ||
2242 | "type": "path" | ||
2243 | }, | ||
2244 | "original": { | ||
2245 | "path": "../../flakes/etherpad-lite", | ||
2246 | "type": "path" | ||
2247 | } | ||
2248 | }, | ||
2249 | "public-fiche": { | ||
2250 | "locked": { | ||
2251 | "lastModified": 1, | ||
2252 | "narHash": "sha256-oIMKN1dD4K+5pOGugNaNNdJme5NYlYtnNd3ivvyVoJI=", | ||
2253 | "path": "../../flakes/fiche", | ||
2254 | "type": "path" | ||
2255 | }, | ||
2256 | "original": { | ||
2257 | "path": "../../flakes/fiche", | ||
2258 | "type": "path" | ||
2259 | } | ||
2260 | }, | ||
2261 | "public-files-watcher": { | ||
2262 | "locked": { | ||
2263 | "lastModified": 1, | ||
2264 | "narHash": "sha256-ZsdumUVoSPkV/DB6gO6dNDttjzalye0ToVBF9bl5W0k=", | ||
2265 | "path": "../../flakes/files-watcher", | ||
2266 | "type": "path" | ||
2267 | }, | ||
2268 | "original": { | ||
2269 | "path": "../../flakes/files-watcher", | ||
2270 | "type": "path" | ||
2271 | } | ||
2272 | }, | ||
2273 | "public-grocy": { | ||
2274 | "inputs": { | ||
2275 | "flake-utils": "flake-utils_16", | ||
2276 | "grocy": "grocy", | ||
2277 | "mypackages": "mypackages_3", | ||
2278 | "nixpkgs": "nixpkgs_22" | ||
2279 | }, | ||
2280 | "locked": { | ||
2281 | "lastModified": 1, | ||
2282 | "narHash": "sha256-Xv5wFz3A1f+jkJ1hxb6DwisBwsZxaQccp/Kwe5lqwy0=", | ||
2283 | "path": "../../flakes/grocy", | ||
2284 | "type": "path" | ||
2285 | }, | ||
2286 | "original": { | ||
2287 | "path": "../../flakes/grocy", | ||
2288 | "type": "path" | ||
2289 | } | ||
2290 | }, | ||
2291 | "public-loginctl-linger": { | ||
2292 | "locked": { | ||
2293 | "lastModified": 1, | ||
2294 | "narHash": "sha256-TLlUOhiQzYo6SwH0E3oPCDfhgW249qPZTlVar1VmpKw=", | ||
2295 | "path": "../../flakes/loginctl-linger", | ||
2296 | "type": "path" | ||
2297 | }, | ||
2298 | "original": { | ||
2299 | "path": "../../flakes/loginctl-linger", | ||
2300 | "type": "path" | ||
2301 | } | ||
2302 | }, | ||
2303 | "public-mastodon": { | ||
2304 | "inputs": { | ||
2305 | "flake-utils": "flake-utils_17", | ||
2306 | "mastodon": "mastodon", | ||
2307 | "myuids": "myuids_9", | ||
2308 | "nixpkgs": "nixpkgs_23" | ||
2309 | }, | ||
2310 | "locked": { | ||
2311 | "lastModified": 1, | ||
2312 | "narHash": "sha256-5bh3eTXdSac7Kw17+6EVmjNZpPIdGc7a3E5lb7wYn2U=", | ||
2313 | "path": "../../flakes/mastodon", | ||
2314 | "type": "path" | ||
2315 | }, | ||
2316 | "original": { | ||
2317 | "path": "../../flakes/mastodon", | ||
2318 | "type": "path" | ||
2319 | } | ||
2320 | }, | ||
2321 | "public-mediagoblin": { | ||
2322 | "inputs": { | ||
2323 | "flake-utils": "flake-utils_18", | ||
2324 | "mediagoblin": "mediagoblin", | ||
2325 | "myuids": "myuids_10", | ||
2326 | "nixpkgs": "nixpkgs_24" | ||
2327 | }, | ||
2328 | "locked": { | ||
2329 | "lastModified": 1, | ||
2330 | "narHash": "sha256-CVFwdH+i6K9dxyniI6nUeLiNZoD17uKT1Q8/4MaiTGU=", | ||
2331 | "path": "../../flakes/mediagoblin", | ||
2332 | "type": "path" | ||
2333 | }, | ||
2334 | "original": { | ||
2335 | "path": "../../flakes/mediagoblin", | ||
2336 | "type": "path" | ||
2337 | } | ||
2338 | }, | ||
2339 | "public-multi-apache-container": { | ||
2340 | "inputs": { | ||
2341 | "files-watcher": "files-watcher_4", | ||
2342 | "myuids": "myuids_11" | ||
2343 | }, | ||
2344 | "locked": { | ||
2345 | "lastModified": 1, | ||
2346 | "narHash": "sha256-euh+K7DLk5B3hKTeK5Xwo6dvnvHk+7ZDCqaRdG48i8I=", | ||
2347 | "path": "../../flakes/multi-apache-container", | ||
2348 | "type": "path" | ||
2349 | }, | ||
2350 | "original": { | ||
2351 | "path": "../../flakes/multi-apache-container", | ||
2352 | "type": "path" | ||
2353 | } | ||
2354 | }, | ||
2355 | "public-mypackages": { | ||
2356 | "inputs": { | ||
2357 | "flake-parts": "flake-parts_5", | ||
2358 | "nixpkgs": "nixpkgs_25", | ||
2359 | "webapps-ttrss": "webapps-ttrss_4" | ||
2360 | }, | ||
2361 | "locked": { | ||
2362 | "lastModified": 1, | ||
2363 | "narHash": "sha256-C0plEL+g6kv5fo/VmTjMJK45RfFcGufqPKJVnviMyGY=", | ||
2364 | "path": "../../flakes/mypackages", | ||
2365 | "type": "path" | ||
2366 | }, | ||
2367 | "original": { | ||
2368 | "path": "../../flakes/mypackages", | ||
2369 | "type": "path" | ||
2370 | } | ||
2371 | }, | ||
2372 | "public-myuids": { | ||
2373 | "locked": { | ||
2374 | "lastModified": 1, | ||
2375 | "narHash": "sha256-HkW9YCLQCNBX3Em7J7MjraVEZO3I3PizkVV2QrUdULQ=", | ||
2376 | "path": "../../flakes/myuids", | ||
2377 | "type": "path" | ||
2378 | }, | ||
2379 | "original": { | ||
2380 | "path": "../../flakes/myuids", | ||
2381 | "type": "path" | ||
2382 | } | ||
2383 | }, | ||
2384 | "public-openarc": { | ||
2385 | "inputs": { | ||
2386 | "flake-utils": "flake-utils_19", | ||
2387 | "myuids": "myuids_12", | ||
2388 | "nixpkgs": "nixpkgs_26", | ||
2389 | "openarc": "openarc_5" | ||
2390 | }, | ||
2391 | "locked": { | ||
2392 | "lastModified": 1, | ||
2393 | "narHash": "sha256-+X3x0t7DSYBvgFAUGNnMV4F/vQOUWE+9Q4Az6V8/iTw=", | ||
2394 | "path": "../../flakes/openarc", | ||
2395 | "type": "path" | ||
2396 | }, | ||
2397 | "original": { | ||
2398 | "path": "../../flakes/openarc", | ||
2399 | "type": "path" | ||
2400 | } | ||
2401 | }, | ||
2402 | "public-opendmarc": { | ||
2403 | "inputs": { | ||
2404 | "flake-utils": "flake-utils_20", | ||
2405 | "myuids": "myuids_13", | ||
2406 | "nixpkgs": "nixpkgs_27" | ||
2407 | }, | ||
2408 | "locked": { | ||
2409 | "lastModified": 1, | ||
2410 | "narHash": "sha256-dDS9a1XujZU6KVCgz2RKbx2T3yT1k7z0EknUh1OyMdQ=", | ||
2411 | "path": "../../flakes/opendmarc", | ||
2412 | "type": "path" | ||
2413 | }, | ||
2414 | "original": { | ||
2415 | "path": "../../flakes/opendmarc", | ||
2416 | "type": "path" | ||
2417 | } | ||
2418 | }, | ||
2419 | "public-peertube": { | ||
2420 | "inputs": { | ||
2421 | "flake-utils": "flake-utils_21", | ||
2422 | "myuids": "myuids_14", | ||
2423 | "nixpkgs": "nixpkgs_28", | ||
2424 | "peertube": "peertube_3" | ||
2425 | }, | ||
2426 | "locked": { | ||
2427 | "lastModified": 1, | ||
2428 | "narHash": "sha256-l+XpuMrH6I51hk37REAPVSLlbvCdad3kcDGioodzPR4=", | ||
2429 | "path": "../../flakes/peertube", | ||
2430 | "type": "path" | ||
2431 | }, | ||
2432 | "original": { | ||
2433 | "path": "../../flakes/peertube", | ||
2434 | "type": "path" | ||
2435 | } | ||
2436 | }, | ||
2437 | "public-secrets": { | ||
2438 | "locked": { | ||
2439 | "lastModified": 1, | ||
2440 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2441 | "path": "../../flakes/secrets", | ||
2442 | "type": "path" | ||
2443 | }, | ||
2444 | "original": { | ||
2445 | "path": "../../flakes/secrets", | ||
2446 | "type": "path" | ||
2447 | } | ||
2448 | }, | ||
2449 | "public-surfer": { | ||
2450 | "inputs": { | ||
2451 | "flake-utils": "flake-utils_22", | ||
2452 | "mypackages": "mypackages_4", | ||
2453 | "nixpkgs": "nixpkgs_30", | ||
2454 | "surfer": "surfer" | ||
2455 | }, | ||
2456 | "locked": { | ||
2457 | "lastModified": 1, | ||
2458 | "narHash": "sha256-67TqavMsANZI6X15AFUQZ2zHSmoWJc80XaXwEGhWsRg=", | ||
2459 | "path": "../../flakes/surfer", | ||
2460 | "type": "path" | ||
2461 | }, | ||
2462 | "original": { | ||
2463 | "path": "../../flakes/surfer", | ||
2464 | "type": "path" | ||
2465 | } | ||
2466 | }, | ||
2467 | "public-taskwarrior-web": { | ||
2468 | "inputs": { | ||
2469 | "flake-utils": "flake-utils_23", | ||
2470 | "nixpkgs": "nixpkgs_31", | ||
2471 | "taskwarrior-web": "taskwarrior-web" | ||
2472 | }, | ||
2473 | "locked": { | ||
2474 | "lastModified": 1, | ||
2475 | "narHash": "sha256-0u83WrBwbIpuyy82UK3EUqC/dgoCoDzptRe+G4VhKXo=", | ||
2476 | "path": "../../flakes/taskwarrior-web", | ||
2477 | "type": "path" | ||
2478 | }, | ||
2479 | "original": { | ||
2480 | "path": "../../flakes/taskwarrior-web", | ||
2481 | "type": "path" | ||
2482 | } | ||
2483 | }, | ||
2484 | "root": { | ||
2485 | "inputs": { | ||
2486 | "dns-nix": "dns-nix", | ||
2487 | "my-lib": "my-lib", | ||
2488 | "nixpkgs": "nixpkgs_5", | ||
2489 | "private-buildbot": "private-buildbot", | ||
2490 | "private-chatons": "private-chatons", | ||
2491 | "private-environment": "private-environment", | ||
2492 | "private-milters": "private-milters", | ||
2493 | "private-monitoring": "private-monitoring", | ||
2494 | "private-openarc": "private-openarc", | ||
2495 | "private-opendmarc": "private-opendmarc", | ||
2496 | "private-openldap": "private-openldap", | ||
2497 | "private-paste": "private-paste", | ||
2498 | "private-peertube": "private-peertube", | ||
2499 | "private-php": "private-php", | ||
2500 | "private-ssh": "private-ssh", | ||
2501 | "private-system": "private-system", | ||
2502 | "public-copanier": "public-copanier", | ||
2503 | "public-diaspora": "public-diaspora", | ||
2504 | "public-etherpad-lite": "public-etherpad-lite", | ||
2505 | "public-fiche": "public-fiche", | ||
2506 | "public-files-watcher": "public-files-watcher", | ||
2507 | "public-grocy": "public-grocy", | ||
2508 | "public-loginctl-linger": "public-loginctl-linger", | ||
2509 | "public-mastodon": "public-mastodon", | ||
2510 | "public-mediagoblin": "public-mediagoblin", | ||
2511 | "public-multi-apache-container": "public-multi-apache-container", | ||
2512 | "public-mypackages": "public-mypackages", | ||
2513 | "public-myuids": "public-myuids", | ||
2514 | "public-openarc": "public-openarc", | ||
2515 | "public-opendmarc": "public-opendmarc", | ||
2516 | "public-peertube": "public-peertube", | ||
2517 | "public-secrets": "public-secrets", | ||
2518 | "public-surfer": "public-surfer", | ||
2519 | "public-taskwarrior-web": "public-taskwarrior-web" | ||
2520 | } | ||
2521 | }, | ||
2522 | "secrets": { | ||
2523 | "locked": { | ||
2524 | "lastModified": 1, | ||
2525 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2526 | "path": "../../secrets", | ||
2527 | "type": "path" | ||
2528 | }, | ||
2529 | "original": { | ||
2530 | "path": "../../secrets", | ||
2531 | "type": "path" | ||
2532 | } | ||
2533 | }, | ||
2534 | "secrets-public": { | ||
2535 | "locked": { | ||
2536 | "lastModified": 1, | ||
2537 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2538 | "path": "../../secrets", | ||
2539 | "type": "path" | ||
2540 | }, | ||
2541 | "original": { | ||
2542 | "path": "../../secrets", | ||
2543 | "type": "path" | ||
2544 | } | ||
2545 | }, | ||
2546 | "secrets_2": { | ||
2547 | "locked": { | ||
2548 | "lastModified": 1, | ||
2549 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2550 | "path": "../../secrets", | ||
2551 | "type": "path" | ||
2552 | }, | ||
2553 | "original": { | ||
2554 | "path": "../../secrets", | ||
2555 | "type": "path" | ||
2556 | } | ||
2557 | }, | ||
2558 | "secrets_3": { | ||
2559 | "locked": { | ||
2560 | "lastModified": 1, | ||
2561 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2562 | "path": "../../secrets", | ||
2563 | "type": "path" | ||
2564 | }, | ||
2565 | "original": { | ||
2566 | "path": "../../secrets", | ||
2567 | "type": "path" | ||
2568 | } | ||
2569 | }, | ||
2570 | "secrets_4": { | ||
2571 | "locked": { | ||
2572 | "lastModified": 1, | ||
2573 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2574 | "path": "../../secrets", | ||
2575 | "type": "path" | ||
2576 | }, | ||
2577 | "original": { | ||
2578 | "path": "../../secrets", | ||
2579 | "type": "path" | ||
2580 | } | ||
2581 | }, | ||
2582 | "secrets_5": { | ||
2583 | "locked": { | ||
2584 | "lastModified": 1, | ||
2585 | "narHash": "sha256-5AakznhrJFmwCD7lr4JEh55MtdAJL6WA/YuBks6ISSE=", | ||
2586 | "path": "../../secrets", | ||
2587 | "type": "path" | ||
2588 | }, | ||
2589 | "original": { | ||
2590 | "path": "../../secrets", | ||
2591 | "type": "path" | ||
2592 | } | ||
2593 | }, | ||
2594 | "stable": { | ||
2595 | "locked": { | ||
2596 | "lastModified": 1669735802, | ||
2597 | "narHash": "sha256-qtG/o/i5ZWZLmXw108N2aPiVsxOcidpHJYNkT45ry9Q=", | ||
2598 | "owner": "NixOS", | ||
2599 | "repo": "nixpkgs", | ||
2600 | "rev": "731cc710aeebecbf45a258e977e8b68350549522", | ||
2601 | "type": "github" | ||
2602 | }, | ||
2603 | "original": { | ||
2604 | "owner": "NixOS", | ||
2605 | "ref": "nixos-22.11", | ||
2606 | "repo": "nixpkgs", | ||
2607 | "type": "github" | ||
2608 | } | ||
2609 | }, | ||
2610 | "surfer": { | ||
2611 | "flake": false, | ||
2612 | "locked": { | ||
2613 | "lastModified": 1588637864, | ||
2614 | "narHash": "sha256-B1Sbu1YSHj+ONSoT5v6bVlAHJWtceUV4O5huGhc8b0U=", | ||
2615 | "rev": "476177380452c9c7c5b1624805feedc824c5995e", | ||
2616 | "revCount": 318, | ||
2617 | "type": "git", | ||
2618 | "url": "https://git.immae.eu/perso/Immae/Projets/Nodejs/Surfer.git" | ||
2619 | }, | ||
2620 | "original": { | ||
2621 | "rev": "476177380452c9c7c5b1624805feedc824c5995e", | ||
2622 | "type": "git", | ||
2623 | "url": "https://git.immae.eu/perso/Immae/Projets/Nodejs/Surfer.git" | ||
2624 | } | ||
2625 | }, | ||
2626 | "taskwarrior-web": { | ||
2627 | "flake": false, | ||
2628 | "locked": { | ||
2629 | "lastModified": 1546434241, | ||
2630 | "narHash": "sha256-BLPBglkV1HCJECSIdyMEergChiV+rwNOClYJnzlZGQk=", | ||
2631 | "owner": "theunraveler", | ||
2632 | "repo": "taskwarrior-web", | ||
2633 | "rev": "a79cfe2b42791b62364118e58b21b892fff6ded8", | ||
2634 | "type": "github" | ||
2635 | }, | ||
2636 | "original": { | ||
2637 | "owner": "theunraveler", | ||
2638 | "repo": "taskwarrior-web", | ||
2639 | "rev": "a79cfe2b42791b62364118e58b21b892fff6ded8", | ||
2640 | "type": "github" | ||
2641 | } | ||
2642 | }, | ||
2643 | "treefmt-nix": { | ||
2644 | "inputs": { | ||
2645 | "nixpkgs": [ | ||
2646 | "my-lib", | ||
2647 | "nixos-anywhere", | ||
2648 | "nixpkgs" | ||
2649 | ] | ||
2650 | }, | ||
2651 | "locked": { | ||
2652 | "lastModified": 1687940979, | ||
2653 | "narHash": "sha256-D4ZFkgIG2s9Fyi78T3fVG9mqMD+/UnFDB62jS4gjZKY=", | ||
2654 | "owner": "numtide", | ||
2655 | "repo": "treefmt-nix", | ||
2656 | "rev": "0a4f06c27610a99080b69433873885df82003aae", | ||
2657 | "type": "github" | ||
2658 | }, | ||
2659 | "original": { | ||
2660 | "owner": "numtide", | ||
2661 | "repo": "treefmt-nix", | ||
2662 | "type": "github" | ||
2663 | } | ||
2664 | }, | ||
2665 | "webapps-ttrss": { | ||
2666 | "flake": false, | ||
2667 | "locked": { | ||
2668 | "lastModified": 1546759381, | ||
2669 | "narHash": "sha256-urjf4EoLWS7G0s0hRtaErrs2B8DUatNK/eoneuB0anY=", | ||
2670 | "ref": "master", | ||
2671 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2672 | "revCount": 9256, | ||
2673 | "type": "git", | ||
2674 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2675 | }, | ||
2676 | "original": { | ||
2677 | "ref": "master", | ||
2678 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2679 | "type": "git", | ||
2680 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2681 | } | ||
2682 | }, | ||
2683 | "webapps-ttrss_2": { | ||
2684 | "flake": false, | ||
2685 | "locked": { | ||
2686 | "lastModified": 1546759381, | ||
2687 | "narHash": "sha256-urjf4EoLWS7G0s0hRtaErrs2B8DUatNK/eoneuB0anY=", | ||
2688 | "ref": "master", | ||
2689 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2690 | "revCount": 9256, | ||
2691 | "type": "git", | ||
2692 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2693 | }, | ||
2694 | "original": { | ||
2695 | "ref": "master", | ||
2696 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2697 | "type": "git", | ||
2698 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2699 | } | ||
2700 | }, | ||
2701 | "webapps-ttrss_3": { | ||
2702 | "flake": false, | ||
2703 | "locked": { | ||
2704 | "lastModified": 1546759381, | ||
2705 | "narHash": "sha256-urjf4EoLWS7G0s0hRtaErrs2B8DUatNK/eoneuB0anY=", | ||
2706 | "ref": "master", | ||
2707 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2708 | "revCount": 9256, | ||
2709 | "type": "git", | ||
2710 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2711 | }, | ||
2712 | "original": { | ||
2713 | "ref": "master", | ||
2714 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2715 | "type": "git", | ||
2716 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2717 | } | ||
2718 | }, | ||
2719 | "webapps-ttrss_4": { | ||
2720 | "flake": false, | ||
2721 | "locked": { | ||
2722 | "lastModified": 1546759381, | ||
2723 | "narHash": "sha256-urjf4EoLWS7G0s0hRtaErrs2B8DUatNK/eoneuB0anY=", | ||
2724 | "ref": "master", | ||
2725 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2726 | "revCount": 9256, | ||
2727 | "type": "git", | ||
2728 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2729 | }, | ||
2730 | "original": { | ||
2731 | "ref": "master", | ||
2732 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2733 | "type": "git", | ||
2734 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2735 | } | ||
2736 | }, | ||
2737 | "webapps-ttrss_5": { | ||
2738 | "flake": false, | ||
2739 | "locked": { | ||
2740 | "lastModified": 1546759381, | ||
2741 | "narHash": "sha256-urjf4EoLWS7G0s0hRtaErrs2B8DUatNK/eoneuB0anY=", | ||
2742 | "ref": "master", | ||
2743 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2744 | "revCount": 9256, | ||
2745 | "type": "git", | ||
2746 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2747 | }, | ||
2748 | "original": { | ||
2749 | "ref": "master", | ||
2750 | "rev": "986ca251f995f7754a0470d3e0c44538a545081f", | ||
2751 | "type": "git", | ||
2752 | "url": "https://git.tt-rss.org/fox/tt-rss.git" | ||
2753 | } | ||
2754 | } | ||
2755 | }, | ||
2756 | "root": "root", | ||
2757 | "version": 7 | ||
2758 | } | ||
diff --git a/systems/eldiron/flake.nix b/systems/eldiron/flake.nix new file mode 100644 index 0000000..790b638 --- /dev/null +++ b/systems/eldiron/flake.nix | |||
@@ -0,0 +1,90 @@ | |||
1 | { | ||
2 | inputs = { | ||
3 | nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; | ||
4 | dns-nix.url = "github:kirelagin/dns.nix"; | ||
5 | dns-nix.inputs.nixpkgs.follows = "nixpkgs"; | ||
6 | |||
7 | my-lib.url = "path:../../flakes/lib"; | ||
8 | |||
9 | public-etherpad-lite.url = "path:../../flakes/etherpad-lite"; | ||
10 | public-grocy.url = "path:../../flakes/grocy"; | ||
11 | public-openarc.url = "path:../../flakes/openarc"; | ||
12 | public-opendmarc.url = "path:../../flakes/opendmarc"; | ||
13 | public-peertube.url = "path:../../flakes/peertube"; | ||
14 | public-diaspora.url = "path:../../flakes/diaspora"; | ||
15 | public-mastodon.url = "path:../../flakes/mastodon"; | ||
16 | public-mediagoblin.url = "path:../../flakes/mediagoblin"; | ||
17 | public-surfer.url = "path:../../flakes/surfer"; | ||
18 | public-myuids.url = "path:../../flakes/myuids"; | ||
19 | public-copanier.url = "path:../../flakes/copanier"; | ||
20 | public-secrets.url = "path:../../flakes/secrets"; | ||
21 | public-files-watcher.url = "path:../../flakes/files-watcher"; | ||
22 | public-fiche.url = "path:../../flakes/fiche"; | ||
23 | public-mypackages.url = "path:../../flakes/mypackages"; | ||
24 | public-loginctl-linger.url = "path:../../flakes/loginctl-linger"; | ||
25 | public-multi-apache-container.url = "path:../../flakes/multi-apache-container"; | ||
26 | public-taskwarrior-web.url = "path:../../flakes/taskwarrior-web"; | ||
27 | |||
28 | private-peertube.url = "path:../../flakes/private/peertube"; | ||
29 | private-buildbot.url = "path:../../flakes/private/buildbot"; | ||
30 | private-php.url = "path:../../flakes/private/php"; | ||
31 | private-environment.url = "path:../../flakes/private/environment"; | ||
32 | private-openarc.url = "path:../../flakes/private/openarc"; | ||
33 | private-openldap.url = "path:../../flakes/private/openldap"; | ||
34 | private-opendmarc.url = "path:../../flakes/private/opendmarc"; | ||
35 | private-milters.url = "path:../../flakes/private/milters"; | ||
36 | private-monitoring.url = "path:../../flakes/private/monitoring"; | ||
37 | private-paste.url = "path:../../flakes/private/paste"; | ||
38 | private-ssh.url = "path:../../flakes/private/ssh"; | ||
39 | private-chatons.url = "path:../../flakes/private/chatons"; | ||
40 | private-system.url = "path:../../flakes/private/system"; | ||
41 | }; | ||
42 | outputs = inputs@{ self, my-lib, nixpkgs, dns-nix, ...}: | ||
43 | my-lib.lib.mkColmenaFlake { | ||
44 | name = "eldiron"; | ||
45 | inherit self nixpkgs; | ||
46 | system = "x86_64-linux"; | ||
47 | targetHost = "176.9.151.89"; | ||
48 | targetUser = "root"; | ||
49 | nixosModules = with inputs; { | ||
50 | base = ./base.nix; | ||
51 | myuids = public-myuids.nixosModule; | ||
52 | secrets = public-secrets.nixosModule; | ||
53 | loginctl-linger = public-loginctl-linger.nixosModule; | ||
54 | files-watcher = public-files-watcher.nixosModule; | ||
55 | multi-apache-container = public-multi-apache-container.nixosModule; | ||
56 | etherpad-lite = public-etherpad-lite.nixosModule; | ||
57 | mastodon = public-mastodon.nixosModule; | ||
58 | mediagoblin = public-mediagoblin.nixosModule; | ||
59 | peertube = public-peertube.nixosModule; | ||
60 | diaspora = public-diaspora.nixosModule; | ||
61 | fiche = public-fiche.nixosModule; | ||
62 | |||
63 | environment = private-environment.nixosModule; | ||
64 | openarc = private-openarc.nixosModule; | ||
65 | opendmarc = private-opendmarc.nixosModule; | ||
66 | ssh = private-ssh.nixosModule; | ||
67 | chatons = private-chatons.nixosModule; | ||
68 | system = private-system.nixosModule; | ||
69 | monitoring = private-monitoring.nixosModule; | ||
70 | paste = private-paste.nixosModule; | ||
71 | milters = private-milters.nixosModule; | ||
72 | }; | ||
73 | moduleArgs = with inputs; { | ||
74 | dns-nix = dns-nix; | ||
75 | nixpkgsRaw = nixpkgs.legacyPackages.x86_64-linux; | ||
76 | mypackages-lib = public-mypackages.lib.x86_64-linux; | ||
77 | etherpad-lite = public-etherpad-lite.defaultPackage.x86_64-linux; | ||
78 | taskwarrior-web = public-taskwarrior-web.defaultPackage.x86_64-linux; | ||
79 | copanier = public-copanier.defaultPackage.x86_64-linux; | ||
80 | grocy = public-grocy.defaultPackage.x86_64-linux; | ||
81 | surfer = public-surfer.defaultPackage.x86_64-linux; | ||
82 | mediagoblin = public-mediagoblin.defaultPackage.x86_64-linux; | ||
83 | buildbot = private-buildbot.packages.x86_64-linux.buildbot-full; | ||
84 | openldap = private-openldap; | ||
85 | monitoring = private-monitoring; | ||
86 | peertube = private-peertube.packages.x86_64-linux; | ||
87 | php = private-php; | ||
88 | }; | ||
89 | }; | ||
90 | } | ||
diff --git a/systems/eldiron/ftp.nix b/systems/eldiron/ftp.nix new file mode 100644 index 0000000..6aa1afc --- /dev/null +++ b/systems/eldiron/ftp.nix | |||
@@ -0,0 +1,339 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | package = pkgs.pure-ftpd.override { ldapFtpId = "immaeFtp"; }; | ||
4 | pure-ftpd-enabled = config.myServices.ftp.pure-ftpd.enable; | ||
5 | proftpd-enabled = config.myServices.ftp.proftpd.enable; | ||
6 | in | ||
7 | { | ||
8 | options = { | ||
9 | myServices.ftp.enable = lib.mkOption { | ||
10 | type = lib.types.bool; | ||
11 | default = false; | ||
12 | description = '' | ||
13 | Whether to enable ftp. | ||
14 | ''; | ||
15 | }; | ||
16 | myServices.ftp.pure-ftpd.enable = lib.mkOption { | ||
17 | type = lib.types.bool; | ||
18 | default = false; | ||
19 | description = '' | ||
20 | Whether to enable pure-ftpd. | ||
21 | ''; | ||
22 | }; | ||
23 | myServices.ftp.proftpd.enable = lib.mkOption { | ||
24 | type = lib.types.bool; | ||
25 | default = true; | ||
26 | description = '' | ||
27 | Whether to enable proftpd. | ||
28 | ''; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | config = lib.mkIf config.myServices.ftp.enable { | ||
33 | myServices.dns.zones."immae.eu".subdomains.ftp = | ||
34 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
35 | |||
36 | myServices.chatonsProperties.services.espace-de-stockage = { | ||
37 | file.datetime = "2022-08-22T01:00:00"; | ||
38 | service = { | ||
39 | name = "Espace de stockage"; | ||
40 | description = "Compte FTP/SFTP"; | ||
41 | logo = if pure-ftpd-enabled | ||
42 | then "https://www.pureftpd.org/project/pure-ftpd/images/favicon.png" | ||
43 | else if proftpd-enabled | ||
44 | then "http://proftpd.org/proftpd.png" | ||
45 | else ""; | ||
46 | website = "ftp.immae.eu"; | ||
47 | status.level = "OK"; | ||
48 | status.description = "OK"; | ||
49 | registration."" = ["MEMBER" "CLIENT"]; | ||
50 | registration.load = "OPEN"; | ||
51 | install.type = "PACKAGE"; | ||
52 | }; | ||
53 | software = if pure-ftpd-enabled then { | ||
54 | name = "Pure-ftpd"; | ||
55 | website = "https://www.pureftpd.org/project/pure-ftpd/"; | ||
56 | license.url = "https://github.com/jedisct1/pure-ftpd/blob/master/COPYING"; | ||
57 | license.name = "MIT Licence"; | ||
58 | version = package.version; | ||
59 | source.url = "https://github.com/jedisct1/pure-ftpd/"; | ||
60 | modules = "openssh"; | ||
61 | } else if proftpd-enabled then { | ||
62 | name = "ProFTPD"; | ||
63 | website = "http://proftpd.org/"; | ||
64 | license.url = "https://github.com/proftpd/proftpd/blob/master/COPYING"; | ||
65 | license.name = "GNU General Public License v2.0"; | ||
66 | version = pkgs.proftpd.version; | ||
67 | source.url = "https://github.com/proftpd/proftpd/"; | ||
68 | modules = "openssh"; | ||
69 | } else {}; | ||
70 | }; | ||
71 | #myServices.chatonsProperties.services.ftp = { | ||
72 | # file.datetime = "2022-08-22T01:00:00"; | ||
73 | # service = { | ||
74 | # name = "Comptes FTP"; | ||
75 | # description = "Compte FTP/SFTP"; | ||
76 | # logo = if pure-ftpd-enabled | ||
77 | # then "https://www.pureftpd.org/project/pure-ftpd/images/favicon.png" | ||
78 | # else if proftpd-enabled | ||
79 | # then "http://proftpd.org/proftpd.png" | ||
80 | # else ""; | ||
81 | # website = "ftp.immae.eu"; | ||
82 | # status.level = "OK"; | ||
83 | # status.description = "OK"; | ||
84 | # registration."" = ["MEMBER" "CLIENT"]; | ||
85 | # registration.load = "OPEN"; | ||
86 | # install.type = "PACKAGE"; | ||
87 | # }; | ||
88 | # software = if pure-ftpd-enabled then { | ||
89 | # name = "Pure-ftpd"; | ||
90 | # website = "https://www.pureftpd.org/project/pure-ftpd/"; | ||
91 | # license.url = "https://github.com/jedisct1/pure-ftpd/blob/master/COPYING"; | ||
92 | # license.name = "MIT Licence"; | ||
93 | # version = package.version; | ||
94 | # source.url = "https://github.com/jedisct1/pure-ftpd/"; | ||
95 | # } else if proftpd-enabled then { | ||
96 | # name = "ProFTPD"; | ||
97 | # website = "http://proftpd.org/"; | ||
98 | # license.url = "https://github.com/proftpd/proftpd/blob/master/COPYING"; | ||
99 | # license.name = "GNU General Public License v2.0"; | ||
100 | # version = pkgs.proftpd.version; | ||
101 | # source.url = "https://github.com/proftpd/proftpd/"; | ||
102 | # } else {}; | ||
103 | #}; | ||
104 | security.acme.certs."ftp" = { | ||
105 | domain = "eldiron.immae.eu"; | ||
106 | # FIXME: make it global | ||
107 | extraLegoRunFlags = ["--preferred-chain" "ISRG Root X1"]; | ||
108 | extraLegoRenewFlags = ["--preferred-chain" "ISRG Root X1"]; | ||
109 | postRun = (lib.optionalString pure-ftpd-enabled '' | ||
110 | systemctl restart pure-ftpd.service | ||
111 | '') + (lib.optionalString proftpd-enabled '' | ||
112 | systemctl restart proftpd.service | ||
113 | ''); | ||
114 | extraDomainNames = [ "ftp.immae.eu" ]; | ||
115 | }; | ||
116 | |||
117 | networking = { | ||
118 | firewall = { | ||
119 | allowedTCPPorts = [ 21 115 ]; | ||
120 | allowedTCPPortRanges = [ { from = 40000; to = 50000; } ]; | ||
121 | }; | ||
122 | }; | ||
123 | |||
124 | users.users.ftp = { | ||
125 | uid = config.ids.uids.ftp; # 8 | ||
126 | group = "ftp"; | ||
127 | description = "Anonymous FTP user"; | ||
128 | home = "/homeless-shelter"; | ||
129 | extraGroups = [ "keys" ]; | ||
130 | }; | ||
131 | |||
132 | users.groups.ftp.gid = config.ids.gids.ftp; | ||
133 | |||
134 | system.activationScripts.ftp = '' | ||
135 | install -m 0755 -o ftp -g ftp -d /var/lib/ftp | ||
136 | '' + (lib.optionalString proftpd-enabled '' | ||
137 | install -m 0755 -o nobody -g nogroup -d /var/lib/proftpd/authorized_keys | ||
138 | ''); | ||
139 | |||
140 | secrets.keys."pure-ftpd-ldap" = lib.mkIf pure-ftpd-enabled { | ||
141 | permissions = "0400"; | ||
142 | user = "ftp"; | ||
143 | group = "ftp"; | ||
144 | text = '' | ||
145 | LDAPServer ${config.myEnv.ftp.ldap.host} | ||
146 | LDAPPort 389 | ||
147 | LDAPUseTLS True | ||
148 | LDAPBaseDN ${config.myEnv.ftp.ldap.base} | ||
149 | LDAPBindDN ${config.myEnv.ftp.ldap.dn} | ||
150 | LDAPBindPW ${config.myEnv.ftp.ldap.password} | ||
151 | LDAPDefaultUID 500 | ||
152 | LDAPForceDefaultUID False | ||
153 | LDAPDefaultGID 100 | ||
154 | LDAPForceDefaultGID False | ||
155 | LDAPFilter ${config.myEnv.ftp.ldap.pure-ftpd_filter} | ||
156 | |||
157 | LDAPAuthMethod BIND | ||
158 | |||
159 | # Pas de possibilite de donner l'Uid/Gid ! | ||
160 | # Compile dans pure-ftpd directement avec immaeFtpUid / immaeFtpGid | ||
161 | LDAPHomeDir immaeFtpDirectory | ||
162 | ''; | ||
163 | }; | ||
164 | secrets.keys."proftpd-ldap.conf" = lib.mkIf proftpd-enabled { | ||
165 | permissions = "0400"; | ||
166 | user = "ftp"; | ||
167 | group = "ftp"; | ||
168 | text = '' | ||
169 | LDAPServer ldaps://${config.myEnv.ftp.ldap.host}:636/??sub | ||
170 | LDAPUseTLS on | ||
171 | LDAPAuthBinds on | ||
172 | LDAPBindDN "${config.myEnv.ftp.ldap.dn}" "${config.myEnv.ftp.ldap.password}" | ||
173 | LDAPSearchScope subtree | ||
174 | LDAPAuthBinds on | ||
175 | LDAPDefaultGID 100 | ||
176 | LDAPDefaultUID 500 | ||
177 | LDAPForceDefaultUID off | ||
178 | LDAPForceDefaultGID off | ||
179 | LDAPAttr gidNumber immaeFtpGid | ||
180 | LDAPAttr uidNumber immaeFtpUid | ||
181 | LDAPAttr homeDirectory immaeFtpDirectory | ||
182 | LDAPUsers "${config.myEnv.ftp.ldap.base}" "${config.myEnv.ftp.ldap.proftpd_filter}" | ||
183 | LDAPGroups "${config.myEnv.ftp.ldap.base}" | ||
184 | ''; | ||
185 | }; | ||
186 | |||
187 | services.filesWatcher.pure-ftpd = lib.mkIf pure-ftpd-enabled { | ||
188 | restart = true; | ||
189 | paths = [ config.secrets.fullPaths."pure-ftpd-ldap" ]; | ||
190 | }; | ||
191 | services.filesWatcher.proftpd = lib.mkIf proftpd-enabled { | ||
192 | restart = true; | ||
193 | paths = [ config.secrets.fullPaths."proftpd-ldap.conf" ]; | ||
194 | }; | ||
195 | |||
196 | systemd.services.pure-ftpd = let | ||
197 | configFile = pkgs.writeText "pure-ftpd.conf" '' | ||
198 | PassivePortRange 40000 50000 | ||
199 | Bind 42 | ||
200 | ChrootEveryone yes | ||
201 | CreateHomeDir yes | ||
202 | BrokenClientsCompatibility yes | ||
203 | MaxClientsNumber 50 | ||
204 | Daemonize yes | ||
205 | MaxClientsPerIP 8 | ||
206 | VerboseLog no | ||
207 | DisplayDotFiles yes | ||
208 | AnonymousOnly no | ||
209 | NoAnonymous no | ||
210 | SyslogFacility ftp | ||
211 | DontResolve yes | ||
212 | MaxIdleTime 15 | ||
213 | LDAPConfigFile ${config.secrets.fullPaths."pure-ftpd-ldap"} | ||
214 | LimitRecursion 10000 8 | ||
215 | AnonymousCanCreateDirs no | ||
216 | MaxLoad 4 | ||
217 | AntiWarez yes | ||
218 | Umask 133:022 | ||
219 | # ftp | ||
220 | MinUID 8 | ||
221 | AllowUserFXP no | ||
222 | AllowAnonymousFXP no | ||
223 | ProhibitDotFilesWrite no | ||
224 | ProhibitDotFilesRead no | ||
225 | AutoRename no | ||
226 | AnonymousCantUpload no | ||
227 | MaxDiskUsage 99 | ||
228 | CustomerProof yes | ||
229 | TLS 1 | ||
230 | CertFile ${config.security.acme.certs.ftp.directory}/full.pem | ||
231 | ''; | ||
232 | in lib.mkIf pure-ftpd-enabled { | ||
233 | description = "Pure-FTPd server"; | ||
234 | wantedBy = [ "multi-user.target" ]; | ||
235 | after = [ "network.target" ]; | ||
236 | |||
237 | serviceConfig.ExecStart = "${package}/bin/pure-ftpd ${configFile}"; | ||
238 | serviceConfig.Type = "forking"; | ||
239 | serviceConfig.PIDFile = "/run/pure-ftpd.pid"; | ||
240 | }; | ||
241 | |||
242 | systemd.services.proftpd = let | ||
243 | configFile = pkgs.writeText "proftpd.conf" '' | ||
244 | ServerName "ProFTPD" | ||
245 | ServerType standalone | ||
246 | DefaultServer on | ||
247 | |||
248 | Port 21 | ||
249 | UseIPv6 on | ||
250 | Umask 022 | ||
251 | MaxInstances 30 | ||
252 | MaxClients 50 | ||
253 | MaxClientsPerHost 8 | ||
254 | |||
255 | # Set the user and group under which the server will run. | ||
256 | User ftp | ||
257 | Group ftp | ||
258 | |||
259 | CreateHome on | ||
260 | DefaultRoot ~ | ||
261 | |||
262 | AllowOverwrite on | ||
263 | |||
264 | TLSEngine on | ||
265 | TLSRequired off | ||
266 | TLSProtocol TLSv1.1 TLSv1.2 TLSv1.3 | ||
267 | |||
268 | TLSCertificateChainFile ${config.security.acme.certs.ftp.directory}/fullchain.pem | ||
269 | TLSECCertificateFile ${config.security.acme.certs.ftp.directory}/cert.pem | ||
270 | TLSECCertificateKeyFile ${config.security.acme.certs.ftp.directory}/key.pem | ||
271 | TLSRenegotiate none | ||
272 | PidFile /run/proftpd/proftpd.pid | ||
273 | |||
274 | ScoreboardFile /run/proftpd/proftpd.scoreboard | ||
275 | |||
276 | PassivePorts 40000 50000 | ||
277 | #DebugLevel 10 | ||
278 | Include ${config.secrets.fullPaths."proftpd-ldap.conf"} | ||
279 | |||
280 | RequireValidShell off | ||
281 | |||
282 | # Bar use of SITE CHMOD by default | ||
283 | <Limit SITE_CHMOD> | ||
284 | DenyAll | ||
285 | </Limit> | ||
286 | |||
287 | <VirtualHost 0.0.0.0> | ||
288 | Umask 022 | ||
289 | Port 115 | ||
290 | SFTPEngine on | ||
291 | CreateHome on | ||
292 | DefaultRoot ~ | ||
293 | |||
294 | AllowOverwrite on | ||
295 | |||
296 | SFTPHostKey /etc/ssh/ssh_host_ed25519_key | ||
297 | SFTPHostKey /etc/ssh/ssh_host_rsa_key | ||
298 | Include ${config.secrets.fullPaths."proftpd-ldap.conf"} | ||
299 | RequireValidShell off | ||
300 | SFTPAuthorizedUserKeys file:/var/lib/proftpd/authorized_keys/%u | ||
301 | SFTPAuthMethods password publickey | ||
302 | |||
303 | SFTPOptions IgnoreSFTPSetOwners | ||
304 | AllowChrootSymlinks off | ||
305 | </VirtualHost> | ||
306 | ''; | ||
307 | in lib.mkIf proftpd-enabled { | ||
308 | description = "ProFTPD server"; | ||
309 | wantedBy = [ "multi-user.target" ]; | ||
310 | after = [ "network.target" ]; | ||
311 | |||
312 | serviceConfig.ExecStart = "${pkgs.proftpd}/bin/proftpd -c ${configFile}"; | ||
313 | serviceConfig.Type = "forking"; | ||
314 | serviceConfig.PIDFile = "/run/proftpd/proftpd.pid"; | ||
315 | serviceConfig.RuntimeDirectory = "proftpd"; | ||
316 | }; | ||
317 | |||
318 | services.cron.systemCronJobs = lib.mkIf proftpd-enabled [ | ||
319 | "*/2 * * * * nobody ${./ftp_sync.sh}" | ||
320 | ]; | ||
321 | |||
322 | myServices.monitoring.fromMasterActivatedPlugins = [ "ftp" ]; | ||
323 | myServices.monitoring.fromMasterObjects.service = [ | ||
324 | { | ||
325 | service_description = "ftp has access to database for authentication"; | ||
326 | host_name = config.hostEnv.fqdn; | ||
327 | use = "external-service"; | ||
328 | check_command = "check_ftp_database"; | ||
329 | |||
330 | servicegroups = "webstatus-remote-services"; | ||
331 | _webstatus_name = "FTP"; | ||
332 | _webstatus_url = "ftp.immae.eu"; | ||
333 | } | ||
334 | |||
335 | ]; | ||
336 | |||
337 | }; | ||
338 | |||
339 | } | ||
diff --git a/systems/eldiron/ftp_sync.sh b/systems/eldiron/ftp_sync.sh new file mode 100755 index 0000000..aff7178 --- /dev/null +++ b/systems/eldiron/ftp_sync.sh | |||
@@ -0,0 +1,47 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | LDAPSEARCH=ldapsearch | ||
4 | |||
5 | LDAP_BIND="cn=ssh,ou=services,dc=immae,dc=eu" | ||
6 | LDAP_PASS=$(cat /etc/ssh/ldap_password) | ||
7 | LDAP_HOST="ldap://ldap.immae.eu" | ||
8 | LDAP_BASE="dc=immae,dc=eu" | ||
9 | LDAP_FILTER="(memberOf=cn=users,cn=ftp,ou=services,dc=immae,dc=eu)" | ||
10 | |||
11 | handle_keys() { | ||
12 | uids="$1" | ||
13 | keys="$2" | ||
14 | if [ -n "$uids" ]; then | ||
15 | for uid in $uids; do | ||
16 | echo "$keys" | while read key; do | ||
17 | if [ -n "$key" ]; then | ||
18 | ssh-keygen -e -f <(echo "$key") | ||
19 | fi | ||
20 | done > /var/lib/proftpd/authorized_keys/$uid | ||
21 | done | ||
22 | fi | ||
23 | } | ||
24 | |||
25 | mkdir -p /var/lib/proftpd/authorized_keys | ||
26 | |||
27 | while read i; do | ||
28 | if [[ "$i" =~ ^dn: ]]; then | ||
29 | handle_keys "$uids" "$keys" | ||
30 | uids="" | ||
31 | keys="" | ||
32 | fi; | ||
33 | if [[ "$i" =~ ^uid: ]]; then | ||
34 | uids="$uids ${i#uid: }" | ||
35 | fi | ||
36 | if [[ "$i" =~ ^immaeSshKey: ]]; then | ||
37 | key="${i#immaeSshKey: }" | ||
38 | if [[ "$key" =~ ^ssh- ]]; then | ||
39 | keys="$keys | ||
40 | $key" | ||
41 | elif echo "$key" | cut -d" " -f1 | grep -q "\bftp\b"; then | ||
42 | keys="$keys | ||
43 | $(echo "$key" | cut -d" " -f2-)" | ||
44 | fi | ||
45 | fi | ||
46 | done < <(ldapsearch -H "$LDAP_HOST" -ZZ -LLL -D "$LDAP_BIND" -w "$LDAP_PASS" -b "$LDAP_BASE" -x -o ldif-wrap=no "$LDAP_FILTER" uid immaeSshKey) | ||
47 | handle_keys "$uids" "$keys" | ||
diff --git a/systems/eldiron/gemini/default.nix b/systems/eldiron/gemini/default.nix new file mode 100644 index 0000000..600afbc --- /dev/null +++ b/systems/eldiron/gemini/default.nix | |||
@@ -0,0 +1,50 @@ | |||
1 | { lib, config, pkgs, ... }: | ||
2 | let | ||
3 | configFile = pkgs.writeText "config.yaml" '' | ||
4 | listen: ":1965" | ||
5 | hosts: | ||
6 | immae.eu: | ||
7 | cert: /var/lib/acme/immae/full.pem | ||
8 | key: /var/lib/acme/immae/key.pem | ||
9 | paths: | ||
10 | - path: / | ||
11 | root: ${./public} | ||
12 | ''; | ||
13 | in | ||
14 | { | ||
15 | options.myServices.gemini.enable = lib.mkEnableOption "enable Gemini capsule"; | ||
16 | config = lib.mkIf config.myServices.gemini.enable { | ||
17 | security.acme.certs.immae.postRun = '' | ||
18 | systemctl restart gemini.service | ||
19 | ''; | ||
20 | myServices.chatonsProperties.hostings.gemini = { | ||
21 | file.datetime = "2022-08-27T18:00:00"; | ||
22 | hosting = { | ||
23 | name = "Hébergement Gemini"; | ||
24 | description = "Hébergement de capsules Gemini"; | ||
25 | type = "INSTANCE"; | ||
26 | website = "gemini://immae.eu"; | ||
27 | status.level = "OK"; | ||
28 | status.description = "OK"; | ||
29 | registration.load = "OPEN"; | ||
30 | install.type = "PACKAGE"; | ||
31 | }; | ||
32 | software = { | ||
33 | name = "twins"; | ||
34 | website = "https://code.rocketnine.space/tslocum/twins"; | ||
35 | license.url = "https://code.rocketnine.space/tslocum/twins/src/branch/master/LICENSE"; | ||
36 | license.name = "MIT License"; | ||
37 | version = pkgs.twins.version; | ||
38 | source.url = "https://code.rocketnine.space/tslocum/twins"; | ||
39 | }; | ||
40 | }; | ||
41 | networking.firewall.allowedTCPPorts = [ 1965 ]; | ||
42 | systemd.services.gemini = { | ||
43 | description = "Gemini capsule server"; | ||
44 | wantedBy = [ "multi-user.target" ]; | ||
45 | after = [ "network.target" ]; | ||
46 | serviceConfig.ExecStart = "${pkgs.twins}/bin/twins -config ${configFile}"; | ||
47 | serviceConfig.Type = "simple"; | ||
48 | }; | ||
49 | }; | ||
50 | } | ||
diff --git a/systems/eldiron/gemini/public/index.gmi b/systems/eldiron/gemini/public/index.gmi new file mode 100644 index 0000000..034a0d9 --- /dev/null +++ b/systems/eldiron/gemini/public/index.gmi | |||
@@ -0,0 +1,70 @@ | |||
1 | # Immae | ||
2 | |||
3 | ## Présentation | ||
4 | |||
5 | Dans le but de promouvoir la décentralisation des données personnelles et l’usage de logiciels open source, je propose un hébergement de divers services utiles. Ces services sont basés sur du code libre et déployés sur des systèmes libres également. | ||
6 | |||
7 | Je suis un particulier, et dans la mesure de mes capacités, j’essaye toujours de fournir des services à ma famille et à mes amis proches en remplacement de services non libres fournis par les géants du web. J’ai décidé de faire le nécessaire pour étendre ces services à un public plus large, avec pour but de conserver une qualité suffisante. | ||
8 | |||
9 | Lorsque c’est possible, les programmes que je développe sont également libres de droits (ce n’est pas toujours dépendant de ma volonté ou tributaire de ma disponibilité pour rendre le code accessible) | ||
10 | |||
11 | Depuis juin 2019 je fais partie du collectif CHATONS, dont je respecte en particulier la charte: | ||
12 | => https://chatons.org CHATONS | ||
13 | |||
14 | ## Tarifs | ||
15 | |||
16 | Je ne cherche pas à faire de profits en proposant ces services. Cependant, l’hébergement de ces services n’est pas gratuit, et maintenir ces services à un niveau de qualité suffisant demande de l’investissement en temps. Ainsi, selon l’usage désiré, le niveau de personnalisation et support dont vous avez besoin et les moyens à votre disposition et votre volonté, une participation pourra être demandée afin d’y accéder. | ||
17 | => https://www.immae.eu/licences_et_tip.html Tips | ||
18 | |||
19 | ## Services proposés | ||
20 | |||
21 | Voici une liste non exhaustive de services que je propose : | ||
22 | |||
23 | * Mastodon | ||
24 | * Nextcloud | ||
25 | * Calendrier/Contacts et synchronisation | ||
26 | * Hébergement de vidéos (Mediagoblin) | ||
27 | * Hébergement de vidéos (Peertube) | ||
28 | * Kanboard | ||
29 | * Flux RSS | ||
30 | * "Lire plus tard" (wallabag) | ||
31 | * Partage de liens (Shaarli) | ||
32 | * Raccourcisseur d’URLs | ||
33 | * Édition de texte collaborative | ||
34 | * Réseau social | ||
35 | * Hébergement de dépôts git privés et publics, gestion d’issues | ||
36 | * Messagerie instantanée (XMPP/Jabber) | ||
37 | * Comptes e-mails avec domaines personnalisés, IMAP/SMTP, MX backup | ||
38 | * Hébergement et administration de sites web privés | ||
39 | * Comptes shell protégés | ||
40 | |||
41 | Un tableau de bord des services est disponible : | ||
42 | => https://tools.immae.eu Tableau de bord des services | ||
43 | |||
44 | Je propose également de l’aide à distance (ou de visu si la distance est faible), pour l’usage de ces outils ou d’autres problèmes liés à l’informatique. | ||
45 | |||
46 | Si vous ne voyez pas ce que vous voulez dans la liste, nous pourrons essayer de trouver une solution ensemble. Je suis ouvert aussi bien sûr à la création de nouveaux services (la liste est encore incomplète et d’autres services sont déjà prévus), dans le cadre défini en haut : basé sur des applications libres. | ||
47 | |||
48 | => https://status.immae.eu État des services | ||
49 | |||
50 | ## Comment faire ? | ||
51 | |||
52 | Vous devez commencer par accepter les conditions générales dgutilisation : | ||
53 | => https://www.immae.eu/CGU Conditions générales d’utilisation | ||
54 | Elles ne contiennent rien d’inhabituel mais elles ont été écrites par moi-même, donc sans jargon juridique. Elles vous permettront de décider si les garanties proposées sont en accord avec ce que vous pouvez vous permettre. | ||
55 | |||
56 | Ensuite, contactez-moi avec vos vœux : | ||
57 | => https://www.immae.eu/contacts_fr.html Page de contact | ||
58 | |||
59 | ## Infrastructure et open source | ||
60 | |||
61 | Dans le but de pouvoir décemment offrir une qualité de service suffisante sans pour autant y passer mes journées, l’installation des services est gérée via NixOS, permettant d’assurer la reproductibilité et l’automatisation des installations. | ||
62 | |||
63 | Cette configuration est stockée publiquement dans un dépôt git, réutilisable et améliorable librement (avec probablement quelques ajustements). | ||
64 | => https://git.immae.eu/cgit/perso/Immae/Config/Nix.git/ Dépôt git de la configuration | ||
65 | |||
66 | |||
67 | => https://www.immae.eu/contacts_fr.html Page de contact | ||
68 | => https://www.immae.eu/CGU Conditions générales d’utilisation | ||
69 | => https://www.immae.eu/mentions.html Mentions légales | ||
70 | => https://www.immae.eu/licences_et_tip.html Quelques informations sur les licences utilisées et tips | ||
diff --git a/systems/eldiron/gitolite/default.nix b/systems/eldiron/gitolite/default.nix new file mode 100644 index 0000000..1885234 --- /dev/null +++ b/systems/eldiron/gitolite/default.nix | |||
@@ -0,0 +1,127 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.gitolite; | ||
4 | in { | ||
5 | options.myServices.gitolite = { | ||
6 | enable = lib.mkEnableOption "my gitolite service"; | ||
7 | gitoliteDir = lib.mkOption { | ||
8 | type = lib.types.str; | ||
9 | default = "/var/lib/gitolite"; | ||
10 | }; | ||
11 | }; | ||
12 | |||
13 | config = lib.mkIf cfg.enable { | ||
14 | myServices.dns.zones."immae.eu".subdomains.git = | ||
15 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
16 | |||
17 | myServices.chatonsProperties.services.gitolite = { | ||
18 | file.datetime = "2022-08-21T10:01:00"; | ||
19 | service = { | ||
20 | name = "Gitolite"; | ||
21 | description = "Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features."; | ||
22 | website = "https://git.immae.eu"; | ||
23 | logo = "https://git.immae.eu/cgit-css/favicon.ico"; | ||
24 | status.level = "OK"; | ||
25 | status.description = "OK"; | ||
26 | registration."" = ["MEMBER" "CLIENT"]; | ||
27 | registration.load = "OPEN"; | ||
28 | install.type = "PACKAGE"; | ||
29 | guide.user = "https://www.immae.eu/docs/forge-logicielle.html"; | ||
30 | }; | ||
31 | software = { | ||
32 | name = "Gitolite"; | ||
33 | website = "https://gitolite.com/gitolite/"; | ||
34 | license.url = "https://github.com/sitaramc/gitolite/blob/master/COPYING"; | ||
35 | license.name = "GNU General Public License v2.0"; | ||
36 | version = pkgs.gitolite.version; | ||
37 | source.url = "https://github.com/sitaramc/gitolite"; | ||
38 | }; | ||
39 | }; | ||
40 | myServices.ssh.modules.gitolite = { | ||
41 | snippet = builtins.readFile ./ldap_gitolite.sh; | ||
42 | dependencies = [ pkgs.gitolite ]; | ||
43 | vars.ldap_group = "cn=users,cn=gitolite,ou=services,dc=immae,dc=eu"; | ||
44 | vars.shell_path = "${pkgs.gitolite}/bin/gitolite-shell"; | ||
45 | vars.services = let | ||
46 | toLine = login: key: ''command="${pkgs.gitolite}/bin/gitolite-shell ${login}",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ${key}''; | ||
47 | in builtins.concatStringsSep "\n" [ | ||
48 | (toLine "naemon" config.myEnv.monitoring.ssh_public_key) | ||
49 | (toLine "buildbot" config.myEnv.buildbot.ssh_key.public) | ||
50 | ]; | ||
51 | }; | ||
52 | networking.firewall.allowedTCPPorts = [ 9418 ]; | ||
53 | |||
54 | secrets.keys."gitolite/ldap_password" = { | ||
55 | user = "gitolite"; | ||
56 | group = "gitolite"; | ||
57 | permissions = "0400"; | ||
58 | text = config.myEnv.tools.gitolite.ldap.password; | ||
59 | }; | ||
60 | |||
61 | services.gitDaemon = { | ||
62 | enable = true; | ||
63 | user = "gitolite"; | ||
64 | group = "gitolite"; | ||
65 | basePath = "${cfg.gitoliteDir}/repositories"; | ||
66 | }; | ||
67 | |||
68 | system.activationScripts.gitolite = let | ||
69 | deps = [ pkgs.openldap pkgs.stdenv.shellPackage pkgs.gnugrep pkgs.coreutils ]; | ||
70 | gitolite_ldap_groups = pkgs.runCommand "gitolite_ldap_groups.sh" { | ||
71 | buildInputs = [ pkgs.makeWrapper ]; | ||
72 | } '' | ||
73 | makeWrapper "${./gitolite_ldap_groups.sh}" "$out" \ | ||
74 | --prefix PATH : ${lib.makeBinPath deps} \ | ||
75 | --set LDAP_PASS_PATH ${config.secrets.fullPaths."gitolite/ldap_password"} | ||
76 | ''; | ||
77 | in { | ||
78 | deps = [ "users" ]; | ||
79 | text = '' | ||
80 | if [ -d ${cfg.gitoliteDir} ]; then | ||
81 | ln -sf ${gitolite_ldap_groups} ${cfg.gitoliteDir}/gitolite_ldap_groups.sh | ||
82 | chmod g+rx ${cfg.gitoliteDir} | ||
83 | fi | ||
84 | if [ -f ${cfg.gitoliteDir}/projects.list ]; then | ||
85 | chmod g+r ${cfg.gitoliteDir}/projects.list | ||
86 | fi | ||
87 | ''; | ||
88 | }; | ||
89 | |||
90 | users.users.wwwrun.extraGroups = [ "gitolite" ]; | ||
91 | users.users.gitolite.extraGroups = [ "keys" ]; | ||
92 | |||
93 | users.users.gitolite.packages = let | ||
94 | python-packages = python-packages: with python-packages; [ | ||
95 | simplejson | ||
96 | apprise | ||
97 | sleekxmpp | ||
98 | urllib3 | ||
99 | pyyaml | ||
100 | ]; | ||
101 | in | ||
102 | [ | ||
103 | # For some reason it absolutely wants to include "doc" output | ||
104 | ((pkgs.python39.withPackages python-packages) // { doc = ""; }) | ||
105 | pkgs.nettools | ||
106 | pkgs.findutils | ||
107 | ]; | ||
108 | # Installation: https://git.immae.eu/mantisbt/view.php?id=93 | ||
109 | services.gitolite = { | ||
110 | enable = true; | ||
111 | adminPubkey = config.myEnv.sshd.rootKeys.immae_dilion; | ||
112 | }; | ||
113 | myServices.monitoring.fromMasterActivatedPlugins = [ "git" ]; | ||
114 | myServices.monitoring.fromMasterObjects.service = [ | ||
115 | { | ||
116 | service_description = "gitolite is working"; | ||
117 | host_name = config.hostEnv.fqdn; | ||
118 | use = "external-web-service"; | ||
119 | check_command = "check_git"; | ||
120 | |||
121 | servicegroups = "webstatus-remote-services"; | ||
122 | _webstatus_name = "Git"; | ||
123 | _webstatus_url = "git.immae.eu"; | ||
124 | } | ||
125 | ]; | ||
126 | }; | ||
127 | } | ||
diff --git a/systems/eldiron/gitolite/gitolite_ldap_groups.sh b/systems/eldiron/gitolite/gitolite_ldap_groups.sh new file mode 100755 index 0000000..ffa2dab --- /dev/null +++ b/systems/eldiron/gitolite/gitolite_ldap_groups.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | uid_param="$1" | ||
4 | ldap_host="ldap://ldap.immae.eu" | ||
5 | ldap_binddn="cn=gitolite,ou=services,dc=immae,dc=eu" | ||
6 | ldap_bindpw="$(cat $LDAP_PASS_PATH)" | ||
7 | ldap_searchbase="dc=immae,dc=eu" | ||
8 | ldap_scope="subtree" | ||
9 | |||
10 | ldap_options="-H ${ldap_host} -ZZ -x -D ${ldap_binddn} -w ${ldap_bindpw} -b ${ldap_searchbase} -s ${ldap_scope}" | ||
11 | |||
12 | ldap_filter="(&(memberOf=cn=groups,cn=gitolite,ou=services,dc=immae,dc=eu)(|(member=uid=${uid_param},ou=users,dc=immae,dc=eu)(member=uid=${uid_param},ou=group_users,dc=immae,dc=eu)))" | ||
13 | ldap_result=$(ldapsearch ${ldap_options} -LLL "${ldap_filter}" cn | grep 'cn:' | cut -d' ' -f2) | ||
14 | |||
15 | echo "$ldap_result" | ||
diff --git a/systems/eldiron/gitolite/ldap_gitolite.sh b/systems/eldiron/gitolite/ldap_gitolite.sh new file mode 100644 index 0000000..75a39bf --- /dev/null +++ b/systems/eldiron/gitolite/ldap_gitolite.sh | |||
@@ -0,0 +1,28 @@ | |||
1 | ### This snippet is not standalone and must be integrated in the global ldap_authorized_keys.sh | ||
2 | LDAP_GITOLITE_MEMBER="@gitolite_ldap_group@" | ||
3 | GITOLITE_SHELL="@gitolite_shell_path@" | ||
4 | |||
5 | if [[ $user == gitolite ]]; then | ||
6 | allowed_logins=$(LDAP_BASE=$USER_LDAP_BASE \ | ||
7 | ldap_search '(memberOf='$LDAP_GITOLITE_MEMBER')' '' \ | ||
8 | | grep ^dn \ | ||
9 | | sed -e "s/^dn: uid=\([^,]*\),.*$USER_LDAP_BASE$/'\1'/" \ | ||
10 | | paste -sd,) | ||
11 | |||
12 | psql_search "SELECT login, key FROM ldap_users_ssh_keys WHERE realm = 'immae' AND 'git' = ANY(usage) AND login IN ($allowed_logins);" | while IFS='|' read user key; do | ||
13 | if [[ $user == "immae" ]] || [[ $user == "denise" ]]; then | ||
14 | # Capitalize first letter (backward compatibility) | ||
15 | user=$(sed -r 's/^([a-z])/\U\1/' <<< "$user") | ||
16 | fi | ||
17 | if [ ! -z "$key" ]; then | ||
18 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
19 | echo -n 'command="'$GITOLITE_SHELL' '$user'",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ' | ||
20 | echo $key | ||
21 | fi | ||
22 | fi | ||
23 | done | ||
24 | cat <<EOF | ||
25 | @gitolite_services@ | ||
26 | EOF | ||
27 | exit 0 | ||
28 | fi | ||
diff --git a/systems/eldiron/irc.nix b/systems/eldiron/irc.nix new file mode 100644 index 0000000..c48a4b3 --- /dev/null +++ b/systems/eldiron/irc.nix | |||
@@ -0,0 +1,80 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.irc; | ||
4 | in | ||
5 | { | ||
6 | options.myServices = { | ||
7 | irc.enable = lib.mkOption { | ||
8 | type = lib.types.bool; | ||
9 | default = false; | ||
10 | description = '' | ||
11 | Whether to enable irc stuff. | ||
12 | ''; | ||
13 | }; | ||
14 | }; | ||
15 | |||
16 | config = lib.mkIf cfg.enable { | ||
17 | myServices.dns.zones."immae.eu".subdomains.irc = | ||
18 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
19 | |||
20 | myServices.chatonsProperties.services.bitlbee = { | ||
21 | file.datetime = "2022-08-27T19:00:00"; | ||
22 | service = { | ||
23 | name = "Bitlbee"; | ||
24 | description = "An IRC to other chat networks gateway"; | ||
25 | logo = "https://www.bitlbee.org/style/logo.png"; | ||
26 | website = "irc.immae.eu"; | ||
27 | status.level = "OK"; | ||
28 | status.description = "OK"; | ||
29 | registration."" = ["MEMBER" "CLIENT"]; | ||
30 | registration.load = "FULL"; | ||
31 | install.type = "PACKAGE"; | ||
32 | }; | ||
33 | software = { | ||
34 | name = "BitlBee"; | ||
35 | website = "https://www.bitlbee.org/"; | ||
36 | license.url = "https://github.com/bitlbee/bitlbee/blob/master/COPYING"; | ||
37 | license.name = "GNU General Public License v2.0"; | ||
38 | version = pkgs.bitlbee.version; | ||
39 | source.url = "https://github.com/bitlbee/bitlbee"; | ||
40 | modules = map (a: a.pname) config.services.bitlbee.plugins | ||
41 | ++ map (a: a.pname) config.services.bitlbee.libpurple_plugins; | ||
42 | }; | ||
43 | }; | ||
44 | security.acme.certs."irc" = { | ||
45 | domain = "irc.immae.eu"; | ||
46 | postRun = '' | ||
47 | systemctl restart stunnel.service | ||
48 | ''; | ||
49 | }; | ||
50 | |||
51 | networking.firewall.allowedTCPPorts = [ 6697 ]; | ||
52 | services.bitlbee = with pkgs; { | ||
53 | enable = true; | ||
54 | authMode = "Registered"; | ||
55 | libpurple_plugins = [ | ||
56 | purple-hangouts | ||
57 | purple-matrix | ||
58 | purple-facebook | ||
59 | purple-googlechat | ||
60 | ]; | ||
61 | plugins = [ | ||
62 | bitlbee-mastodon | ||
63 | bitlbee-facebook | ||
64 | bitlbee-discord | ||
65 | bitlbee-steam | ||
66 | ]; | ||
67 | }; | ||
68 | |||
69 | services.stunnel = { | ||
70 | enable = true; | ||
71 | servers = { | ||
72 | bitlbee = { | ||
73 | accept = 6697; | ||
74 | connect = 6667; | ||
75 | cert = "${config.security.acme.certs.irc.directory}/full.pem"; | ||
76 | }; | ||
77 | }; | ||
78 | }; | ||
79 | }; | ||
80 | } | ||
diff --git a/systems/eldiron/mail/default.nix b/systems/eldiron/mail/default.nix new file mode 100644 index 0000000..4e13f6a --- /dev/null +++ b/systems/eldiron/mail/default.nix | |||
@@ -0,0 +1,44 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | { | ||
3 | imports = [ | ||
4 | ./postfix.nix | ||
5 | ./dovecot.nix | ||
6 | ./rspamd.nix | ||
7 | ./sympa.nix | ||
8 | ]; | ||
9 | |||
10 | options.myServices.mail.enable = lib.mkEnableOption "enable Mail services"; | ||
11 | config = lib.mkIf config.myServices.mail.enable { | ||
12 | myServices.mail.milters.enable = true; | ||
13 | security.acme.certs."mail" = { | ||
14 | postRun = lib.mkBefore '' | ||
15 | cp -f fullchain.pem /etc/dovecot/fullchain.pem | ||
16 | chown :dovecot2 /etc/dovecot/fullchain.pem | ||
17 | chmod a+r /etc/dovecot/fullchain.pem | ||
18 | ''; | ||
19 | domain = config.hostEnv.fqdn; | ||
20 | extraDomainNames = let | ||
21 | zonesWithMx = builtins.attrNames (lib.filterAttrs (n: v: v.hasEmail) config.myServices.dns.zones); | ||
22 | mxs = map (n: "${config.hostEnv.mx.subdomain}.${n}") zonesWithMx; | ||
23 | in mxs; | ||
24 | }; | ||
25 | # This is for clients that don’t support elliptic curves (e.g. | ||
26 | # printer) | ||
27 | security.acme.certs."mail-rsa" = { | ||
28 | postRun = lib.mkBefore '' | ||
29 | cp -f fullchain.pem /etc/dovecot/fullchain-rsa.pem | ||
30 | chown :dovecot2 /etc/dovecot/fullchain-rsa.pem | ||
31 | chmod a+r /etc/dovecot/fullchain-rsa.pem | ||
32 | ''; | ||
33 | domain = config.hostEnv.fqdn; | ||
34 | keyType = "rsa4096"; | ||
35 | extraDomainNames = let | ||
36 | zonesWithMx = builtins.attrNames (lib.filterAttrs (n: v: v.hasEmail) config.myServices.dns.zones); | ||
37 | mxs = map (n: "${config.hostEnv.mx.subdomain}.${n}") zonesWithMx; | ||
38 | in mxs; | ||
39 | }; | ||
40 | systemd.slices.mail = { | ||
41 | description = "Mail slice"; | ||
42 | }; | ||
43 | }; | ||
44 | } | ||
diff --git a/systems/eldiron/mail/dovecot.nix b/systems/eldiron/mail/dovecot.nix new file mode 100644 index 0000000..a1282e3 --- /dev/null +++ b/systems/eldiron/mail/dovecot.nix | |||
@@ -0,0 +1,348 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | sieve_bin = pkgs.runCommand "sieve_bin" { | ||
4 | buildInputs = [ pkgs.makeWrapper ]; | ||
5 | } '' | ||
6 | cp -a ${./sieve_bin} $out | ||
7 | chmod -R u+w $out | ||
8 | patchShebangs $out | ||
9 | for i in $out/*; do | ||
10 | wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils ]} | ||
11 | done | ||
12 | ''; | ||
13 | in | ||
14 | { | ||
15 | config = lib.mkIf config.myServices.mail.enable { | ||
16 | myServices.dns.zones."immae.eu".subdomains = | ||
17 | with config.myServices.dns.helpers; | ||
18 | { | ||
19 | imap = ips servers.eldiron.ips.main; | ||
20 | pop3 = ips servers.eldiron.ips.main; | ||
21 | }; | ||
22 | |||
23 | myServices.chatonsProperties.services.email = { | ||
24 | file.datetime = "2022-08-22T01:00:00"; | ||
25 | service = { | ||
26 | name = "E-mail account"; | ||
27 | description = "Compte e-mail avec configuration imap et smtp/pop3"; | ||
28 | logo = "https://www.dovecot.org/wp-content/uploads/2021/09/favicon.ico"; | ||
29 | website = "https://mail.immae.eu/"; | ||
30 | status.level = "OK"; | ||
31 | status.description = "OK"; | ||
32 | registration."" = ["MEMBER" "CLIENT"]; | ||
33 | registration.load = "OPEN"; | ||
34 | install.type = "PACKAGE"; | ||
35 | }; | ||
36 | software = { | ||
37 | name = "Dovecot"; | ||
38 | website = "https://www.dovecot.org/"; | ||
39 | license.url = "https://github.com/dovecot/core/blob/main/COPYING"; | ||
40 | license.name = "MIT and LGPLv2.1 Licenses"; | ||
41 | version = pkgs.dovecot.version; | ||
42 | source.url = "https://github.com/dovecot/core"; | ||
43 | modules = ["roundcube" "rainloop"] ++ map (a: a.pname) config.services.dovecot2.modules; | ||
44 | }; | ||
45 | }; | ||
46 | systemd.services.dovecot2.serviceConfig.Slice = "mail.slice"; | ||
47 | secrets.keys."dovecot/ldap" = { | ||
48 | user = config.services.dovecot2.user; | ||
49 | group = config.services.dovecot2.group; | ||
50 | permissions = "0400"; | ||
51 | text = '' | ||
52 | hosts = ${config.myEnv.mail.dovecot.ldap.host} | ||
53 | tls = yes | ||
54 | |||
55 | dn = ${config.myEnv.mail.dovecot.ldap.dn} | ||
56 | dnpass = ${config.myEnv.mail.dovecot.ldap.password} | ||
57 | |||
58 | auth_bind = yes | ||
59 | |||
60 | ldap_version = 3 | ||
61 | |||
62 | base = ${config.myEnv.mail.dovecot.ldap.base} | ||
63 | scope = subtree | ||
64 | |||
65 | pass_filter = ${config.myEnv.mail.dovecot.ldap.filter} | ||
66 | pass_attrs = ${config.myEnv.mail.dovecot.ldap.pass_attrs} | ||
67 | |||
68 | user_attrs = ${config.myEnv.mail.dovecot.ldap.user_attrs} | ||
69 | user_filter = ${config.myEnv.mail.dovecot.ldap.filter} | ||
70 | iterate_attrs = ${config.myEnv.mail.dovecot.ldap.iterate_attrs} | ||
71 | iterate_filter = ${config.myEnv.mail.dovecot.ldap.iterate_filter} | ||
72 | ''; | ||
73 | }; | ||
74 | |||
75 | users.users.vhost = { | ||
76 | group = "vhost"; | ||
77 | uid = config.ids.uids.vhost; | ||
78 | }; | ||
79 | users.groups.vhost.gid = config.ids.gids.vhost; | ||
80 | users.users."${config.services.dovecot2.user}".extraGroups = [ "acme" ]; | ||
81 | |||
82 | nixpkgs.overlays = [ | ||
83 | (self: super: { | ||
84 | dovecot = super.dovecot.override { openldap = self.openldap_libressl_cyrus; }; | ||
85 | }) | ||
86 | ]; | ||
87 | |||
88 | # https://blog.zeninc.net/index.php?post/2018/04/01/Un-annuaire-pour-les-gouverner-tous....... | ||
89 | services.dovecot2 = { | ||
90 | enable = true; | ||
91 | enablePAM = false; | ||
92 | enablePop3 = true; | ||
93 | enableImap = true; | ||
94 | enableLmtp = true; | ||
95 | protocols = [ "sieve" ]; | ||
96 | modules = [ | ||
97 | pkgs.dovecot_pigeonhole | ||
98 | pkgs.dovecot_fts_xapian | ||
99 | ]; | ||
100 | mailUser = "vhost"; | ||
101 | mailGroup = "vhost"; | ||
102 | createMailUser = false; | ||
103 | mailboxes = { | ||
104 | Trash = { auto = "subscribe"; specialUse = "Trash"; }; | ||
105 | Junk = { auto = "subscribe"; specialUse = "Junk"; }; | ||
106 | Sent = { auto = "subscribe"; specialUse = "Sent"; }; | ||
107 | Drafts = { auto = "subscribe"; specialUse = "Drafts"; }; | ||
108 | }; | ||
109 | mailLocation = "mbox:~/Mail:INBOX=~/Mail/Inbox:INDEX=~/.imap"; | ||
110 | sslServerCert = "/etc/dovecot/fullchain.pem"; | ||
111 | sslServerKey = "/var/lib/acme/mail/key.pem"; | ||
112 | sslCACert = "/etc/dovecot/fullchain.pem"; | ||
113 | extraConfig = builtins.concatStringsSep "\n" [ | ||
114 | # For printer which doesn’t support elliptic curve | ||
115 | '' | ||
116 | ssl_alt_cert = </etc/dovecot/fullchain-rsa.pem | ||
117 | ssl_alt_key = </var/lib/acme/mail-rsa/key.pem | ||
118 | '' | ||
119 | |||
120 | '' | ||
121 | postmaster_address = postmaster@immae.eu | ||
122 | mail_attribute_dict = file:%h/dovecot-attributes | ||
123 | imap_idle_notify_interval = 20 mins | ||
124 | namespace inbox { | ||
125 | type = private | ||
126 | separator = / | ||
127 | inbox = yes | ||
128 | list = yes | ||
129 | } | ||
130 | '' | ||
131 | |||
132 | # ACL | ||
133 | '' | ||
134 | mail_plugins = $mail_plugins acl | ||
135 | plugin { | ||
136 | acl = vfile:${pkgs.writeText "dovecot-acl" '' | ||
137 | Backup/* owner lrp | ||
138 | ''} | ||
139 | acl_globals_only = yes | ||
140 | } | ||
141 | '' | ||
142 | |||
143 | # Full text search | ||
144 | '' | ||
145 | # needs to be bigger than any mailbox size | ||
146 | default_vsz_limit = 2GB | ||
147 | mail_plugins = $mail_plugins fts fts_xapian | ||
148 | plugin { | ||
149 | plugin = fts fts_xapian | ||
150 | fts = xapian | ||
151 | fts_xapian = partial=2 full=20 | ||
152 | fts_autoindex = yes | ||
153 | fts_autoindex_exclude = \Junk | ||
154 | fts_autoindex_exclude2 = \Trash | ||
155 | fts_autoindex_exclude3 = Virtual/* | ||
156 | } | ||
157 | '' | ||
158 | |||
159 | # Antispam | ||
160 | # https://docs.iredmail.org/dovecot.imapsieve.html | ||
161 | '' | ||
162 | # imap_sieve plugin added below | ||
163 | |||
164 | plugin { | ||
165 | sieve_plugins = sieve_imapsieve sieve_extprograms | ||
166 | imapsieve_url = sieve://127.0.0.1:4190 | ||
167 | |||
168 | sieve_before = file:${./sieve_scripts}/backup.sieve;bindir=/var/lib/vhost/.sieve_bin | ||
169 | |||
170 | # From elsewhere to Junk folder | ||
171 | imapsieve_mailbox1_name = Junk | ||
172 | imapsieve_mailbox1_causes = COPY APPEND | ||
173 | imapsieve_mailbox1_before = file:${./sieve_scripts}/report_spam.sieve;bindir=/var/lib/vhost/.imapsieve_bin | ||
174 | |||
175 | # From Junk folder to elsewhere | ||
176 | imapsieve_mailbox2_name = * | ||
177 | imapsieve_mailbox2_from = Junk | ||
178 | imapsieve_mailbox2_causes = COPY | ||
179 | imapsieve_mailbox2_before = file:${./sieve_scripts}/report_ham.sieve;bindir=/var/lib/vhost/.imapsieve_bin | ||
180 | |||
181 | # From anywhere to NoJunk folder | ||
182 | imapsieve_mailbox3_name = NoJunk | ||
183 | imapsieve_mailbox3_causes = COPY APPEND | ||
184 | imapsieve_mailbox3_before = file:${./sieve_scripts}/report_ham.sieve;bindir=/var/lib/vhost/.imapsieve_bin | ||
185 | |||
186 | sieve_pipe_bin_dir = ${sieve_bin} | ||
187 | |||
188 | sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment | ||
189 | } | ||
190 | '' | ||
191 | # Services to listen | ||
192 | '' | ||
193 | service imap-login { | ||
194 | inet_listener imap { | ||
195 | } | ||
196 | inet_listener imaps { | ||
197 | } | ||
198 | } | ||
199 | service pop3-login { | ||
200 | inet_listener pop3 { | ||
201 | } | ||
202 | inet_listener pop3s { | ||
203 | } | ||
204 | } | ||
205 | service imap { | ||
206 | } | ||
207 | service pop3 { | ||
208 | } | ||
209 | service auth { | ||
210 | unix_listener auth-userdb { | ||
211 | } | ||
212 | unix_listener ${config.services.postfix.config.queue_directory}/private/auth { | ||
213 | mode = 0666 | ||
214 | } | ||
215 | } | ||
216 | service auth-worker { | ||
217 | } | ||
218 | service dict { | ||
219 | unix_listener dict { | ||
220 | } | ||
221 | } | ||
222 | service stats { | ||
223 | unix_listener stats-reader { | ||
224 | user = vhost | ||
225 | group = vhost | ||
226 | mode = 0660 | ||
227 | } | ||
228 | unix_listener stats-writer { | ||
229 | user = vhost | ||
230 | group = vhost | ||
231 | mode = 0660 | ||
232 | } | ||
233 | } | ||
234 | '' | ||
235 | |||
236 | # Authentification | ||
237 | '' | ||
238 | first_valid_uid = ${toString config.ids.uids.vhost} | ||
239 | disable_plaintext_auth = yes | ||
240 | passdb { | ||
241 | driver = ldap | ||
242 | args = ${config.secrets.fullPaths."dovecot/ldap"} | ||
243 | } | ||
244 | userdb { | ||
245 | driver = ldap | ||
246 | args = ${config.secrets.fullPaths."dovecot/ldap"} | ||
247 | } | ||
248 | '' | ||
249 | |||
250 | # Zlib | ||
251 | '' | ||
252 | mail_plugins = $mail_plugins zlib | ||
253 | plugin { | ||
254 | zlib_save_level = 6 | ||
255 | zlib_save = gz | ||
256 | } | ||
257 | '' | ||
258 | |||
259 | # Sieve | ||
260 | '' | ||
261 | plugin { | ||
262 | sieve = file:~/sieve;bindir=~/.sieve-bin;active=~/.dovecot.sieve | ||
263 | } | ||
264 | service managesieve-login { | ||
265 | } | ||
266 | service managesieve { | ||
267 | } | ||
268 | '' | ||
269 | |||
270 | # Virtual mailboxes | ||
271 | '' | ||
272 | mail_plugins = $mail_plugins virtual | ||
273 | namespace Virtual { | ||
274 | prefix = Virtual/ | ||
275 | location = virtual:~/Virtual | ||
276 | } | ||
277 | '' | ||
278 | |||
279 | # Protocol specific configuration | ||
280 | # Needs to come last if there are mail_plugins entries | ||
281 | '' | ||
282 | protocol imap { | ||
283 | mail_plugins = $mail_plugins imap_sieve imap_acl | ||
284 | } | ||
285 | protocol lda { | ||
286 | mail_plugins = $mail_plugins sieve | ||
287 | } | ||
288 | '' | ||
289 | ]; | ||
290 | }; | ||
291 | networking.firewall.allowedTCPPorts = [ 110 143 993 995 4190 ]; | ||
292 | system.activationScripts.dovecot = { | ||
293 | deps = [ "users" ]; | ||
294 | text ='' | ||
295 | install -m 0755 -o vhost -g vhost -d /var/lib/vhost | ||
296 | ''; | ||
297 | }; | ||
298 | |||
299 | services.cron.systemCronJobs = let | ||
300 | cron_script = pkgs.writeScriptBin "cleanup-imap-folders" '' | ||
301 | ${pkgs.dovecot}/bin/doveadm expunge -A MAILBOX "Backup/*" NOT FLAGGED BEFORE 8w 2>&1 > /dev/null | grep -v "Mailbox doesn't exist:" | grep -v "Info: Opening DB" | ||
302 | ${pkgs.dovecot}/bin/doveadm expunge -A MAILBOX Junk SEEN NOT FLAGGED BEFORE 4w 2>&1 > /dev/null | grep -v "Mailbox doesn't exist:" | grep -v "Info: Opening DB" | ||
303 | ${pkgs.dovecot}/bin/doveadm expunge -A MAILBOX Trash NOT FLAGGED BEFORE 4w 2>&1 > /dev/null | grep -v "Mailbox doesn't exist:" | grep -v "Info: Opening DB" | ||
304 | ''; | ||
305 | in | ||
306 | [ | ||
307 | "0 2 * * * root ${cron_script}/bin/cleanup-imap-folders" | ||
308 | ]; | ||
309 | security.acme.certs."mail-rsa" = { | ||
310 | postRun = '' | ||
311 | systemctl restart dovecot2.service | ||
312 | ''; | ||
313 | extraDomainNames = [ "imap.immae.eu" "pop3.immae.eu" ]; | ||
314 | }; | ||
315 | security.acme.certs."mail" = { | ||
316 | postRun = '' | ||
317 | systemctl restart dovecot2.service | ||
318 | ''; | ||
319 | extraDomainNames = [ "imap.immae.eu" "pop3.immae.eu" ]; | ||
320 | }; | ||
321 | myServices.monitoring.fromMasterActivatedPlugins = [ "imap" "tcp" ]; | ||
322 | myServices.monitoring.fromMasterObjects.service = [ | ||
323 | { | ||
324 | service_description = "imap connection works"; | ||
325 | host_name = config.hostEnv.fqdn; | ||
326 | use = "external-service"; | ||
327 | check_command = "check_imap_connection"; | ||
328 | |||
329 | servicegroups = "webstatus-remote-services,webstatus-email"; | ||
330 | _webstatus_name = "IMAP"; | ||
331 | _webstatus_url = "imap.immae.eu"; | ||
332 | } | ||
333 | |||
334 | { | ||
335 | service_description = "imap SSL is up to date"; | ||
336 | host_name = config.hostEnv.fqdn; | ||
337 | use = "external-service"; | ||
338 | check_command = ["check_tcp_ssl" "993"]; | ||
339 | |||
340 | servicegroups = "webstatus-ssl"; | ||
341 | _webstatus_name = "IMAP"; | ||
342 | _webstatus_url = "imap.immae.eu"; | ||
343 | } | ||
344 | |||
345 | ]; | ||
346 | }; | ||
347 | } | ||
348 | |||
diff --git a/systems/eldiron/mail/postfix.nix b/systems/eldiron/mail/postfix.nix new file mode 100644 index 0000000..f95ee1b --- /dev/null +++ b/systems/eldiron/mail/postfix.nix | |||
@@ -0,0 +1,497 @@ | |||
1 | { lib, pkgs, config, options, ... }: | ||
2 | let | ||
3 | getDomains = p: lib.mapAttrsToList (n: v: v.fqdn) (lib.filterAttrs (n: v: v.receive) p.emailPolicies); | ||
4 | bydomain = builtins.mapAttrs (n: getDomains) config.myServices.dns.zones; | ||
5 | receiving_domains = lib.flatten (builtins.attrValues bydomain); | ||
6 | in | ||
7 | { | ||
8 | options.services.postfix.submissionOptions' = options.services.postfix.submissionOptions // { | ||
9 | type = with lib.types; attrsOf (either str (listOf str)); | ||
10 | apply = builtins.mapAttrs (n: v: if builtins.isList v then builtins.concatStringsSep "," v else v); | ||
11 | }; | ||
12 | config = lib.mkIf config.myServices.mail.enable { | ||
13 | myServices.dns.zones."immae.eu" = with config.myServices.dns.helpers; lib.mkMerge [ | ||
14 | mailMX | ||
15 | (mailCommon "immae.eu") | ||
16 | mailSend | ||
17 | { | ||
18 | # Virtual forwards and mailboxes for real users | ||
19 | emailPolicies."mail".receive = true; | ||
20 | # multi-domain generic mails: | ||
21 | # hostmaster, cron, httpd, naemon, postmaster | ||
22 | # system virtual mailboxes: | ||
23 | # devnull, printer, testconnect | ||
24 | emailPolicies."".receive = true; | ||
25 | subdomains.mail = lib.mkMerge [ (mailCommon "immae.eu") mailSend ]; | ||
26 | subdomains.smtp = ips servers.eldiron.ips.main; | ||
27 | |||
28 | # DMARC reports | ||
29 | subdomains._dmarc.subdomains._report.subdomains = let | ||
30 | getDomains = p: lib.mapAttrsToList (n: v: v.fqdn) p.emailPolicies; | ||
31 | bydomain = builtins.mapAttrs (n: getDomains) config.myServices.dns.zones; | ||
32 | hostsWithMail = lib.flatten (builtins.attrValues bydomain); | ||
33 | nvpairs = builtins.map (e: { name = e; value = { TXT = [ "v=DMARC1;" ]; }; }) hostsWithMail; | ||
34 | in | ||
35 | builtins.listToAttrs nvpairs; | ||
36 | } | ||
37 | ]; | ||
38 | |||
39 | myServices.chatonsProperties.hostings.mx-backup = { | ||
40 | file.datetime = "2022-08-22T01:00:00"; | ||
41 | hosting = { | ||
42 | name = "MX Backup"; | ||
43 | description = "Serveur e-mail secondaire"; | ||
44 | logo = "https://www.postfix.org/favicon.ico"; | ||
45 | website = "https://mail.immae.eu/"; | ||
46 | status.level = "OK"; | ||
47 | status.description = "OK"; | ||
48 | registration.load = "OPEN"; | ||
49 | install.type = "PACKAGE"; | ||
50 | }; | ||
51 | software = { | ||
52 | name = "Postfix"; | ||
53 | website = "http://www.postfix.org/"; | ||
54 | license.url = "http://postfix.mirrors.ovh.net/postfix-release/LICENSE"; | ||
55 | license.name = "Eclipse Public license (EPL 2.0) and IBM Public License (IPL 1.0)"; | ||
56 | version = pkgs.postfix.version; | ||
57 | source.url = "http://www.postfix.org/download.html"; | ||
58 | }; | ||
59 | }; | ||
60 | secrets.keys = { | ||
61 | "postfix/mysql_alias_maps" = { | ||
62 | user = config.services.postfix.user; | ||
63 | group = config.services.postfix.group; | ||
64 | permissions = "0440"; | ||
65 | text = '' | ||
66 | # We need to specify that option to trigger ssl connection | ||
67 | tls_ciphers = TLSv1.2 | ||
68 | user = ${config.myEnv.mail.postfix.mysql.user} | ||
69 | password = ${config.myEnv.mail.postfix.mysql.password} | ||
70 | hosts = unix:${config.myEnv.mail.postfix.mysql.socket} | ||
71 | dbname = ${config.myEnv.mail.postfix.mysql.database} | ||
72 | query = SELECT DISTINCT destination | ||
73 | FROM forwardings | ||
74 | WHERE | ||
75 | ((regex = 1 AND '%s' REGEXP CONCAT('^',source,'$') ) OR (regex = 0 AND source = '%s')) | ||
76 | AND active = 1 | ||
77 | AND '%s' NOT IN | ||
78 | ( | ||
79 | SELECT source | ||
80 | FROM forwardings_blacklisted | ||
81 | WHERE source = '%s' | ||
82 | ) UNION | ||
83 | SELECT 'devnull@immae.eu' | ||
84 | FROM forwardings_blacklisted | ||
85 | WHERE source = '%s' | ||
86 | ''; | ||
87 | }; | ||
88 | "postfix/ldap_mailboxes" = { | ||
89 | user = config.services.postfix.user; | ||
90 | group = config.services.postfix.group; | ||
91 | permissions = "0440"; | ||
92 | text = '' | ||
93 | server_host = ldaps://${config.myEnv.mail.dovecot.ldap.host}:636 | ||
94 | search_base = ${config.myEnv.mail.dovecot.ldap.base} | ||
95 | query_filter = ${config.myEnv.mail.dovecot.ldap.postfix_mailbox_filter} | ||
96 | bind_dn = ${config.myEnv.mail.dovecot.ldap.dn} | ||
97 | bind_pw = ${config.myEnv.mail.dovecot.ldap.password} | ||
98 | result_attribute = immaePostfixAddress | ||
99 | result_format = dummy | ||
100 | version = 3 | ||
101 | ''; | ||
102 | }; | ||
103 | "postfix/mysql_sender_login_maps" = { | ||
104 | user = config.services.postfix.user; | ||
105 | group = config.services.postfix.group; | ||
106 | permissions = "0440"; | ||
107 | text = '' | ||
108 | # We need to specify that option to trigger ssl connection | ||
109 | tls_ciphers = TLSv1.2 | ||
110 | user = ${config.myEnv.mail.postfix.mysql.user} | ||
111 | password = ${config.myEnv.mail.postfix.mysql.password} | ||
112 | hosts = unix:${config.myEnv.mail.postfix.mysql.socket} | ||
113 | dbname = ${config.myEnv.mail.postfix.mysql.database} | ||
114 | query = SELECT DISTINCT destination | ||
115 | FROM forwardings | ||
116 | WHERE | ||
117 | ( | ||
118 | (regex = 1 AND CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d') REGEXP CONCAT('^',source,'$') ) | ||
119 | OR | ||
120 | (regex = 0 AND source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d')) | ||
121 | ) | ||
122 | AND active = 1 | ||
123 | UNION SELECT CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d') AS destination | ||
124 | ''; | ||
125 | }; | ||
126 | "postfix/mysql_sender_relays_maps" = { | ||
127 | user = config.services.postfix.user; | ||
128 | group = config.services.postfix.group; | ||
129 | permissions = "0440"; | ||
130 | text = '' | ||
131 | # We need to specify that option to trigger ssl connection | ||
132 | tls_ciphers = TLSv1.2 | ||
133 | user = ${config.myEnv.mail.postfix.mysql.user} | ||
134 | password = ${config.myEnv.mail.postfix.mysql.password} | ||
135 | hosts = unix:${config.myEnv.mail.postfix.mysql.socket} | ||
136 | dbname = ${config.myEnv.mail.postfix.mysql.database} | ||
137 | # INSERT INTO sender_relays | ||
138 | # (`from`, owner, relay, login, password, regex, active) | ||
139 | # VALUES | ||
140 | # ( 'sender@otherhost.org' | ||
141 | # , 'me@mail.immae.eu' | ||
142 | # , '[otherhost.org]:587' | ||
143 | # , 'otherhostlogin' | ||
144 | # , AES_ENCRYPT('otherhostpassword', '${config.myEnv.mail.postfix.mysql.password_encrypt}') | ||
145 | # , '0' | ||
146 | # , '1'); | ||
147 | |||
148 | query = SELECT DISTINCT `owner` | ||
149 | FROM sender_relays | ||
150 | WHERE | ||
151 | ((regex = 1 AND '%s' REGEXP CONCAT('^',`from`,'$') ) OR (regex = 0 AND `from` = '%s')) | ||
152 | AND active = 1 | ||
153 | ''; | ||
154 | }; | ||
155 | "postfix/mysql_sender_relays_hosts" = { | ||
156 | user = config.services.postfix.user; | ||
157 | group = config.services.postfix.group; | ||
158 | permissions = "0440"; | ||
159 | text = '' | ||
160 | # We need to specify that option to trigger ssl connection | ||
161 | tls_ciphers = TLSv1.2 | ||
162 | user = ${config.myEnv.mail.postfix.mysql.user} | ||
163 | password = ${config.myEnv.mail.postfix.mysql.password} | ||
164 | hosts = unix:${config.myEnv.mail.postfix.mysql.socket} | ||
165 | dbname = ${config.myEnv.mail.postfix.mysql.database} | ||
166 | |||
167 | query = SELECT DISTINCT relay | ||
168 | FROM sender_relays | ||
169 | WHERE | ||
170 | ((regex = 1 AND '%s' REGEXP CONCAT('^',`from`,'$') ) OR (regex = 0 AND `from` = '%s')) | ||
171 | AND active = 1 | ||
172 | ''; | ||
173 | }; | ||
174 | "postfix/mysql_sender_relays_creds" = { | ||
175 | user = config.services.postfix.user; | ||
176 | group = config.services.postfix.group; | ||
177 | permissions = "0440"; | ||
178 | text = '' | ||
179 | # We need to specify that option to trigger ssl connection | ||
180 | tls_ciphers = TLSv1.2 | ||
181 | user = ${config.myEnv.mail.postfix.mysql.user} | ||
182 | password = ${config.myEnv.mail.postfix.mysql.password} | ||
183 | hosts = unix:${config.myEnv.mail.postfix.mysql.socket} | ||
184 | dbname = ${config.myEnv.mail.postfix.mysql.database} | ||
185 | |||
186 | query = SELECT DISTINCT CONCAT(`login`, ':', AES_DECRYPT(`password`, '${config.myEnv.mail.postfix.mysql.password_encrypt}')) | ||
187 | FROM sender_relays | ||
188 | WHERE | ||
189 | ((regex = 1 AND '%s' REGEXP CONCAT('^',`from`,'$') ) OR (regex = 0 AND `from` = '%s')) | ||
190 | AND active = 1 | ||
191 | ''; | ||
192 | }; | ||
193 | "postfix/ldap_ejabberd_users_immae_fr" = { | ||
194 | user = config.services.postfix.user; | ||
195 | group = config.services.postfix.group; | ||
196 | permissions = "0440"; | ||
197 | text = '' | ||
198 | server_host = ldaps://${config.myEnv.jabber.ldap.host}:636 | ||
199 | search_base = ${config.myEnv.jabber.ldap.base} | ||
200 | query_filter = ${config.myEnv.jabber.postfix_user_filter} | ||
201 | domain = immae.fr | ||
202 | bind_dn = ${config.myEnv.jabber.ldap.dn} | ||
203 | bind_pw = ${config.myEnv.jabber.ldap.password} | ||
204 | result_attribute = immaeXmppUid | ||
205 | result_format = ejabberd@localhost | ||
206 | version = 3 | ||
207 | ''; | ||
208 | }; | ||
209 | }; | ||
210 | |||
211 | networking.firewall.allowedTCPPorts = [ 25 465 587 ]; | ||
212 | |||
213 | users.users.postfixscripts = { | ||
214 | group = "keys"; | ||
215 | uid = config.ids.uids.postfixscripts; | ||
216 | description = "Postfix scripts user"; | ||
217 | }; | ||
218 | users.users."${config.services.postfix.user}".extraGroups = [ "keys" ]; | ||
219 | services.filesWatcher.postfix = { | ||
220 | restart = true; | ||
221 | paths = [ | ||
222 | config.secrets.fullPaths."postfix/mysql_alias_maps" | ||
223 | config.secrets.fullPaths."postfix/ldap_mailboxes" | ||
224 | config.secrets.fullPaths."postfix/mysql_sender_login_maps" | ||
225 | config.secrets.fullPaths."postfix/ldap_ejabberd_users_immae_fr" | ||
226 | ]; | ||
227 | }; | ||
228 | services.postfix = { | ||
229 | extraAliases = let | ||
230 | testmail = pkgs.writeScript "testmail" '' | ||
231 | #! ${pkgs.stdenv.shell} | ||
232 | ${pkgs.coreutils}/bin/touch \ | ||
233 | "/var/lib/naemon/checks/email/$(${pkgs.procmail}/bin/formail -x To: | ${pkgs.coreutils}/bin/tr -d ' <>')" | ||
234 | ''; | ||
235 | in | ||
236 | ''testmail: "|${testmail}"''; | ||
237 | mapFiles = let | ||
238 | virtual_map = { | ||
239 | virtual = let | ||
240 | cfg = config.myEnv.monitoring.email_check.eldiron; | ||
241 | address = "${cfg.mail_address}@${cfg.mail_domain}"; | ||
242 | aliases = config.myEnv.mail.postfix.common_aliases; | ||
243 | admins = builtins.concatStringsSep "," config.myEnv.mail.postfix.admins; | ||
244 | in pkgs.writeText "postfix-virtual" ( | ||
245 | builtins.concatStringsSep "\n" ( | ||
246 | [ "${address} testmail@localhost" | ||
247 | ] ++ | ||
248 | map (a: "${a} ${admins}") config.myEnv.mail.postfix.other_aliases | ||
249 | ++ lib.lists.flatten ( | ||
250 | map (domain: | ||
251 | map (alias: "${alias}@${domain} ${admins}") aliases | ||
252 | ) receiving_domains | ||
253 | ) | ||
254 | )); | ||
255 | }; | ||
256 | sasl_access = { | ||
257 | host_sender_login = with lib.attrsets; let | ||
258 | addresses = zipAttrs (lib.flatten (mapAttrsToList | ||
259 | (n: v: (map (e: { "${e}" = "${n}@immae.eu"; }) v.emails)) config.myEnv.servers)); | ||
260 | aliases = config.myEnv.mail.postfix.common_aliases; | ||
261 | joined = builtins.concatStringsSep ","; | ||
262 | admins = joined config.myEnv.mail.postfix.admins; | ||
263 | in pkgs.writeText "host-sender-login" | ||
264 | (builtins.concatStringsSep "\n" ( | ||
265 | mapAttrsToList (n: v: "${n} ${joined v}") addresses | ||
266 | ++ lib.lists.flatten ( | ||
267 | map (domain: | ||
268 | map (alias: "${alias}@${domain} ${admins}") aliases | ||
269 | ) receiving_domains | ||
270 | ) | ||
271 | ++ map (a: "${a} ${admins}") config.myEnv.mail.postfix.other_aliases | ||
272 | )); | ||
273 | }; | ||
274 | in | ||
275 | virtual_map // sasl_access; | ||
276 | config = { | ||
277 | ### postfix module overrides | ||
278 | readme_directory = "${pkgs.postfix}/share/postfix/doc"; | ||
279 | smtp_tls_CAfile = lib.mkForce ""; | ||
280 | smtp_tls_cert_file = lib.mkForce ""; | ||
281 | smtp_tls_key_file = lib.mkForce ""; | ||
282 | |||
283 | message_size_limit = "1073741824"; # Don't put 0 here, it's not equivalent to "unlimited" | ||
284 | mailbox_size_limit = "1073741825"; # Workaround, local delivered mails should all go through scripts | ||
285 | alias_database = "\$alias_maps"; | ||
286 | |||
287 | ### Aliases scripts user | ||
288 | default_privs = "postfixscripts"; | ||
289 | |||
290 | ### Virtual mailboxes config | ||
291 | virtual_alias_maps = [ | ||
292 | "hash:/etc/postfix/virtual" | ||
293 | "mysql:${config.secrets.fullPaths."postfix/mysql_alias_maps"}" | ||
294 | "ldap:${config.secrets.fullPaths."postfix/ldap_ejabberd_users_immae_fr"}" | ||
295 | ]; | ||
296 | virtual_mailbox_domains = receiving_domains; | ||
297 | virtual_mailbox_maps = [ | ||
298 | "ldap:${config.secrets.fullPaths."postfix/ldap_mailboxes"}" | ||
299 | ]; | ||
300 | dovecot_destination_recipient_limit = "1"; | ||
301 | virtual_transport = "dovecot"; | ||
302 | |||
303 | ### Relay domains | ||
304 | smtpd_relay_restrictions = [ | ||
305 | "defer_unauth_destination" | ||
306 | ]; | ||
307 | |||
308 | ### Additional smtpd configuration | ||
309 | smtpd_tls_received_header = "yes"; | ||
310 | smtpd_tls_loglevel = "1"; | ||
311 | |||
312 | ### Email sending configuration | ||
313 | smtp_tls_security_level = "may"; | ||
314 | smtp_tls_loglevel = "1"; | ||
315 | |||
316 | ### Force ip bind for smtp | ||
317 | smtp_bind_address = builtins.head config.hostEnv.ips.main.ip4; | ||
318 | smtp_bind_address6 = builtins.head config.hostEnv.ips.main.ip6; | ||
319 | |||
320 | # Use some relays when authorized senders are not myself | ||
321 | smtp_sasl_mechanism_filter = [ | ||
322 | "plain" | ||
323 | "login" | ||
324 | ]; # GSSAPI Not correctly supported by postfix | ||
325 | smtp_sasl_auth_enable = "yes"; | ||
326 | smtp_sasl_password_maps = [ | ||
327 | "mysql:${config.secrets.fullPaths."postfix/mysql_sender_relays_creds"}" | ||
328 | ]; | ||
329 | smtp_sasl_security_options = "noanonymous"; | ||
330 | smtp_sender_dependent_authentication = "yes"; | ||
331 | sender_dependent_relayhost_maps = [ | ||
332 | "mysql:${config.secrets.fullPaths."postfix/mysql_sender_relays_hosts"}" | ||
333 | ]; | ||
334 | |||
335 | ### opendkim, opendmarc, openarc milters | ||
336 | non_smtpd_milters = [ | ||
337 | "unix:${config.myServices.mail.milters.sockets.opendkim}" | ||
338 | ]; | ||
339 | smtpd_milters = [ | ||
340 | "unix:${config.myServices.mail.milters.sockets.opendkim}" | ||
341 | "unix:${config.myServices.mail.milters.sockets.openarc}" | ||
342 | "unix:${config.myServices.mail.milters.sockets.opendmarc}" | ||
343 | ]; | ||
344 | |||
345 | smtp_use_tls = true; | ||
346 | smtpd_use_tls = true; | ||
347 | smtpd_tls_chain_files = [ | ||
348 | "/var/lib/acme/mail/full.pem" | ||
349 | "/var/lib/acme/mail-rsa/full.pem" | ||
350 | ]; | ||
351 | |||
352 | maximal_queue_lifetime = "6w"; | ||
353 | bounce_queue_lifetime = "6w"; | ||
354 | }; | ||
355 | enable = true; | ||
356 | enableSmtp = true; | ||
357 | enableSubmission = true; | ||
358 | submissionOptions = config.services.postfix.submissionOptions'; | ||
359 | submissionOptions' = { | ||
360 | # Don’t use "long form", only commas (cf | ||
361 | # http://www.postfix.org/master.5.html long form is not handled | ||
362 | # well by the submission function) | ||
363 | smtpd_tls_security_level = "encrypt"; | ||
364 | smtpd_sasl_auth_enable = "yes"; | ||
365 | smtpd_tls_auth_only = "yes"; | ||
366 | smtpd_sasl_tls_security_options = "noanonymous"; | ||
367 | smtpd_sasl_type = "dovecot"; | ||
368 | smtpd_sasl_path = "private/auth"; | ||
369 | smtpd_reject_unlisted_recipient = "no"; | ||
370 | smtpd_client_restrictions = [ | ||
371 | "permit_sasl_authenticated" | ||
372 | "reject" | ||
373 | ]; | ||
374 | smtpd_relay_restrictions = [ | ||
375 | "permit_sasl_authenticated" | ||
376 | "reject" | ||
377 | ]; | ||
378 | # Refuse to send e-mails with a From that is not handled | ||
379 | smtpd_sender_restrictions = [ | ||
380 | "reject_sender_login_mismatch" | ||
381 | "reject_unlisted_sender" | ||
382 | "permit_sasl_authenticated,reject" | ||
383 | ]; | ||
384 | smtpd_sender_login_maps = [ | ||
385 | "hash:/etc/postfix/host_sender_login" | ||
386 | "mysql:${config.secrets.fullPaths."postfix/mysql_sender_relays_maps"}" | ||
387 | "mysql:${config.secrets.fullPaths."postfix/mysql_sender_login_maps"}" | ||
388 | ]; | ||
389 | smtpd_recipient_restrictions = [ | ||
390 | "permit_sasl_authenticated" | ||
391 | "reject" | ||
392 | ]; | ||
393 | milter_macro_daemon_name = "ORIGINATING"; | ||
394 | smtpd_milters = [ | ||
395 | # FIXME: put it back when opensmtpd is upgraded and able to | ||
396 | # rewrite the from header | ||
397 | #"unix:/run/milter_verify_from/verify_from.sock" | ||
398 | "unix:${config.myServices.mail.milters.sockets.opendkim}" | ||
399 | ]; | ||
400 | }; | ||
401 | destination = ["localhost"]; | ||
402 | # This needs to reverse DNS | ||
403 | hostname = config.hostEnv.fqdn; | ||
404 | setSendmail = true; | ||
405 | recipientDelimiter = "+"; | ||
406 | masterConfig = { | ||
407 | submissions = { | ||
408 | type = "inet"; | ||
409 | private = false; | ||
410 | command = "smtpd"; | ||
411 | args = ["-o" "smtpd_tls_wrappermode=yes" ] ++ (let | ||
412 | mkKeyVal = opt: val: [ "-o" (opt + "=" + val) ]; | ||
413 | in lib.concatLists (lib.mapAttrsToList mkKeyVal config.services.postfix.submissionOptions) | ||
414 | ); | ||
415 | }; | ||
416 | dovecot = { | ||
417 | type = "unix"; | ||
418 | privileged = true; | ||
419 | chroot = false; | ||
420 | command = "pipe"; | ||
421 | args = let | ||
422 | # rspamd could be used as a milter, but then it cannot apply | ||
423 | # its checks "per user" (milter is not yet dispatched to | ||
424 | # users), so we wrap dovecot-lda inside rspamc per recipient | ||
425 | # here. | ||
426 | rspamc_dovecot = pkgs.writeScriptBin "rspamc_dovecot" '' | ||
427 | #! ${pkgs.stdenv.shell} | ||
428 | set -o pipefail | ||
429 | sender="$1" | ||
430 | original_recipient="$2" | ||
431 | user="$3" | ||
432 | |||
433 | ${pkgs.coreutils}/bin/cat - | \ | ||
434 | ${pkgs.rspamd}/bin/rspamc -h ${config.myServices.mail.rspamd.sockets.worker-controller} -c bayes -d "$user" --mime | \ | ||
435 | ${pkgs.dovecot}/libexec/dovecot/dovecot-lda -f "$sender" -a "$original_recipient" -d "$user" | ||
436 | if echo ''${PIPESTATUS[@]} | ${pkgs.gnugrep}/bin/grep -qE '^[0 ]+$'; then | ||
437 | exit 0 | ||
438 | else | ||
439 | # src/global/sys_exits.h to retry | ||
440 | exit 75 | ||
441 | fi | ||
442 | ''; | ||
443 | in [ | ||
444 | "flags=ODRhu" "user=vhost:vhost" | ||
445 | "argv=${rspamc_dovecot}/bin/rspamc_dovecot \${sender} \${original_recipient} \${user}@\${nexthop}" | ||
446 | ]; | ||
447 | }; | ||
448 | }; | ||
449 | }; | ||
450 | security.acme.certs."mail" = { | ||
451 | postRun = '' | ||
452 | systemctl restart postfix.service | ||
453 | ''; | ||
454 | extraDomainNames = [ "smtp.immae.eu" ]; | ||
455 | }; | ||
456 | security.acme.certs."mail-rsa" = { | ||
457 | postRun = '' | ||
458 | systemctl restart postfix.service | ||
459 | ''; | ||
460 | extraDomainNames = [ "smtp.immae.eu" ]; | ||
461 | }; | ||
462 | system.activationScripts.testmail = { | ||
463 | deps = [ "users" ]; | ||
464 | text = let | ||
465 | allCfg = config.myEnv.monitoring.email_check; | ||
466 | cfg = allCfg.eldiron; | ||
467 | reverseTargets = builtins.attrNames (lib.attrsets.filterAttrs (k: v: builtins.elem "eldiron" v.targets) allCfg); | ||
468 | to_email = cfg': host': | ||
469 | let sep = if lib.strings.hasInfix "+" cfg'.mail_address then "_" else "+"; | ||
470 | in "${cfg'.mail_address}${sep}${host'}@${cfg'.mail_domain}"; | ||
471 | mails_to_receive = builtins.concatStringsSep " " (map (to_email cfg) reverseTargets); | ||
472 | in '' | ||
473 | install -m 0555 -o postfixscripts -g keys -d /var/lib/naemon/checks/email | ||
474 | for f in ${mails_to_receive}; do | ||
475 | if [ ! -f /var/lib/naemon/checks/email/$f ]; then | ||
476 | install -m 0644 -o postfixscripts -g keys /dev/null -T /var/lib/naemon/checks/email/$f | ||
477 | touch -m -d @0 /var/lib/naemon/checks/email/$f | ||
478 | fi | ||
479 | done | ||
480 | ''; | ||
481 | }; | ||
482 | systemd.services.postfix.serviceConfig.Slice = "mail.slice"; | ||
483 | |||
484 | myServices.monitoring.fromMasterObjects.service = [ | ||
485 | { | ||
486 | service_description = "postfix SSL is up to date"; | ||
487 | host_name = config.hostEnv.fqdn; | ||
488 | use = "external-service"; | ||
489 | check_command = "check_smtp"; | ||
490 | |||
491 | servicegroups = "webstatus-ssl"; | ||
492 | _webstatus_name = "SMTP"; | ||
493 | _webstatus_url = "smtp.immae.eu"; | ||
494 | } | ||
495 | ]; | ||
496 | }; | ||
497 | } | ||
diff --git a/systems/eldiron/mail/rspamd.nix b/systems/eldiron/mail/rspamd.nix new file mode 100644 index 0000000..a300cc5 --- /dev/null +++ b/systems/eldiron/mail/rspamd.nix | |||
@@ -0,0 +1,88 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | { | ||
3 | options.myServices.mail.rspamd.sockets = lib.mkOption { | ||
4 | type = lib.types.attrsOf lib.types.path; | ||
5 | default = { | ||
6 | worker-controller = "/run/rspamd/worker-controller.sock"; | ||
7 | }; | ||
8 | readOnly = true; | ||
9 | description = '' | ||
10 | rspamd sockets | ||
11 | ''; | ||
12 | }; | ||
13 | config = lib.mkIf config.myServices.mail.enable { | ||
14 | services.cron.systemCronJobs = let | ||
15 | cron_script = pkgs.runCommand "cron_script" { | ||
16 | buildInputs = [ pkgs.makeWrapper ]; | ||
17 | } '' | ||
18 | mkdir -p $out | ||
19 | cp ${./scan_reported_mails} $out/scan_reported_mails | ||
20 | patchShebangs $out | ||
21 | for i in $out/*; do | ||
22 | wrapProgram "$i" --prefix PATH : ${lib.makeBinPath [ pkgs.coreutils pkgs.rspamd pkgs.flock ]} | ||
23 | done | ||
24 | ''; | ||
25 | in | ||
26 | [ "*/20 * * * * vhost ${cron_script}/scan_reported_mails" ]; | ||
27 | |||
28 | systemd.services.rspamd.serviceConfig.Slice = "mail.slice"; | ||
29 | systemd.services.rspamd.serviceConfig.SupplementaryGroups = [ "vhost" ]; | ||
30 | services.rspamd = { | ||
31 | enable = true; | ||
32 | debug = false; | ||
33 | overrides = { | ||
34 | "actions.conf".text = '' | ||
35 | reject = null; | ||
36 | add_header = 6; | ||
37 | greylist = null; | ||
38 | ''; | ||
39 | "milter_headers.conf".text = '' | ||
40 | extended_spam_headers = true; | ||
41 | ''; | ||
42 | }; | ||
43 | locals = { | ||
44 | "redis.conf".text = '' | ||
45 | servers = "${config.myEnv.mail.rspamd.redis.socket}"; | ||
46 | db = "${config.myEnv.mail.rspamd.redis.db}"; | ||
47 | ''; | ||
48 | "classifier-bayes.conf".text = '' | ||
49 | users_enabled = true; | ||
50 | backend = "redis"; | ||
51 | servers = "${config.myEnv.mail.rspamd.redis.socket}"; | ||
52 | database = "${config.myEnv.mail.rspamd.redis.db}"; | ||
53 | autolearn = true; | ||
54 | cache { | ||
55 | backend = "redis"; | ||
56 | } | ||
57 | new_schema = true; | ||
58 | statfile { | ||
59 | BAYES_HAM { | ||
60 | spam = false; | ||
61 | } | ||
62 | BAYES_SPAM { | ||
63 | spam = true; | ||
64 | } | ||
65 | } | ||
66 | ''; | ||
67 | }; | ||
68 | workers = { | ||
69 | controller = { | ||
70 | extraConfig = '' | ||
71 | enable_password = "${config.myEnv.mail.rspamd.write_password_hashed}"; | ||
72 | password = "${config.myEnv.mail.rspamd.read_password_hashed}"; | ||
73 | ''; | ||
74 | bindSockets = [ { | ||
75 | socket = config.myServices.mail.rspamd.sockets.worker-controller; | ||
76 | mode = "0660"; | ||
77 | owner = config.services.rspamd.user; | ||
78 | group = "vhost"; | ||
79 | } ]; | ||
80 | }; | ||
81 | }; | ||
82 | postfix = { | ||
83 | enable = true; | ||
84 | config = {}; | ||
85 | }; | ||
86 | }; | ||
87 | }; | ||
88 | } | ||
diff --git a/systems/eldiron/mail/scan_reported_mails b/systems/eldiron/mail/scan_reported_mails new file mode 100755 index 0000000..fe9f4d6 --- /dev/null +++ b/systems/eldiron/mail/scan_reported_mails | |||
@@ -0,0 +1,21 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | ( flock -n 9 || exit 1 | ||
4 | shopt -s nullglob | ||
5 | for spool in /var/lib/vhost/.rspamd/*/pending; do | ||
6 | rspamd_folder=$(dirname $spool) | ||
7 | mail_user=$(basename $rspamd_folder) | ||
8 | mv $rspamd_folder/pending $rspamd_folder/processing | ||
9 | |||
10 | for mtype in ham spam; do | ||
11 | if [ -d $rspamd_folder/processing/$mtype ]; then | ||
12 | output="$(rspamc -h /run/rspamd/worker-controller.sock -c bayes -d $mail_user learn_$mtype $rspamd_folder/processing/$mtype/*)" | ||
13 | echo "[$mtype: $mail_user]" ${output} >> /var/lib/vhost/.rspamd/rspamd.log | ||
14 | mkdir -p $rspamd_folder/processed/$mtype | ||
15 | cp $rspamd_folder/processing/$mtype/* $rspamd_folder/processed/$mtype/ | ||
16 | fi | ||
17 | done | ||
18 | |||
19 | rm -rf $rspamd_folder/processing | ||
20 | done | ||
21 | ) 9>/var/lib/vhost/scan_reported_mails.lock | ||
diff --git a/systems/eldiron/mail/sieve_bin/imapsieve_copy b/systems/eldiron/mail/sieve_bin/imapsieve_copy new file mode 100755 index 0000000..2ca1f23 --- /dev/null +++ b/systems/eldiron/mail/sieve_bin/imapsieve_copy | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | # Inspired from https://docs.iredmail.org/dovecot.imapsieve.html | ||
3 | |||
4 | MSG_TYPE="$1" | ||
5 | OUTPUT_DIR="/var/lib/vhost/.rspamd/${USER}/pending/${MSG_TYPE}" | ||
6 | FILE="${OUTPUT_DIR}/$(date +%Y%m%d%H%M%S)-${RANDOM}${RANDOM}.eml" | ||
7 | mkdir -p "${OUTPUT_DIR}" | ||
8 | cat > ${FILE} < /dev/stdin | ||
diff --git a/systems/eldiron/mail/sieve_scripts/backup.sieve b/systems/eldiron/mail/sieve_scripts/backup.sieve new file mode 100644 index 0000000..3014c0a --- /dev/null +++ b/systems/eldiron/mail/sieve_scripts/backup.sieve | |||
@@ -0,0 +1,7 @@ | |||
1 | # vim: filetype=sieve | ||
2 | require ["copy","mailbox","fileinto","regex"]; | ||
3 | if header :is "X-Spam" "Yes" { | ||
4 | fileinto :create :copy "Backup/Spam"; | ||
5 | } else { | ||
6 | fileinto :create :copy "Backup/Ham"; | ||
7 | } | ||
diff --git a/systems/eldiron/mail/sieve_scripts/report_ham.sieve b/systems/eldiron/mail/sieve_scripts/report_ham.sieve new file mode 100644 index 0000000..f9b8481 --- /dev/null +++ b/systems/eldiron/mail/sieve_scripts/report_ham.sieve | |||
@@ -0,0 +1,11 @@ | |||
1 | require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"]; | ||
2 | |||
3 | if environment :matches "imap.mailbox" "*" { | ||
4 | set "mailbox" "${1}"; | ||
5 | } | ||
6 | |||
7 | if string "${mailbox}" "Trash" { | ||
8 | stop; | ||
9 | } | ||
10 | |||
11 | pipe :copy "imapsieve_copy" [ "ham" ]; | ||
diff --git a/systems/eldiron/mail/sieve_scripts/report_spam.sieve b/systems/eldiron/mail/sieve_scripts/report_spam.sieve new file mode 100644 index 0000000..9a1f794 --- /dev/null +++ b/systems/eldiron/mail/sieve_scripts/report_spam.sieve | |||
@@ -0,0 +1,3 @@ | |||
1 | require ["vnd.dovecot.pipe", "copy", "imapsieve" ]; | ||
2 | |||
3 | pipe :copy "imapsieve_copy" [ "spam" ]; | ||
diff --git a/systems/eldiron/mail/sympa.nix b/systems/eldiron/mail/sympa.nix new file mode 100644 index 0000000..8e801dd --- /dev/null +++ b/systems/eldiron/mail/sympa.nix | |||
@@ -0,0 +1,232 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | domain = "lists.immae.eu"; | ||
4 | sympaConfig = config.myEnv.mail.sympa; | ||
5 | in | ||
6 | { | ||
7 | config = lib.mkIf config.myServices.mail.enable { | ||
8 | myServices.dns.zones."immae.eu".emailPolicies."lists".receive = true; | ||
9 | myServices.dns.zones."immae.eu".subdomains.lists = | ||
10 | with config.myServices.dns.helpers; lib.mkMerge [ | ||
11 | (ips servers.eldiron.ips.main) | ||
12 | (mailCommon "immae.eu") | ||
13 | mailSend | ||
14 | ]; | ||
15 | |||
16 | myServices.chatonsProperties.services.sympa = { | ||
17 | file.datetime = "2022-08-22T00:50:00"; | ||
18 | service = { | ||
19 | name = "Sympa"; | ||
20 | description = "Mailing lists service"; | ||
21 | website = "https://mail.immae.eu/sympa"; | ||
22 | logo = "https://mail.immae.eu/static-sympa/icons/favicon_sympa.png"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration."" = ["MEMBER" "CLIENT"]; | ||
26 | registration.load = "OPEN"; | ||
27 | install.type = "PACKAGE"; | ||
28 | }; | ||
29 | software = { | ||
30 | name = "Sympa"; | ||
31 | website = "https://www.sympa.org/"; | ||
32 | license.url = "https://github.com/sympa-community/sympa/blob/sympa-6.2/COPYING"; | ||
33 | license.name = "GNU General Public License v2.0"; | ||
34 | version = pkgs.sympa.version; | ||
35 | source.url = "https://github.com/sympa-community/sympa/"; | ||
36 | }; | ||
37 | }; | ||
38 | myServices.databases.postgresql.authorizedHosts = { | ||
39 | backup-2 = [ | ||
40 | { | ||
41 | username = "sympa"; | ||
42 | database = "sympa"; | ||
43 | ip4 = config.myEnv.servers.backup-2.ips.main.ip4; | ||
44 | ip6 = map (v: "${v}/128") config.myEnv.servers.backup-2.ips.main.ip6; | ||
45 | } | ||
46 | ]; | ||
47 | }; | ||
48 | services.websites.env.tools.vhostConfs.mail = { | ||
49 | extraConfig = lib.mkAfter [ | ||
50 | '' | ||
51 | Alias /static-sympa/ /var/lib/sympa/static_content/ | ||
52 | <Directory /var/lib/sympa/static_content/> | ||
53 | Require all granted | ||
54 | AllowOverride none | ||
55 | </Directory> | ||
56 | <Location /sympa> | ||
57 | SetHandler "proxy:unix:/run/sympa/wwsympa.socket|fcgi://" | ||
58 | Require all granted | ||
59 | </Location> | ||
60 | '' | ||
61 | ]; | ||
62 | }; | ||
63 | |||
64 | secrets.keys = { | ||
65 | "sympa/db_password" = { | ||
66 | permissions = "0400"; | ||
67 | group = "sympa"; | ||
68 | user = "sympa"; | ||
69 | text = sympaConfig.postgresql.password; | ||
70 | }; | ||
71 | } | ||
72 | // lib.mapAttrs' (n: v: lib.nameValuePair "sympa/data_sources/${n}.incl" { | ||
73 | permissions = "0400"; group = "sympa"; user = "sympa"; text = v; | ||
74 | }) sympaConfig.data_sources | ||
75 | // lib.mapAttrs' (n: v: lib.nameValuePair "sympa/scenari/${n}" { | ||
76 | permissions = "0400"; group = "sympa"; user = "sympa"; text = v; | ||
77 | }) sympaConfig.scenari; | ||
78 | users.users.sympa.extraGroups = [ "keys" ]; | ||
79 | systemd.slices.mail-sympa = { | ||
80 | description = "Sympa slice"; | ||
81 | }; | ||
82 | |||
83 | systemd.services.sympa.serviceConfig.SupplementaryGroups = [ "keys" ]; | ||
84 | systemd.services.sympa-archive.serviceConfig.SupplementaryGroups = [ "keys" ]; | ||
85 | systemd.services.sympa-bounce.serviceConfig.SupplementaryGroups = [ "keys" ]; | ||
86 | systemd.services.sympa-bulk.serviceConfig.SupplementaryGroups = [ "keys" ]; | ||
87 | systemd.services.sympa-task.serviceConfig.SupplementaryGroups = [ "keys" ]; | ||
88 | |||
89 | systemd.services.sympa.serviceConfig.Slice = "mail-sympa.slice"; | ||
90 | systemd.services.sympa-archive.serviceConfig.Slice = "mail-sympa.slice"; | ||
91 | systemd.services.sympa-bounce.serviceConfig.Slice = "mail-sympa.slice"; | ||
92 | systemd.services.sympa-bulk.serviceConfig.Slice = "mail-sympa.slice"; | ||
93 | systemd.services.sympa-task.serviceConfig.Slice = "mail-sympa.slice"; | ||
94 | |||
95 | # https://github.com/NixOS/nixpkgs/pull/84202 | ||
96 | systemd.services.sympa.serviceConfig.ProtectKernelModules = lib.mkForce false; | ||
97 | systemd.services.sympa-archive.serviceConfig.ProtectKernelModules = lib.mkForce false; | ||
98 | systemd.services.sympa-bounce.serviceConfig.ProtectKernelModules = lib.mkForce false; | ||
99 | systemd.services.sympa-bulk.serviceConfig.ProtectKernelModules = lib.mkForce false; | ||
100 | systemd.services.sympa-task.serviceConfig.ProtectKernelModules = lib.mkForce false; | ||
101 | systemd.services.sympa.serviceConfig.ProtectKernelTunables = lib.mkForce false; | ||
102 | systemd.services.sympa-archive.serviceConfig.ProtectKernelTunables = lib.mkForce false; | ||
103 | systemd.services.sympa-bounce.serviceConfig.ProtectKernelTunables = lib.mkForce false; | ||
104 | systemd.services.sympa-bulk.serviceConfig.ProtectKernelTunables = lib.mkForce false; | ||
105 | systemd.services.sympa-task.serviceConfig.ProtectKernelTunables = lib.mkForce false; | ||
106 | |||
107 | systemd.services.wwsympa = { | ||
108 | wantedBy = [ "multi-user.target" ]; | ||
109 | after = [ "sympa.service" ]; | ||
110 | serviceConfig = { | ||
111 | Slice = "mail-sympa.slice"; | ||
112 | Type = "forking"; | ||
113 | PIDFile = "/run/sympa/wwsympa.pid"; | ||
114 | Restart = "always"; | ||
115 | ExecStart = ''${pkgs.spawn_fcgi}/bin/spawn-fcgi \ | ||
116 | -u sympa \ | ||
117 | -g sympa \ | ||
118 | -U wwwrun \ | ||
119 | -M 0600 \ | ||
120 | -F 2 \ | ||
121 | -P /run/sympa/wwsympa.pid \ | ||
122 | -s /run/sympa/wwsympa.socket \ | ||
123 | -- ${pkgs.sympa}/lib/sympa/cgi/wwsympa.fcgi | ||
124 | ''; | ||
125 | StateDirectory = "sympa"; | ||
126 | ProtectHome = true; | ||
127 | ProtectSystem = "full"; | ||
128 | ProtectControlGroups = true; | ||
129 | }; | ||
130 | }; | ||
131 | |||
132 | services.postfix = { | ||
133 | mapFiles = { | ||
134 | # Update relay list when changing one of those | ||
135 | sympa_virtual = pkgs.writeText "virtual.sympa" '' | ||
136 | sympa-request@${domain} postmaster@immae.eu | ||
137 | sympa-owner@${domain} postmaster@immae.eu | ||
138 | ''; | ||
139 | sympa_transport = pkgs.writeText "transport.sympa" '' | ||
140 | ${domain} error:User unknown in recipient table | ||
141 | sympa@${domain} sympa:sympa@${domain} | ||
142 | listmaster@${domain} sympa:listmaster@${domain} | ||
143 | bounce@${domain} sympabounce:sympa@${domain} | ||
144 | abuse-feedback-report@${domain} sympabounce:sympa@${domain} | ||
145 | ''; | ||
146 | }; | ||
147 | config = { | ||
148 | transport_maps = lib.mkAfter [ | ||
149 | "hash:/etc/postfix/sympa_transport" | ||
150 | "hash:/var/lib/sympa/sympa_transport" | ||
151 | ]; | ||
152 | virtual_alias_maps = lib.mkAfter [ | ||
153 | "hash:/etc/postfix/sympa_virtual" | ||
154 | ]; | ||
155 | virtual_mailbox_maps = lib.mkAfter [ | ||
156 | "hash:/etc/postfix/sympa_transport" | ||
157 | "hash:/var/lib/sympa/sympa_transport" | ||
158 | "hash:/etc/postfix/sympa_virtual" | ||
159 | ]; | ||
160 | }; | ||
161 | masterConfig = { | ||
162 | sympa = { | ||
163 | type = "unix"; | ||
164 | privileged = true; | ||
165 | chroot = false; | ||
166 | command = "pipe"; | ||
167 | args = [ | ||
168 | "flags=hqRu" | ||
169 | "user=sympa" | ||
170 | "argv=${pkgs.sympa}/libexec/queue" | ||
171 | "\${nexthop}" | ||
172 | ]; | ||
173 | }; | ||
174 | sympabounce = { | ||
175 | type = "unix"; | ||
176 | privileged = true; | ||
177 | chroot = false; | ||
178 | command = "pipe"; | ||
179 | args = [ | ||
180 | "flags=hqRu" | ||
181 | "user=sympa" | ||
182 | "argv=${pkgs.sympa}/libexec/bouncequeue" | ||
183 | "\${nexthop}" | ||
184 | ]; | ||
185 | }; | ||
186 | }; | ||
187 | }; | ||
188 | services.sympa = { | ||
189 | enable = true; | ||
190 | listMasters = sympaConfig.listmasters; | ||
191 | mainDomain = domain; | ||
192 | domains = { | ||
193 | "${domain}" = { | ||
194 | webHost = "mail.immae.eu"; | ||
195 | webLocation = "/sympa"; | ||
196 | }; | ||
197 | }; | ||
198 | |||
199 | database = { | ||
200 | type = "PostgreSQL"; | ||
201 | user = sympaConfig.postgresql.user; | ||
202 | host = sympaConfig.postgresql.socket; | ||
203 | name = sympaConfig.postgresql.database; | ||
204 | passwordFile = config.secrets.fullPaths."sympa/db_password"; | ||
205 | createLocally = false; | ||
206 | }; | ||
207 | settings = { | ||
208 | sendmail = "/run/wrappers/bin/sendmail"; | ||
209 | log_smtp = "on"; | ||
210 | sendmail_aliases = "/var/lib/sympa/sympa_transport"; | ||
211 | aliases_program = "${pkgs.postfix}/bin/postmap"; | ||
212 | create_list = "listmaster"; | ||
213 | }; | ||
214 | settingsFile = { | ||
215 | "virtual.sympa".enable = false; | ||
216 | "transport.sympa".enable = false; | ||
217 | } // lib.mapAttrs' (n: v: lib.nameValuePair | ||
218 | "etc/${domain}/data_sources/${n}.incl" | ||
219 | { source = config.secrets.fullPaths."sympa/data_sources/${n}.incl"; }) sympaConfig.data_sources | ||
220 | // lib.mapAttrs' (n: v: lib.nameValuePair | ||
221 | "etc/${domain}/scenari/${n}" | ||
222 | { source = config.secrets.fullPaths."sympa/scenari/${n}"; }) sympaConfig.scenari; | ||
223 | web = { | ||
224 | server = "none"; | ||
225 | }; | ||
226 | |||
227 | mta = { | ||
228 | type = "none"; | ||
229 | }; | ||
230 | }; | ||
231 | }; | ||
232 | } | ||
diff --git a/systems/eldiron/monitoring.nix b/systems/eldiron/monitoring.nix new file mode 100644 index 0000000..2aa7f8f --- /dev/null +++ b/systems/eldiron/monitoring.nix | |||
@@ -0,0 +1,51 @@ | |||
1 | { config, pkgs, lib, name, monitoring, ... }: | ||
2 | let | ||
3 | hostFQDN = config.hostEnv.fqdn; | ||
4 | emailCheck = monitoring.lib.emailCheck config.myEnv.monitoring.email_check; | ||
5 | in | ||
6 | { | ||
7 | config.myServices.monitoring.activatedPlugins = [ "memory" "command" "bandwidth" "emails" "mdadm" "postfix" "postgresql" "zfs" "notify-secondary"]; | ||
8 | config.myServices.monitoring.pluginsArgs.postgresql.package = config.myServices.databases.postgresql.package; | ||
9 | config.myServices.monitoring.objects = lib.mkMerge [ | ||
10 | (monitoring.lib.objectsCommon { | ||
11 | inherit hostFQDN; | ||
12 | hostName = name; | ||
13 | master = false; | ||
14 | processWarn = "550"; processAlert = "650"; | ||
15 | loadWarn = "1.0"; loadAlert = "1.2"; | ||
16 | interface = builtins.head (builtins.attrNames config.networking.interfaces); | ||
17 | }) | ||
18 | |||
19 | { | ||
20 | service = [ | ||
21 | { | ||
22 | service_description = "No mdadm array is degraded"; | ||
23 | use = "local-service"; | ||
24 | check_command = ["check_mdadm"]; | ||
25 | __passive_servicegroups = "webstatus-resources"; | ||
26 | } | ||
27 | { | ||
28 | service_description = "Postgresql replication for backup-2 is up to date"; | ||
29 | use = "local-service"; | ||
30 | check_command = ["check_postgresql_replication" "backup-2" "/run/postgresql" "5432"]; | ||
31 | __passive_servicegroups = "webstatus-databases"; | ||
32 | } | ||
33 | { | ||
34 | service_description = "No ZFS pool is degraded"; | ||
35 | use = "local-service"; | ||
36 | check_command = ["check_zfs"]; | ||
37 | __passive_servicegroups = "webstatus-resources"; | ||
38 | } | ||
39 | { | ||
40 | service_description = "mailq is empty"; | ||
41 | use = "local-service"; | ||
42 | check_command = ["check_mailq"]; | ||
43 | __passive_servicegroups = "webstatus-email"; | ||
44 | } | ||
45 | (emailCheck "eldiron" hostFQDN // { | ||
46 | __passive_servicegroups = "webstatus-email"; | ||
47 | }) | ||
48 | ]; | ||
49 | } | ||
50 | ]; | ||
51 | } | ||
diff --git a/systems/eldiron/mpd.nix b/systems/eldiron/mpd.nix new file mode 100644 index 0000000..640b001 --- /dev/null +++ b/systems/eldiron/mpd.nix | |||
@@ -0,0 +1,60 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | { | ||
3 | options.myServices.mpd.enable = lib.mkEnableOption "enable MPD"; | ||
4 | config = lib.mkIf config.myServices.mpd.enable { | ||
5 | secrets.keys = { | ||
6 | "mpd" = { | ||
7 | permissions = "0400"; | ||
8 | text = config.myEnv.mpd.password; | ||
9 | }; | ||
10 | "mpd-config" = { | ||
11 | permissions = "0400"; | ||
12 | user = "mpd"; | ||
13 | group = "mpd"; | ||
14 | text = '' | ||
15 | password "${config.myEnv.mpd.password}@read,add,control,admin" | ||
16 | ''; | ||
17 | }; | ||
18 | }; | ||
19 | networking.firewall.allowedTCPPorts = [ 6600 ]; | ||
20 | users.users.mpd.extraGroups = [ "wwwrun" "keys" ]; | ||
21 | systemd.services.mpd.serviceConfig.RuntimeDirectory = "mpd"; | ||
22 | services.filesWatcher.mpd = { | ||
23 | restart = true; | ||
24 | paths = [ config.secrets.fullPaths."mpd-config" ]; | ||
25 | }; | ||
26 | |||
27 | services.mpd = { | ||
28 | enable = true; | ||
29 | network.listenAddress = "any"; | ||
30 | musicDirectory = config.myEnv.mpd.folder; | ||
31 | extraConfig = '' | ||
32 | include "${config.secrets.fullPaths."mpd-config"}" | ||
33 | audio_output { | ||
34 | type "null" | ||
35 | name "No Output" | ||
36 | mixer_type "none" | ||
37 | } | ||
38 | audio_output { | ||
39 | type "httpd" | ||
40 | name "OGG" | ||
41 | encoder "vorbis" | ||
42 | bind_to_address "/run/mpd/ogg.sock" | ||
43 | quality "5.0" | ||
44 | format "44100:16:1" | ||
45 | } | ||
46 | audio_output { | ||
47 | type "httpd" | ||
48 | name "MP3" | ||
49 | encoder "lame" | ||
50 | bind_to_address "/run/mpd/mp3.sock" | ||
51 | quality "5.0" | ||
52 | format "44100:16:1" | ||
53 | } | ||
54 | |||
55 | |||
56 | ''; | ||
57 | }; | ||
58 | }; | ||
59 | } | ||
60 | |||
diff --git a/systems/eldiron/pub/default.nix b/systems/eldiron/pub/default.nix new file mode 100644 index 0000000..ca8122a --- /dev/null +++ b/systems/eldiron/pub/default.nix | |||
@@ -0,0 +1,100 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | restrict = pkgs.runCommand "restrict" { | ||
4 | file = ./restrict; | ||
5 | buildInputs = [ pkgs.makeWrapper ]; | ||
6 | } '' | ||
7 | mkdir -p $out/bin | ||
8 | cp $file $out/bin/restrict | ||
9 | chmod a+x $out/bin/restrict | ||
10 | patchShebangs $out/bin/restrict | ||
11 | wrapProgram $out/bin/restrict \ | ||
12 | --prefix PATH : ${lib.makeBinPath [ pkgs.bubblewrap pkgs.rrsync ]} \ | ||
13 | --set TMUX_RESTRICT ${./tmux.restrict.conf} | ||
14 | ''; | ||
15 | in | ||
16 | { | ||
17 | options = { | ||
18 | myServices.pub.enable = lib.mkOption { | ||
19 | type = lib.types.bool; | ||
20 | default = false; | ||
21 | description = '' | ||
22 | Whether to enable pub user. | ||
23 | ''; | ||
24 | }; | ||
25 | myServices.pub.usersProfiles = lib.mkOption { | ||
26 | type = lib.types.attrsOf (lib.types.listOf lib.types.package); | ||
27 | default = {}; | ||
28 | description = '' | ||
29 | specific user profile | ||
30 | ''; | ||
31 | }; | ||
32 | myServices.pub.restrictCommand = lib.mkOption { | ||
33 | type = lib.types.path; | ||
34 | readOnly = true; | ||
35 | default = "${restrict}/bin/restrict"; | ||
36 | description = '' | ||
37 | path to the restrict shell | ||
38 | ''; | ||
39 | }; | ||
40 | }; | ||
41 | |||
42 | config = lib.mkIf config.myServices.pub.enable { | ||
43 | myServices.dns.zones."immae.eu".subdomains.pub = | ||
44 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
45 | |||
46 | myServices.chatonsProperties.services.vm-like = { | ||
47 | file.datetime = "2022-08-22T01:00:00"; | ||
48 | service = { | ||
49 | name = "Comptes shell"; | ||
50 | description = "Compte shell cloisonné"; | ||
51 | logo = "https://www.openssh.com/favicon.ico"; | ||
52 | website = "pub.immae.eu"; | ||
53 | status.level = "OK"; | ||
54 | status.description = "OK"; | ||
55 | registration."" = ["MEMBER" "CLIENT"]; | ||
56 | registration.load = "OPEN"; | ||
57 | install.type = "PACKAGE"; | ||
58 | }; | ||
59 | software = { | ||
60 | name = "Openssh"; | ||
61 | website = "https://www.openssh.com/"; | ||
62 | license.url = "https://github.com/openssh/openssh-portable/blob/master/LICENCE"; | ||
63 | license.name = "BSD Licence"; | ||
64 | version = pkgs.openssh.version; | ||
65 | source.url = "https://github.com/openssh/openssh-portable"; | ||
66 | }; | ||
67 | }; | ||
68 | myServices.ssh.modules.pub = { | ||
69 | snippet = builtins.readFile ./ldap_pub.sh; | ||
70 | dependencies = [ pkgs.coreutils ]; | ||
71 | vars.ldap_forward_group = "cn=forward,cn=pub,ou=services,dc=immae,dc=eu"; | ||
72 | vars.ldap_pub_group = "cn=restrict,cn=pub,ou=services,dc=immae,dc=eu"; | ||
73 | vars.echo_command = "${pkgs.coreutils}/bin/echo"; | ||
74 | vars.restrict_command = "${restrict}/bin/restrict"; | ||
75 | }; | ||
76 | |||
77 | system.extraSystemBuilderCmds = let | ||
78 | toPath = u: paths: pkgs.buildEnv { | ||
79 | name = "${u}-profile"; | ||
80 | inherit paths; | ||
81 | }; | ||
82 | in '' | ||
83 | mkdir -p $out/pub | ||
84 | ${builtins.concatStringsSep "\n" (lib.mapAttrsToList (u: m: "ln -s ${toPath u m} $out/pub/${u}") config.myServices.pub.usersProfiles)} | ||
85 | ''; | ||
86 | users.users.pub = let | ||
87 | in { | ||
88 | createHome = true; | ||
89 | description = "Restricted shell user"; | ||
90 | home = "/var/lib/pub"; | ||
91 | uid = config.myEnv.users.pub.uid; | ||
92 | isNormalUser = true; | ||
93 | group = "nogroup"; | ||
94 | useDefaultShell = true; | ||
95 | packages = [ | ||
96 | pkgs.tmux | ||
97 | ]; | ||
98 | }; | ||
99 | }; | ||
100 | } | ||
diff --git a/systems/eldiron/pub/ldap_pub.sh b/systems/eldiron/pub/ldap_pub.sh new file mode 100644 index 0000000..9f03ffe --- /dev/null +++ b/systems/eldiron/pub/ldap_pub.sh | |||
@@ -0,0 +1,38 @@ | |||
1 | ### This snippet is not standalone and must be integrated in the global ldap_authorized_keys.sh | ||
2 | LDAP_PUB_RESTRICT_MEMBER="@pub_ldap_pub_group@" | ||
3 | LDAP_PUB_FORWARD_MEMBER="@pub_ldap_forward_group@" | ||
4 | ECHO="@pub_echo_command@" | ||
5 | |||
6 | if [[ $user == pub ]]; then | ||
7 | allowed_logins=$(LDAP_BASE=$USER_LDAP_BASE \ | ||
8 | ldap_search '(memberOf='$LDAP_PUB_RESTRICT_MEMBER')' '' \ | ||
9 | | grep ^dn \ | ||
10 | | sed -e "s/^dn: uid=\([^,]*\),.*$USER_LDAP_BASE$/'\1'/" \ | ||
11 | | paste -sd,) | ||
12 | |||
13 | allowed_forwards=$(LDAP_BASE=$USER_LDAP_BASE \ | ||
14 | ldap_search '(memberOf='$LDAP_PUB_FORWARD_MEMBER')' '' \ | ||
15 | | grep ^dn \ | ||
16 | | sed -e "s/^dn: uid=\([^,]*\),.*$USER_LDAP_BASE$/'\1'/" \ | ||
17 | | paste -sd,) | ||
18 | |||
19 | psql_search "SELECT login, key FROM ldap_users_ssh_keys WHERE realm = 'immae' AND 'pub' = ANY(usage) AND login IN ($allowed_logins);" | while IFS='|' read user key; do | ||
20 | if [ ! -z "$key" ]; then | ||
21 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
22 | echo -n 'command="@pub_restrict_command@ '$user'" ' | ||
23 | echo $key | ||
24 | fi | ||
25 | fi | ||
26 | done | ||
27 | |||
28 | psql_search "SELECT login, key FROM ldap_users_ssh_keys WHERE realm = 'immae' AND 'forward' = ANY(usage) AND login IN ($allowed_logins,$allowed_forwards);" | while IFS='|' read user key; do | ||
29 | if [ ! -z "$key" ]; then | ||
30 | if [[ $key != *$'\n'* ]] && [[ $key == ssh-* ]]; then | ||
31 | echo -n 'no-pty,no-X11-forwarding,command="'$ECHO' forward only" ' | ||
32 | echo $key | ||
33 | fi | ||
34 | fi | ||
35 | done | ||
36 | exit 0 | ||
37 | fi | ||
38 | |||
diff --git a/systems/eldiron/pub/restrict b/systems/eldiron/pub/restrict new file mode 100644 index 0000000..698e394 --- /dev/null +++ b/systems/eldiron/pub/restrict | |||
@@ -0,0 +1,71 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | user="$1" | ||
3 | rootuser="$HOME/$user/" | ||
4 | mkdir -p $rootuser | ||
5 | |||
6 | orig="$SSH_ORIGINAL_COMMAND" | ||
7 | if [ -z "$orig" ]; then | ||
8 | orig="/bin/bash -l" | ||
9 | fi | ||
10 | if [ "${orig:0:7}" = "command" ]; then | ||
11 | orig="${orig:8}" | ||
12 | fi | ||
13 | |||
14 | case "$orig" in | ||
15 | rsync*) | ||
16 | rrsync $HOME/$user/ | ||
17 | ;; | ||
18 | *) | ||
19 | nix_store_paths() { | ||
20 | nix-store -q -R \ | ||
21 | /run/current-system/sw \ | ||
22 | /etc/profiles/per-user/pub \ | ||
23 | /etc/ssl/certs/ca-bundle.crt \ | ||
24 | | while read i; do | ||
25 | printf '%s--ro-bind\0'$i'\0'$i'\0' '' | ||
26 | done | ||
27 | if [ -e "/run/current-system/pub/$user" ]; then | ||
28 | nix-store -q -R "/run/current-system/pub/$user" \ | ||
29 | | while read i; do | ||
30 | printf '%s--ro-bind\0'$i'\0'$i'\0' '' | ||
31 | done | ||
32 | printf '%s--ro-bind\0/run/current-system/pub/'$user'/bin\0/bin-pub-'$user'\0' '' | ||
33 | fi | ||
34 | } | ||
35 | |||
36 | set -euo pipefail | ||
37 | (exec -c bwrap --ro-bind /usr /usr \ | ||
38 | --args 10 \ | ||
39 | --dir /tmp \ | ||
40 | --dir /var \ | ||
41 | --symlink ../tmp var/tmp \ | ||
42 | --proc /proc \ | ||
43 | --dev /dev \ | ||
44 | --ro-bind /etc/resolv.conf /etc/resolv.conf \ | ||
45 | --ro-bind /etc/zoneinfo /etc/zoneinfo \ | ||
46 | --ro-bind /etc/ssl /etc/ssl \ | ||
47 | --ro-bind /etc/static/ssl/certs /etc/static/ssl/certs \ | ||
48 | --ro-bind /run/current-system/sw/lib/locale/locale-archive /etc/locale-archive \ | ||
49 | --ro-bind /run/current-system/sw/bin /bin \ | ||
50 | --ro-bind /etc/profiles/per-user/pub/bin /bin-pub \ | ||
51 | --bind /var/lib/pub/$user /var/lib/pub \ | ||
52 | --dir /var/lib/commons \ | ||
53 | --ro-bind $TMUX_RESTRICT /var/lib/commons/tmux.restrict.conf \ | ||
54 | --chdir /var/lib/pub \ | ||
55 | --unshare-all \ | ||
56 | --share-net \ | ||
57 | --dir /run/user/$(id -u) \ | ||
58 | --setenv TERM "$TERM" \ | ||
59 | --setenv LOCALE_ARCHIVE "/etc/locale-archive" \ | ||
60 | --setenv XDG_RUNTIME_DIR "/run/user/`id -u`" \ | ||
61 | --setenv PS1 "$user@pub $ " \ | ||
62 | --setenv PATH "/bin-pub-$user:/bin:/bin-pub" \ | ||
63 | --setenv HOME "/var/lib/pub" \ | ||
64 | --file 11 /etc/passwd \ | ||
65 | --file 12 /etc/group \ | ||
66 | -- $orig) \ | ||
67 | 10< <(nix_store_paths | sort | uniq) \ | ||
68 | 11< <(getent passwd $UID 65534) \ | ||
69 | 12< <(getent group $(id -g) 65534) | ||
70 | ;; | ||
71 | esac | ||
diff --git a/systems/eldiron/pub/tmux.restrict.conf b/systems/eldiron/pub/tmux.restrict.conf new file mode 100644 index 0000000..5aefd1c --- /dev/null +++ b/systems/eldiron/pub/tmux.restrict.conf | |||
@@ -0,0 +1,43 @@ | |||
1 | # Pour les nostalgiques de screen | ||
2 | # comme les raccourcis ne sont pas les mêmes, j'évite | ||
3 | set -g prefix C-a | ||
4 | unbind-key C-b | ||
5 | |||
6 | unbind-key -a | ||
7 | bind-key -n C-h list-keys | ||
8 | bind-key C-d detach | ||
9 | bind-key & confirm-before -p "kill-window #W? (y/n)" kill-window | ||
10 | |||
11 | # même hack que sur screen lorsqu'on veut profiter du scroll du terminal | ||
12 | # (xterm ...) | ||
13 | set -g terminal-overrides 'xterm*:smcup@:rmcup@' | ||
14 | |||
15 | #Pour les ctrl+arrow | ||
16 | set-option -g xterm-keys on | ||
17 | |||
18 | # c'est un minimum (defaut 2000) | ||
19 | set-option -g history-limit 10000 | ||
20 | |||
21 | # lorsque j'ai encore un tmux ailleurs seule | ||
22 | # sa fenetre active réduit la taille de ma fenetre locale | ||
23 | setw -g aggressive-resize on | ||
24 | |||
25 | # Pour etre alerté sur un changement dans une autre fenêtre | ||
26 | setw -g monitor-activity on | ||
27 | #set -g visual-activity on | ||
28 | #set -g visual-bell on | ||
29 | |||
30 | set -g base-index 1 | ||
31 | |||
32 | # repercuter le contenu de la fenetre dans la barre de titre | ||
33 | # reference des string : man tmux (status-left) | ||
34 | set -g set-titles on | ||
35 | set -g set-titles-string '#H #W #T' # host window command | ||
36 | |||
37 | #Dans les valeurs par defaut deja, avec le ssh-agent | ||
38 | set -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY PATH" | ||
39 | |||
40 | set -g status off | ||
41 | set -g status-left '' | ||
42 | set -g status-right '' | ||
43 | |||
diff --git a/systems/eldiron/tasks/default.nix b/systems/eldiron/tasks/default.nix new file mode 100644 index 0000000..0772a5f --- /dev/null +++ b/systems/eldiron/tasks/default.nix | |||
@@ -0,0 +1,384 @@ | |||
1 | { lib, pkgs, config, taskwarrior-web, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.tasks; | ||
4 | server_vardir = config.services.taskserver.dataDir; | ||
5 | fqdn = "task.immae.eu"; | ||
6 | user = config.services.taskserver.user; | ||
7 | env = config.myEnv.tools.task; | ||
8 | group = config.services.taskserver.group; | ||
9 | taskserver-user-certs = pkgs.runCommand "taskserver-user-certs" {} '' | ||
10 | mkdir -p $out/bin | ||
11 | cat > $out/bin/taskserver-user-certs <<"EOF" | ||
12 | #!/usr/bin/env bash | ||
13 | |||
14 | user=$1 | ||
15 | |||
16 | silent_certtool() { | ||
17 | if ! output="$("${pkgs.gnutls.bin}/bin/certtool" "$@" 2>&1)"; then | ||
18 | echo "GNUTLS certtool invocation failed with output:" >&2 | ||
19 | echo "$output" >&2 | ||
20 | fi | ||
21 | } | ||
22 | |||
23 | silent_certtool -p \ | ||
24 | --bits 4096 \ | ||
25 | --outfile "${server_vardir}/userkeys/$user.key.pem" | ||
26 | ${pkgs.gnused}/bin/sed -i -n -e '/^-----BEGIN RSA PRIVATE KEY-----$/,$p' "${server_vardir}/userkeys/$user.key.pem" | ||
27 | |||
28 | silent_certtool -c \ | ||
29 | --template "${pkgs.writeText "taskserver-ca.template" '' | ||
30 | tls_www_client | ||
31 | encryption_key | ||
32 | signing_key | ||
33 | expiration_days = 3650 | ||
34 | ''}" \ | ||
35 | --load-ca-certificate "${server_vardir}/keys/ca.cert" \ | ||
36 | --load-ca-privkey "${server_vardir}/keys/ca.key" \ | ||
37 | --load-privkey "${server_vardir}/userkeys/$user.key.pem" \ | ||
38 | --outfile "${server_vardir}/userkeys/$user.cert.pem" | ||
39 | EOF | ||
40 | chmod a+x $out/bin/taskserver-user-certs | ||
41 | patchShebangs $out/bin/taskserver-user-certs | ||
42 | ''; | ||
43 | socketsDir = "/run/taskwarrior-web"; | ||
44 | varDir = "/var/lib/taskwarrior-web"; | ||
45 | taskwebPages = let | ||
46 | uidPages = lib.attrsets.zipAttrs ( | ||
47 | lib.lists.flatten | ||
48 | (lib.attrsets.mapAttrsToList (k: c: map (v: { "${v}" = k; }) c.uid) env.taskwarrior-web) | ||
49 | ); | ||
50 | pages = lib.attrsets.mapAttrs (uid: items: | ||
51 | if lib.lists.length items == 1 then | ||
52 | '' | ||
53 | <html> | ||
54 | <head> | ||
55 | <meta http-equiv="refresh" content="0; url=/taskweb/${lib.lists.head items}/" /> | ||
56 | </head> | ||
57 | <body></body> | ||
58 | </html> | ||
59 | '' | ||
60 | else | ||
61 | '' | ||
62 | <html> | ||
63 | <head> | ||
64 | <title>To-do list disponibles</title> | ||
65 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
66 | <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
67 | </head> | ||
68 | <body> | ||
69 | <ul> | ||
70 | ${builtins.concatStringsSep "\n" (map (item: "<li><a href='/taskweb/${item}'>${item}</a></li>") items)} | ||
71 | </ul> | ||
72 | </body> | ||
73 | </html> | ||
74 | '' | ||
75 | ) uidPages; | ||
76 | in | ||
77 | pkgs.runCommand "taskwerver-pages" {} '' | ||
78 | mkdir -p $out/ | ||
79 | ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (k: v: "cp ${pkgs.writeText k v} $out/${k}.html") pages)} | ||
80 | echo "Please login" > $out/index.html | ||
81 | ''; | ||
82 | in { | ||
83 | options.myServices.tasks = { | ||
84 | enable = lib.mkEnableOption "my tasks service"; | ||
85 | }; | ||
86 | |||
87 | config = lib.mkIf cfg.enable { | ||
88 | myServices.dns.zones."immae.eu".subdomains.task = | ||
89 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
90 | |||
91 | myServices.chatonsProperties.services.taskwarrior = { | ||
92 | file.datetime = "2022-08-22T00:00:00"; | ||
93 | service = { | ||
94 | name = "Taskwarrior"; | ||
95 | description = "Taskwarrior is Free and Open Source Software that manages your TODO list from the command line. Web interface and synchronization server"; | ||
96 | website = "https://task.immae.eu/"; | ||
97 | logo = "https://taskwarrior.org/favicon.ico"; | ||
98 | status.level = "OK"; | ||
99 | status.description = "OK"; | ||
100 | registration."" = ["MEMBER" "CLIENT"]; | ||
101 | registration.load = "OPEN"; | ||
102 | install.type = "PACKAGE"; | ||
103 | }; | ||
104 | software = { | ||
105 | name = "Taskwarrior"; | ||
106 | website = "https://taskwarrior.org/"; | ||
107 | license.url = "https://github.com/GothenburgBitFactory/taskwarrior/blob/develop/LICENSE"; | ||
108 | license.name = "MIT License"; | ||
109 | version = taskwarrior-web.version; | ||
110 | source.url = "https://taskwarrior.org/download/"; | ||
111 | }; | ||
112 | }; | ||
113 | secrets.keys = { | ||
114 | "webapps/tools-taskwarrior-web" = { | ||
115 | user = "wwwrun"; | ||
116 | group = "wwwrun"; | ||
117 | permissions = "0400"; | ||
118 | text = '' | ||
119 | SetEnv TASKD_HOST "${fqdn}:${toString config.services.taskserver.listenPort}" | ||
120 | SetEnv TASKD_VARDIR "${server_vardir}" | ||
121 | SetEnv TASKD_LDAP_HOST "ldaps://${env.ldap.host}" | ||
122 | SetEnv TASKD_LDAP_DN "${env.ldap.dn}" | ||
123 | SetEnv TASKD_LDAP_PASSWORD "${env.ldap.password}" | ||
124 | SetEnv TASKD_LDAP_BASE "${env.ldap.base}" | ||
125 | SetEnv TASKD_LDAP_FILTER "${env.ldap.filter}" | ||
126 | ''; | ||
127 | }; | ||
128 | } // (lib.mapAttrs' (name: userConfig: lib.nameValuePair "webapps/tools-taskwarrior/${name}-taskrc" ( | ||
129 | let | ||
130 | credentials = "${userConfig.org}/${name}/${userConfig.key}"; | ||
131 | dateFormat = userConfig.date; | ||
132 | cacert = pkgs.writeText "ca.cert" '' | ||
133 | -----BEGIN CERTIFICATE----- | ||
134 | MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw | ||
135 | TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh | ||
136 | cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 | ||
137 | WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu | ||
138 | ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY | ||
139 | MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc | ||
140 | h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ | ||
141 | 0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U | ||
142 | A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW | ||
143 | T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH | ||
144 | B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC | ||
145 | B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv | ||
146 | KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn | ||
147 | OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn | ||
148 | jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw | ||
149 | qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI | ||
150 | rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV | ||
151 | HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq | ||
152 | hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL | ||
153 | ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ | ||
154 | 3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK | ||
155 | NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 | ||
156 | ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur | ||
157 | TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC | ||
158 | jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc | ||
159 | oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq | ||
160 | 4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA | ||
161 | mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d | ||
162 | emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= | ||
163 | -----END CERTIFICATE-----''; | ||
164 | in { | ||
165 | inherit user group; | ||
166 | permissions = "0400"; | ||
167 | text = '' | ||
168 | data.location=${varDir}/${name} | ||
169 | taskd.certificate=${server_vardir}/userkeys/taskwarrior-web.cert.pem | ||
170 | taskd.key=${server_vardir}/userkeys/taskwarrior-web.key.pem | ||
171 | # IdenTrust DST Root CA X3 | ||
172 | # obtained here: https://letsencrypt.org/fr/certificates/ | ||
173 | taskd.ca=${cacert} | ||
174 | taskd.server=${fqdn}:${toString config.services.taskserver.listenPort} | ||
175 | taskd.credentials=${credentials} | ||
176 | dateformat=${dateFormat} | ||
177 | ''; | ||
178 | keyDependencies = [ cacert ]; | ||
179 | })) env.taskwarrior-web); | ||
180 | security.acme.certs.eldiron.extraDomainNames = [ "task.immae.eu" ]; | ||
181 | services.websites.env.tools.watchPaths = [ config.secrets.fullPaths."webapps/tools-taskwarrior-web" ]; | ||
182 | services.websites.env.tools.modules = [ "proxy_fcgi" "sed" ]; | ||
183 | services.websites.env.tools.vhostConfs.task = { | ||
184 | certName = "eldiron"; | ||
185 | hosts = [ "task.immae.eu" ]; | ||
186 | root = ./www; | ||
187 | extraConfig = [ '' | ||
188 | <Directory ${./www}> | ||
189 | DirectoryIndex index.php | ||
190 | Use LDAPConnect | ||
191 | Require ldap-group cn=users,cn=taskwarrior,ou=services,dc=immae,dc=eu | ||
192 | <FilesMatch "\.php$"> | ||
193 | SetHandler "proxy:unix:${config.services.phpfpm.pools.tasks.socket}|fcgi://localhost" | ||
194 | </FilesMatch> | ||
195 | Include ${config.secrets.fullPaths."webapps/tools-taskwarrior-web"} | ||
196 | </Directory> | ||
197 | '' | ||
198 | '' | ||
199 | <Macro Taskwarrior %{folderName}> | ||
200 | ProxyPass "unix://${socketsDir}/%{folderName}.sock|http://localhost-%{folderName}/" | ||
201 | ProxyPassReverse "unix://${socketsDir}/%{folderName}.sock|http://localhost-%{folderName}/" | ||
202 | ProxyPassReverse http://${fqdn}/ | ||
203 | |||
204 | SetOutputFilter Sed | ||
205 | OutputSed "s|/ajax|/taskweb/%{folderName}/ajax|g" | ||
206 | OutputSed "s|\([^x]\)/tasks|\1/taskweb/%{folderName}/tasks|g" | ||
207 | OutputSed "s|\([^x]\)/projects|\1/taskweb/%{folderName}/projects|g" | ||
208 | OutputSed "s|http://${fqdn}/|/taskweb/%{folderName}/|g" | ||
209 | OutputSed "s|/img/relax.jpg|/taskweb/%{folderName}/img/relax.jpg|g" | ||
210 | </Macro> | ||
211 | '' | ||
212 | '' | ||
213 | Alias /taskweb ${taskwebPages} | ||
214 | <Directory "${taskwebPages}"> | ||
215 | DirectoryIndex index.html | ||
216 | Require all granted | ||
217 | </Directory> | ||
218 | |||
219 | RewriteEngine on | ||
220 | RewriteRule ^/taskweb$ /taskweb/ [R=301,L] | ||
221 | RedirectMatch permanent ^/taskweb/([^/]+)$ /taskweb/$1/ | ||
222 | |||
223 | RewriteCond %{LA-U:REMOTE_USER} !="" | ||
224 | RewriteCond ${taskwebPages}/%{LA-U:REMOTE_USER}.html -f | ||
225 | RewriteRule ^/taskweb/?$ ${taskwebPages}/%{LA-U:REMOTE_USER}.html [L] | ||
226 | |||
227 | <Location /taskweb/> | ||
228 | Use LDAPConnect | ||
229 | Require ldap-group cn=users,cn=taskwarrior,ou=services,dc=immae,dc=eu | ||
230 | </Location> | ||
231 | '' | ||
232 | ] ++ (lib.attrsets.mapAttrsToList (k: v: '' | ||
233 | <Location /taskweb/${k}/> | ||
234 | ${builtins.concatStringsSep "\n" (map (uid: "Require ldap-attribute uid=${uid}") v.uid)} | ||
235 | |||
236 | Use Taskwarrior ${k} | ||
237 | </Location> | ||
238 | '') env.taskwarrior-web); | ||
239 | }; | ||
240 | services.phpfpm.pools = { | ||
241 | tasks = { | ||
242 | user = user; | ||
243 | group = group; | ||
244 | settings = { | ||
245 | "listen.owner" = "wwwrun"; | ||
246 | "listen.group" = "wwwrun"; | ||
247 | "pm" = "dynamic"; | ||
248 | "pm.max_children" = "60"; | ||
249 | "pm.start_servers" = "2"; | ||
250 | "pm.min_spare_servers" = "1"; | ||
251 | "pm.max_spare_servers" = "10"; | ||
252 | |||
253 | # Needed to avoid clashes in browser cookies (same domain) | ||
254 | "php_value[session.name]" = "TaskPHPSESSID"; | ||
255 | "php_admin_value[session.save_handler]" = "redis"; | ||
256 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Task:'"; | ||
257 | "php_admin_value[open_basedir]" = "${./www}:/tmp:${server_vardir}:/etc/profiles/per-user/${user}/bin/"; | ||
258 | }; | ||
259 | phpEnv = { | ||
260 | PATH = "/etc/profiles/per-user/${user}/bin"; | ||
261 | }; | ||
262 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.redis ]); | ||
263 | }; | ||
264 | }; | ||
265 | |||
266 | security.acme.certs."task" = { | ||
267 | inherit group; | ||
268 | domain = fqdn; | ||
269 | postRun = '' | ||
270 | systemctl restart taskserver.service | ||
271 | ''; | ||
272 | }; | ||
273 | |||
274 | users.users.${user} = { | ||
275 | extraGroups = [ "keys" ]; | ||
276 | packages = [ taskserver-user-certs ]; | ||
277 | }; | ||
278 | |||
279 | system.activationScripts.taskserver = { | ||
280 | deps = [ "users" ]; | ||
281 | text = '' | ||
282 | install -m 0750 -o ${user} -g ${group} -d ${server_vardir} | ||
283 | install -m 0750 -o ${user} -g ${group} -d ${server_vardir}/userkeys | ||
284 | install -m 0750 -o ${user} -g ${group} -d ${server_vardir}/keys | ||
285 | |||
286 | if [ ! -e "${server_vardir}/keys/ca.key" ]; then | ||
287 | silent_certtool() { | ||
288 | if ! output="$("${pkgs.gnutls.bin}/bin/certtool" "$@" 2>&1)"; then | ||
289 | echo "GNUTLS certtool invocation failed with output:" >&2 | ||
290 | echo "$output" >&2 | ||
291 | fi | ||
292 | } | ||
293 | |||
294 | silent_certtool -p \ | ||
295 | --bits 4096 \ | ||
296 | --outfile "${server_vardir}/keys/ca.key" | ||
297 | |||
298 | silent_certtool -s \ | ||
299 | --template "${pkgs.writeText "taskserver-ca.template" '' | ||
300 | cn = ${fqdn} | ||
301 | expiration_days = -1 | ||
302 | cert_signing_key | ||
303 | ca | ||
304 | ''}" \ | ||
305 | --load-privkey "${server_vardir}/keys/ca.key" \ | ||
306 | --outfile "${server_vardir}/keys/ca.cert" | ||
307 | |||
308 | chown :${group} "${server_vardir}/keys/ca.key" | ||
309 | chmod g+r "${server_vardir}/keys/ca.key" | ||
310 | fi | ||
311 | ''; | ||
312 | }; | ||
313 | |||
314 | services.taskserver = { | ||
315 | enable = true; | ||
316 | allowedClientIDs = [ "^task [2-9]" "^Mirakel [1-9]" ]; | ||
317 | inherit fqdn; | ||
318 | listenHost = "::"; | ||
319 | pki.manual.ca.cert = "${server_vardir}/keys/ca.cert"; | ||
320 | pki.manual.server.cert = "${config.security.acme.certs.task.directory}/fullchain.pem"; | ||
321 | pki.manual.server.crl = "${config.security.acme.certs.task.directory}/invalid.crl"; | ||
322 | pki.manual.server.key = "${config.security.acme.certs.task.directory}/key.pem"; | ||
323 | requestLimit = 104857600; | ||
324 | }; | ||
325 | |||
326 | system.activationScripts.taskwarrior-web = { | ||
327 | deps = [ "users" ]; | ||
328 | text = '' | ||
329 | if [ ! -f ${server_vardir}/userkeys/taskwarrior-web.cert.pem ]; then | ||
330 | ${taskserver-user-certs}/bin/taskserver-user-certs taskwarrior-web | ||
331 | chown taskd:taskd ${server_vardir}/userkeys/taskwarrior-web.cert.pem ${server_vardir}/userkeys/taskwarrior-web.key.pem | ||
332 | fi | ||
333 | ''; | ||
334 | }; | ||
335 | |||
336 | systemd.slices.taskwarrior = { | ||
337 | description = "Taskwarrior slice"; | ||
338 | }; | ||
339 | |||
340 | systemd.services = (lib.attrsets.mapAttrs' (name: userConfig: | ||
341 | lib.attrsets.nameValuePair "taskwarrior-web-${name}" { | ||
342 | description = "Taskwarrior webapp for ${name}"; | ||
343 | wantedBy = [ "multi-user.target" ]; | ||
344 | after = [ "network.target" ]; | ||
345 | path = [ pkgs.taskwarrior ]; | ||
346 | |||
347 | environment.TASKRC = config.secrets.fullPaths."webapps/tools-taskwarrior/${name}-taskrc"; | ||
348 | environment.BUNDLE_PATH = "${taskwarrior-web.gems}/${taskwarrior-web.gems.ruby.gemPath}"; | ||
349 | environment.BUNDLE_GEMFILE = "${taskwarrior-web.gems.confFiles}/Gemfile"; | ||
350 | environment.LC_ALL = "fr_FR.UTF-8"; | ||
351 | |||
352 | script = '' | ||
353 | exec ${taskwarrior-web.gems}/${taskwarrior-web.gems.ruby.gemPath}/bin/bundle exec thin start -R config.ru -S ${socketsDir}/${name}.sock | ||
354 | ''; | ||
355 | |||
356 | serviceConfig = { | ||
357 | Slice = "taskwarrior.slice"; | ||
358 | User = user; | ||
359 | PrivateTmp = true; | ||
360 | Restart = "always"; | ||
361 | TimeoutSec = 60; | ||
362 | Type = "simple"; | ||
363 | WorkingDirectory = taskwarrior-web; | ||
364 | StateDirectoryMode = 0750; | ||
365 | StateDirectory = assert lib.strings.hasPrefix "/var/lib/" varDir; | ||
366 | (lib.strings.removePrefix "/var/lib/" varDir + "/${name}"); | ||
367 | RuntimeDirectoryPreserve = "yes"; | ||
368 | RuntimeDirectory = assert lib.strings.hasPrefix "/run/" socketsDir; | ||
369 | lib.strings.removePrefix "/run/" socketsDir; | ||
370 | }; | ||
371 | |||
372 | unitConfig.RequiresMountsFor = varDir; | ||
373 | }) env.taskwarrior-web) // { | ||
374 | taskserver-ca.postStart = '' | ||
375 | chown :${group} "${server_vardir}/keys/ca.key" | ||
376 | chmod g+r "${server_vardir}/keys/ca.key" | ||
377 | ''; | ||
378 | taskserver-ca.serviceConfig.Slice = "taskwarrior.slice"; | ||
379 | taskserver-init.serviceConfig.Slice = "taskwarrior.slice"; | ||
380 | taskserver.serviceConfig.Slice = "taskwarrior.slice"; | ||
381 | }; | ||
382 | |||
383 | }; | ||
384 | } | ||
diff --git a/systems/eldiron/tasks/www/index.php b/systems/eldiron/tasks/www/index.php new file mode 100644 index 0000000..bde773d --- /dev/null +++ b/systems/eldiron/tasks/www/index.php | |||
@@ -0,0 +1,168 @@ | |||
1 | <?php | ||
2 | if (!isset($_SERVER["REMOTE_USER"])) { | ||
3 | die("please login"); | ||
4 | } | ||
5 | $ldap_user = $_SERVER["REMOTE_USER"]; | ||
6 | $ldap_host = getenv("TASKD_LDAP_HOST"); | ||
7 | $ldap_dn = getenv('TASKD_LDAP_DN'); | ||
8 | $ldap_password = getenv('TASKD_LDAP_PASSWORD'); | ||
9 | $ldap_base = getenv('TASKD_LDAP_BASE'); | ||
10 | $ldap_filter = getenv('TASKD_LDAP_FILTER'); | ||
11 | $host = getenv('TASKD_HOST'); | ||
12 | $vardir = getenv('TASKD_VARDIR'); | ||
13 | |||
14 | $connect = ldap_connect($ldap_host); | ||
15 | ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3); | ||
16 | if (!$connect || !ldap_bind($connect, $ldap_dn, $ldap_password)) { | ||
17 | die("impossible to connect to LDAP"); | ||
18 | } | ||
19 | |||
20 | $search_query = str_replace('%login%', ldap_escape($ldap_user), $ldap_filter); | ||
21 | |||
22 | $search = ldap_search($connect, $ldap_base, $search_query); | ||
23 | $info = ldap_get_entries($connect, $search); | ||
24 | |||
25 | if (ldap_count_entries($connect, $search) != 1) { | ||
26 | die("Impossible to find user in LDAP"); | ||
27 | } | ||
28 | |||
29 | $entries = []; | ||
30 | foreach($info[0]["immaetaskid"] as $key => $value) { | ||
31 | if ($key !== "count") { | ||
32 | $entries[] = explode(":", $value); | ||
33 | } | ||
34 | } | ||
35 | |||
36 | if (isset($_GET["file"])) { | ||
37 | $basecert = $vardir . "/userkeys/" . $ldap_user; | ||
38 | if (!file_exists($basecert . ".cert.pem")) { | ||
39 | exec("taskserver-user-certs $ldap_user"); | ||
40 | } | ||
41 | $certificate = file_get_contents($basecert . ".cert.pem"); | ||
42 | $cert_key = file_get_contents($basecert . ".key.pem"); | ||
43 | |||
44 | // IdenTrust DST Root CA X3 | ||
45 | // obtained here: https://letsencrypt.org/fr/certificates/ | ||
46 | $server_cert = "-----BEGIN CERTIFICATE----- | ||
47 | MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw | ||
48 | TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh | ||
49 | cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 | ||
50 | WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu | ||
51 | ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY | ||
52 | MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc | ||
53 | h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ | ||
54 | 0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U | ||
55 | A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW | ||
56 | T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH | ||
57 | B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC | ||
58 | B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv | ||
59 | KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn | ||
60 | OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn | ||
61 | jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw | ||
62 | qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI | ||
63 | rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV | ||
64 | HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq | ||
65 | hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL | ||
66 | ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ | ||
67 | 3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK | ||
68 | NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 | ||
69 | ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur | ||
70 | TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC | ||
71 | jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc | ||
72 | oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq | ||
73 | 4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA | ||
74 | mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d | ||
75 | emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= | ||
76 | -----END CERTIFICATE-----"; | ||
77 | |||
78 | $file = $_GET["file"]; | ||
79 | switch($file) { | ||
80 | case "ca.cert.pem": | ||
81 | $content = $server_cert; | ||
82 | $name = "ca.cert.pem"; | ||
83 | $type = "application/x-x509-ca-cert"; | ||
84 | break; | ||
85 | case "cert.pem": | ||
86 | $content = $certificate; | ||
87 | $name = $ldap_user . ".cert.pem"; | ||
88 | $type = "application/x-x509-ca-cert"; | ||
89 | break; | ||
90 | case "key.pem": | ||
91 | $content = $cert_key; | ||
92 | $name = $ldap_user . ".key.pem"; | ||
93 | $type = "application/x-x509-ca-cert"; | ||
94 | break; | ||
95 | case "mirakel"; | ||
96 | foreach ($entries as $entry) { | ||
97 | list($org, $user, $key) = $entry; | ||
98 | if ($key == $_GET["key"]) { break; } | ||
99 | } | ||
100 | $name = $user . ".mirakel"; | ||
101 | $type = "text/plain"; | ||
102 | $content = "username: $user | ||
103 | org: $org | ||
104 | user key: $key | ||
105 | server: $host | ||
106 | client.cert: | ||
107 | $certificate | ||
108 | Client.key: | ||
109 | $cert_key | ||
110 | ca.cert: | ||
111 | $server_cert | ||
112 | "; | ||
113 | break; | ||
114 | default: | ||
115 | die("invalid file name"); | ||
116 | break; | ||
117 | } | ||
118 | |||
119 | header("Content-Type: $type"); | ||
120 | header('Content-Disposition: attachment; filename="' . $name . '"'); | ||
121 | header('Content-Transfer-Encoding: binary'); | ||
122 | header('Accept-Ranges: bytes'); | ||
123 | header('Cache-Control: private'); | ||
124 | header('Pragma: private'); | ||
125 | echo $content; | ||
126 | exit; | ||
127 | } | ||
128 | ?> | ||
129 | <html> | ||
130 | <header> | ||
131 | <title>Taskwarrior configuration</title> | ||
132 | </header> | ||
133 | <body> | ||
134 | <ul> | ||
135 | <li><a href="?file=ca.cert.pem">ca.cert.pem</a></li> | ||
136 | <li><a href="?file=cert.pem"><?php echo $ldap_user; ?>.cert.pem</a></li> | ||
137 | <li><a href="?file=key.pem"><?php echo $ldap_user; ?>.key.pem</a></li> | ||
138 | </ul> | ||
139 | For command line interface, download the files, put them near your Taskwarrior | ||
140 | configuration files, and add that to your Taskwarrior configuration: | ||
141 | <pre> | ||
142 | taskd.certificate=/path/to/<?php echo $ldap_user; ?>.cert.pem | ||
143 | taskd.key=/path/to/<?php echo $ldap_user; ?>.key.pem | ||
144 | taskd.server=<?php echo $host ."\n"; ?> | ||
145 | taskd.ca=/path/to/ca.cert.pem | ||
146 | <?php if (count($entries) > 1) { | ||
147 | echo "# Chose one of them\n"; | ||
148 | foreach($entries as $entry) { | ||
149 | list($org, $user, $key) = $entry; | ||
150 | echo "# taskd.credentials=$org/$user/$key\n"; | ||
151 | } | ||
152 | } else { ?> | ||
153 | taskd.credentials=<?php echo $entries[0][0]; ?>/<?php echo $entries[0][1]; ?>/<?php echo $entries[0][2]; ?> | ||
154 | <?php } ?> | ||
155 | </pre> | ||
156 | For Mirakel, download and import the file: | ||
157 | <ul> | ||
158 | <?php | ||
159 | foreach ($entries as $entry) { | ||
160 | list($org, $user, $key) = $entry; | ||
161 | echo '<li><a href="?file=mirakel&key='.$key.'">' . $user . '.mirakel</a></li>'; | ||
162 | } | ||
163 | ?> | ||
164 | </ul> | ||
165 | For Android Taskwarrior app, see instructions <a href="https://bitbucket.org/kvorobyev/taskwarriorandroid/wiki/Configuration">here</a>. | ||
166 | </body> | ||
167 | </html> | ||
168 | |||
diff --git a/systems/eldiron/vpn/default.nix b/systems/eldiron/vpn/default.nix new file mode 100644 index 0000000..df56249 --- /dev/null +++ b/systems/eldiron/vpn/default.nix | |||
@@ -0,0 +1,92 @@ | |||
1 | { config, pkgs, lib, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.vpn; | ||
4 | in | ||
5 | { | ||
6 | options.myServices = { | ||
7 | vpn.enable = lib.mkEnableOption "Enable vpn service"; | ||
8 | }; | ||
9 | |||
10 | config = lib.mkIf cfg.enable { | ||
11 | myServices.dns.zones."immae.eu".subdomains.vpn = with config.myServices.dns.helpers; | ||
12 | ips servers.eldiron.ips.main // { | ||
13 | subdomains.gw.AAAA = [ "${config.myEnv.vpn.eldiron.prefix}:0:ffff:1" ]; | ||
14 | # Fake address to designate the subnet | ||
15 | subdomains.sn.AAAA = [ "${config.myEnv.vpn.eldiron.prefix}::" ]; | ||
16 | }; | ||
17 | myServices.chatonsProperties.hostings.vpn = { | ||
18 | file.datetime = "2022-08-27T18:00:00"; | ||
19 | hosting = { | ||
20 | name = "VPN"; | ||
21 | description = "VPN"; | ||
22 | website = "https://vpn.immae.eu"; | ||
23 | logo = "https://tinc-vpn.org/favicon.ico"; | ||
24 | status.level = "OK"; | ||
25 | status.description = "OK"; | ||
26 | registration.load = "FULL"; | ||
27 | install.type = "PACKAGE"; | ||
28 | }; | ||
29 | software = { | ||
30 | name = "tinc"; | ||
31 | website = "https://tinc-vpn.org/"; | ||
32 | license.url = "https://www.gnu.org/licenses/old-licenses/gpl-2.0.html"; | ||
33 | license.name = "GNU General Public License v2.0"; | ||
34 | version = pkgs.tinc.version; | ||
35 | source.url = "https://tinc-vpn.org/git/browse?p=tinc"; | ||
36 | }; | ||
37 | }; | ||
38 | secrets.keys = { | ||
39 | "tinc/key.priv" = { | ||
40 | user = "root"; | ||
41 | group = "root"; | ||
42 | permissions = "0400"; | ||
43 | text = config.myEnv.vpn.eldiron.privateKey; | ||
44 | }; | ||
45 | "tinc/key.pub" = { | ||
46 | user = "root"; | ||
47 | group = "root"; | ||
48 | permissions = "0400"; | ||
49 | text = config.myEnv.vpn.eldiron.publicKey; | ||
50 | }; | ||
51 | }; | ||
52 | networking.firewall.allowedTCPPorts = [ 655 1194 ]; | ||
53 | system.activationScripts.tinc = let | ||
54 | configFiles = pkgs.runCommand "tinc-files" { | ||
55 | mainInterface = "eth0"; | ||
56 | hostName = "ImmaeEu"; | ||
57 | network = "Immae"; | ||
58 | keyFile = config.secrets.fullPaths."tinc/key.priv"; | ||
59 | } '' | ||
60 | mkdir -p $out | ||
61 | for i in ${./tinc}/*; do | ||
62 | substituteAll $i $out/$(basename $i) | ||
63 | done | ||
64 | ''; | ||
65 | in '' | ||
66 | install -m750 -o root -g root -d /var/lib/tinc/ /var/lib/tinc/Immae | ||
67 | install -m700 -o root -g root -t /var/lib/tinc/Immae ${configFiles}/{host-*,tinc-*} | ||
68 | install -m400 -o root -g root -t /var/lib/tinc/Immae ${configFiles}/tinc.conf | ||
69 | if [ ! -d /var/lib/tinc/Immae/hosts ]; then | ||
70 | ${pkgs.git}/bin/git clone -b master https://git.immae.eu/perso/Immae/Config/tinc/hosts /var/lib/tinc/Immae/hosts | ||
71 | fi | ||
72 | ''; | ||
73 | |||
74 | systemd.slices.tinc = { | ||
75 | description = "Tinc slice"; | ||
76 | }; | ||
77 | |||
78 | systemd.services.tinc-Immae = { | ||
79 | description = "Tinc Daemon - Immae"; | ||
80 | wantedBy = [ "multi-user.target" ]; | ||
81 | after = [ "network.target" ]; | ||
82 | path = [ pkgs.getent pkgs.tinc pkgs.bashInteractive pkgs.iproute pkgs.gnused pkgs.gawk pkgs.git pkgs.glibc ]; | ||
83 | serviceConfig = { | ||
84 | Slice = "tinc.slice"; | ||
85 | Type = "simple"; | ||
86 | Restart = "always"; | ||
87 | RestartSec = "3"; | ||
88 | ExecStart = "${pkgs.tinc}/bin/tincd -d1 -D -c /var/lib/tinc/Immae --pidfile /run/tinc.Immae.pid"; | ||
89 | }; | ||
90 | }; | ||
91 | }; | ||
92 | } | ||
diff --git a/systems/eldiron/vpn/tinc/host-down b/systems/eldiron/vpn/tinc/host-down new file mode 100755 index 0000000..1e79bd3 --- /dev/null +++ b/systems/eldiron/vpn/tinc/host-down | |||
@@ -0,0 +1,7 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | SUBDOMAIN=$(echo "$NODE" | sed -e "s/\([A-Z][a-z0-9]*\)/\L\1 /g;" | awk '{ for (i=NF; i>1; i--) printf("%s.",$i); print $1; }') | ||
4 | NODEIPS=`getent hosts ${SUBDOMAIN}.immae.eu | cut -d' ' -f1 | tr "\\n" ' '` | ||
5 | for NODEIP in $NODEIPS; do | ||
6 | ip neigh del proxy $NODEIP dev @mainInterface@ | ||
7 | done | ||
diff --git a/systems/eldiron/vpn/tinc/host-up b/systems/eldiron/vpn/tinc/host-up new file mode 100755 index 0000000..2f7cee2 --- /dev/null +++ b/systems/eldiron/vpn/tinc/host-up | |||
@@ -0,0 +1,11 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | SUBDOMAIN=$(echo "$NODE" | sed -e "s/\([A-Z][a-z0-9]*\)/\L\1 /g;" | awk '{ for (i=NF; i>1; i--) printf("%s.",$i); print $1; }') | ||
4 | while [ -z "$NODEIPS" ]; do | ||
5 | NODEIPS=`getent hosts ${SUBDOMAIN}.immae.eu | cut -d' ' -f1 | tr "\\n" ' '` | ||
6 | sleep 5 | ||
7 | done | ||
8 | for NODEIP in $NODEIPS; do | ||
9 | ip neigh add proxy $NODEIP dev @mainInterface@ | ||
10 | done | ||
11 | (cd /var/lib/tinc/@network@/hosts && git pull -q origin master) || true | ||
diff --git a/systems/eldiron/vpn/tinc/tinc-down b/systems/eldiron/vpn/tinc/tinc-down new file mode 100755 index 0000000..1cc45c0 --- /dev/null +++ b/systems/eldiron/vpn/tinc/tinc-down | |||
@@ -0,0 +1,12 @@ | |||
1 | #!/bin/sh | ||
2 | # This file closes down the tap device. | ||
3 | |||
4 | echo 0 > /proc/sys/net/ipv6/conf/@mainInterface@/proxy_ndp | ||
5 | echo 0 > /proc/sys/net/ipv6/conf/all/forwarding | ||
6 | |||
7 | GWIP=`getent hosts gw.vpn.immae.eu | head -n1 | cut -d' ' -f1` | ||
8 | |||
9 | ip neigh del proxy $GWIP dev eth0 | ||
10 | |||
11 | ip -6 addr del $GWIP/96 dev $INTERFACE | ||
12 | ip -6 link set $INTERFACE down | ||
diff --git a/systems/eldiron/vpn/tinc/tinc-up b/systems/eldiron/vpn/tinc/tinc-up new file mode 100755 index 0000000..26c1ec3 --- /dev/null +++ b/systems/eldiron/vpn/tinc/tinc-up | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/usr/bin/env bash | ||
2 | |||
3 | echo 1 > /proc/sys/net/ipv6/conf/@mainInterface@/proxy_ndp | ||
4 | echo 1 > /proc/sys/net/ipv6/conf/all/forwarding | ||
5 | |||
6 | SUBNET=`getent hosts sn.vpn.immae.eu | head -n1 | cut -d' ' -f1` | ||
7 | GWIP=`getent hosts gw.vpn.immae.eu | head -n1 | cut -d' ' -f1` | ||
8 | |||
9 | ip -6 link set $INTERFACE up mtu 1280 txqueuelen 1000 | ||
10 | |||
11 | ip -6 addr add $GWIP/96 dev $INTERFACE | ||
12 | ip -6 route add $SUBNET/80 dev $INTERFACE | ||
13 | |||
14 | ip neigh add proxy $GWIP dev @mainInterface@ | ||
diff --git a/systems/eldiron/vpn/tinc/tinc.conf b/systems/eldiron/vpn/tinc/tinc.conf new file mode 100644 index 0000000..7a4f103 --- /dev/null +++ b/systems/eldiron/vpn/tinc/tinc.conf | |||
@@ -0,0 +1,11 @@ | |||
1 | BindToAddress = * 655 | ||
2 | BindToAddress = * 1194 | ||
3 | |||
4 | Name = @hostName@ | ||
5 | Interface = vpn6 | ||
6 | |||
7 | Mode = switch | ||
8 | |||
9 | Device = /dev/net/tun | ||
10 | GraphDumpFile = /var/lib/tinc/@network@/tinc_graph | ||
11 | PrivateKeyFile = @keyFile@ | ||
diff --git a/systems/eldiron/websites/_www/googleb6d69446ff4ca3e5.html b/systems/eldiron/websites/_www/googleb6d69446ff4ca3e5.html new file mode 100644 index 0000000..ff6dbf3 --- /dev/null +++ b/systems/eldiron/websites/_www/googleb6d69446ff4ca3e5.html | |||
@@ -0,0 +1 @@ | |||
google-site-verification: googleb6d69446ff4ca3e5.html \ No newline at end of file | |||
diff --git a/systems/eldiron/websites/_www/index.htm b/systems/eldiron/websites/_www/index.htm new file mode 100644 index 0000000..0274251 --- /dev/null +++ b/systems/eldiron/websites/_www/index.htm | |||
@@ -0,0 +1,9 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Hello World HTML</title> | ||
5 | </head> | ||
6 | <body> | ||
7 | <h1>It works!</h1> | ||
8 | </body> | ||
9 | </html> | ||
diff --git a/systems/eldiron/websites/_www/maintenance_immae.html b/systems/eldiron/websites/_www/maintenance_immae.html new file mode 100644 index 0000000..90f265f --- /dev/null +++ b/systems/eldiron/websites/_www/maintenance_immae.html | |||
@@ -0,0 +1,58 @@ | |||
1 | <!doctype html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Maintenance</title> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
6 | <style> | ||
7 | body { | ||
8 | padding-left: 5px; | ||
9 | padding-right: 5px; | ||
10 | text-align: center; | ||
11 | margin: auto; | ||
12 | font: 20px Helvetica, sans-serif; | ||
13 | color: #333; | ||
14 | } | ||
15 | h1 { | ||
16 | margin: 0px; | ||
17 | font-size: 40px; | ||
18 | } | ||
19 | article { | ||
20 | display: block; | ||
21 | max-width: 650px; | ||
22 | margin: 0 auto; | ||
23 | padding-top: 30px; | ||
24 | } | ||
25 | article + article { | ||
26 | border-top: 1px solid lightgrey; | ||
27 | } | ||
28 | article div { | ||
29 | text-align: justify; | ||
30 | } | ||
31 | a { | ||
32 | color: #dc8100; | ||
33 | text-decoration: none; | ||
34 | } | ||
35 | a:hover { | ||
36 | color: #333; | ||
37 | } | ||
38 | </style> | ||
39 | <script type="text/javascript"> | ||
40 | setTimeout(function () { location.reload(true); }, 5000); | ||
41 | </script> | ||
42 | </head> | ||
43 | <body> | ||
44 | <article> | ||
45 | <h1>Erreur serveur ou maintenance en cours !</h1> | ||
46 | <div> | ||
47 | <p>Une mise à jour ou une opération de maintenance est en cours sur le site. <a href="">Retentez</a> dans quelques instants ou patientez, la page se rechargera automatiquement.</p> | ||
48 | </div> | ||
49 | </article> | ||
50 | |||
51 | <article> | ||
52 | <h1>Server error or website in maintenance!</h1> | ||
53 | <div> | ||
54 | <p>An update or a maintenance is on track on the website. Please try <a href="">again</a> in a few seconds or wait, the page will reload automatically.</p> | ||
55 | </div> | ||
56 | </article> | ||
57 | </body> | ||
58 | </html> | ||
diff --git a/systems/eldiron/websites/_www/nossl.html b/systems/eldiron/websites/_www/nossl.html new file mode 100644 index 0000000..4401a80 --- /dev/null +++ b/systems/eldiron/websites/_www/nossl.html | |||
@@ -0,0 +1,11 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>No SSL site</title> | ||
5 | </head> | ||
6 | <body> | ||
7 | <h1>No SSL on this site</h1> | ||
8 | <p>Use for wifi networks with login page that doesn't work well with | ||
9 | https.</p> | ||
10 | </body> | ||
11 | </html> | ||
diff --git a/systems/eldiron/websites/assets/default.nix b/systems/eldiron/websites/assets/default.nix new file mode 100644 index 0000000..02a4952 --- /dev/null +++ b/systems/eldiron/websites/assets/default.nix | |||
@@ -0,0 +1,98 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.assets; | ||
4 | fetchFont = v: pkgs.runCommand "fetch-font" { | ||
5 | outputHashAlgo = "sha256"; | ||
6 | outputHashMode = "recursive"; | ||
7 | outputHash = v.sha256; | ||
8 | } '' | ||
9 | mkdir -p $out | ||
10 | ${pkgs.curl}/bin/curl -k --output $out/font.css -H "User-Agent: Firefox/100.0" "${v.url}" | ||
11 | cat $out/font.css | grep -o "https://[^ )]*" | while read url; do | ||
12 | filename=$(echo "$url" | sed -e "s@.*/@@g") | ||
13 | ${pkgs.curl}/bin/curl -k --output "$out/$filename" "$url" | ||
14 | sed -i -e "s@$url@./$filename@" "$out/font.css" | ||
15 | done | ||
16 | ''; | ||
17 | fetchTgz = v: pkgs.runCommand "fetch-tgz" { | ||
18 | outputHashAlgo = "sha256"; | ||
19 | outputHashMode = "recursive"; | ||
20 | outputHash = v.sha256; | ||
21 | } '' | ||
22 | mkdir -p $out | ||
23 | cd $out | ||
24 | ${pkgs.curl}/bin/curl -L -k "${v.url}" | tar -xz --strip-components=${builtins.toString v.tgzRemoveComponents} | ||
25 | ''; | ||
26 | fetchAsset = v: | ||
27 | if v.assetType == "googleFont" | ||
28 | then fetchFont v | ||
29 | else if v.assetType == "tgz" | ||
30 | then fetchTgz v | ||
31 | else pkgs.fetchurl { url = v.url; sha256 = v.sha256; }; | ||
32 | assets_urls = lib.mapAttrs (k: fetchAsset) config.myEnv.tools.assets; | ||
33 | assets = pkgs.runCommand "assets" {} ('' | ||
34 | mkdir -p $out | ||
35 | cp -a ${./static}/* $out/ | ||
36 | '' + builtins.concatStringsSep "\n" | ||
37 | (lib.mapAttrsToList (k: v: '' | ||
38 | if [ -d "${v}" ]; then | ||
39 | mkdir -p "$out/$(dirname "${k}")" | ||
40 | cp -a "${v}" "$out/${k}" | ||
41 | chmod -R u+rwX "$out/${k}" | ||
42 | else | ||
43 | install -D -m644 -T "${v}" "$out/${k}" | ||
44 | fi | ||
45 | '') assets_urls)); | ||
46 | in | ||
47 | { | ||
48 | options.myServices.websites.tools.assets = { | ||
49 | enable = lib.mkEnableOption "Enable assets website"; | ||
50 | }; | ||
51 | config = lib.mkIf cfg.enable { | ||
52 | myServices.dns.zones."immae.eu".subdomains.assets = | ||
53 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
54 | |||
55 | services.websites.env.production.bindMounts."/run/imgproxy" = {}; | ||
56 | security.acme.certs.eldiron.extraDomainNames = [ "assets.immae.eu" ]; | ||
57 | services.websites.env.tools.vhostConfs.assets = { | ||
58 | certName = "eldiron"; | ||
59 | hosts = [ "assets.immae.eu" ]; | ||
60 | root = assets; | ||
61 | extraConfig = [ | ||
62 | '' | ||
63 | Use Apaxy "${assets}" "title" | ||
64 | <Directory "${assets}"> | ||
65 | Options Indexes FollowSymlinks | ||
66 | AllowOverride None | ||
67 | Require all granted | ||
68 | Header always set Last-Modified "Tue, 01 Jan 2020 00:00:00 GMT" | ||
69 | Header always set Cache-Control "public, max-age=31536000, immutable" | ||
70 | Header always set Access-Control-Allow-Origin "*" | ||
71 | Header always set Access-Control-Expose-Headers "*" | ||
72 | </Directory> | ||
73 | |||
74 | MergeSlashes OFF | ||
75 | <Location /p> | ||
76 | ProxyPass unix:///run/imgproxy/imgproxy.sock|http://assets.immae.eu | ||
77 | ProxyPassReverse unix:///run/imgproxy/imgproxy.sock|http://assets.immae.eu | ||
78 | </Location> | ||
79 | '' | ||
80 | ]; | ||
81 | }; | ||
82 | systemd.services.imgproxy = { | ||
83 | description = "IMG proxy"; | ||
84 | wantedBy = [ "multi-user.target" ]; | ||
85 | |||
86 | environment = { | ||
87 | IMGPROXY_NETWORK = "unix"; | ||
88 | IMGPROXY_BIND = "%t/imgproxy/imgproxy.sock"; | ||
89 | }; | ||
90 | serviceConfig = { | ||
91 | User = "wwwrun"; | ||
92 | Group = "wwwrun"; | ||
93 | RuntimeDirectory = "imgproxy"; | ||
94 | ExecStart = "${pkgs.imgproxy}/bin/imgproxy"; | ||
95 | }; | ||
96 | }; | ||
97 | }; | ||
98 | } | ||
diff --git a/systems/eldiron/websites/assets/static/favicon.png b/systems/eldiron/websites/assets/static/favicon.png new file mode 100644 index 0000000..1caf5a4 --- /dev/null +++ b/systems/eldiron/websites/assets/static/favicon.png | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/logger.png b/systems/eldiron/websites/assets/static/logger.png new file mode 100644 index 0000000..d9579fb --- /dev/null +++ b/systems/eldiron/websites/assets/static/logger.png | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/logger.txt b/systems/eldiron/websites/assets/static/logger.txt new file mode 100644 index 0000000..50dccc6 --- /dev/null +++ b/systems/eldiron/websites/assets/static/logger.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | Downloaded from https://commons.wikimedia.org/wiki/File:Ghost2.svg | ||
2 | Licence Creative Commons Attribution-Share Alike 4.0 International | ||
3 | https://creativecommons.org/licenses/by-sa/4.0/deed.en | ||
diff --git a/systems/eldiron/websites/assets/static/logo.jpg b/systems/eldiron/websites/assets/static/logo.jpg new file mode 100644 index 0000000..a89172d --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/logo.txt b/systems/eldiron/websites/assets/static/logo.txt new file mode 100644 index 0000000..327e62a --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | size: 2 | ||
2 | dpi: 72 | ||
3 | background: white | ||
4 | plot_type: fullcolor | ||
5 | center: "whole" | ||
6 | whitespace: 0.5 | ||
7 | format: jpg | ||
diff --git a/systems/eldiron/websites/assets/static/logo_big.jpg b/systems/eldiron/websites/assets/static/logo_big.jpg new file mode 100644 index 0000000..45448f2 --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo_big.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/logo_big.txt b/systems/eldiron/websites/assets/static/logo_big.txt new file mode 100644 index 0000000..ce92c09 --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo_big.txt | |||
@@ -0,0 +1,7 @@ | |||
1 | size: 4 | ||
2 | dpi: 72 | ||
3 | background: white | ||
4 | plot_type: fullcolor | ||
5 | center: "whole" | ||
6 | whitespace: 0.5 | ||
7 | format: jpg | ||
diff --git a/systems/eldiron/websites/assets/static/logo_center.jpg b/systems/eldiron/websites/assets/static/logo_center.jpg new file mode 100644 index 0000000..6b177e0 --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo_center.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/logo_center.txt b/systems/eldiron/websites/assets/static/logo_center.txt new file mode 100644 index 0000000..60a8f1c --- /dev/null +++ b/systems/eldiron/websites/assets/static/logo_center.txt | |||
@@ -0,0 +1,8 @@ | |||
1 | size: 4 | ||
2 | dpi: 72 | ||
3 | background: white | ||
4 | plot_type: fullcolor | ||
5 | center: "center" | ||
6 | whitespace: 0.5 | ||
7 | format: jpg | ||
8 | |||
diff --git a/systems/eldiron/websites/assets/static/monitoring.png b/systems/eldiron/websites/assets/static/monitoring.png new file mode 100644 index 0000000..0024fee --- /dev/null +++ b/systems/eldiron/websites/assets/static/monitoring.png | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/monitoring.txt b/systems/eldiron/websites/assets/static/monitoring.txt new file mode 100644 index 0000000..9f3e13a --- /dev/null +++ b/systems/eldiron/websites/assets/static/monitoring.txt | |||
@@ -0,0 +1,3 @@ | |||
1 | Downloaded from https://commons.wikimedia.org/wiki/File:Magnifying_Glass2.svg | ||
2 | Licence Creative Commons CC0 1.0 Universal Public Domain Dedication | ||
3 | https://creativecommons.org/publicdomain/zero/1.0/deed.en | ||
diff --git a/systems/eldiron/websites/assets/static/photos/ct.jpg b/systems/eldiron/websites/assets/static/photos/ct.jpg new file mode 100644 index 0000000..ab7876b --- /dev/null +++ b/systems/eldiron/websites/assets/static/photos/ct.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/photos/fretlink.jpg b/systems/eldiron/websites/assets/static/photos/fretlink.jpg new file mode 100644 index 0000000..c941e1d --- /dev/null +++ b/systems/eldiron/websites/assets/static/photos/fretlink.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/assets/static/photos/raton.jpg b/systems/eldiron/websites/assets/static/photos/raton.jpg new file mode 100644 index 0000000..a859e1c --- /dev/null +++ b/systems/eldiron/websites/assets/static/photos/raton.jpg | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/cloud/add-htaccess.php b/systems/eldiron/websites/cloud/add-htaccess.php new file mode 100644 index 0000000..e11d943 --- /dev/null +++ b/systems/eldiron/websites/cloud/add-htaccess.php | |||
@@ -0,0 +1,70 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace bantu\IniGetWrapper { class IniGetWrapper { } } | ||
4 | namespace Psr\Log { class LoggerInterface { } } | ||
5 | namespace OCP { | ||
6 | class IL10N { } | ||
7 | class Defaults { } | ||
8 | } | ||
9 | namespace OCP\Security { | ||
10 | class ISecureRandom { } | ||
11 | } | ||
12 | namespace OC { | ||
13 | class Installer { } | ||
14 | class SystemConfig { | ||
15 | private $a; | ||
16 | public function __construct($a) { | ||
17 | $this->a = $a; | ||
18 | } | ||
19 | public function getValue($val, $default) { | ||
20 | if(isset($this->a[$val])) { | ||
21 | return $this->a[$val]; | ||
22 | } else { | ||
23 | return $default; | ||
24 | } | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | |||
29 | namespace { | ||
30 | class NServer { | ||
31 | private $argv; | ||
32 | public function __construct($argv) { | ||
33 | $this->argv = $argv; | ||
34 | } | ||
35 | public function getSystemConfig() { | ||
36 | return new OC\SystemConfig(Array( | ||
37 | 'htaccess.RewriteBase' => $this->argv[1], | ||
38 | )); | ||
39 | } | ||
40 | |||
41 | public function get($c) { | ||
42 | return new $c(); | ||
43 | } | ||
44 | public function getL10N() { | ||
45 | return new \OCP\IL10N(); | ||
46 | } | ||
47 | public function query($c) { | ||
48 | return new $c(); | ||
49 | } | ||
50 | public function getSecureRandom() { | ||
51 | return new \OCP\Security\ISecureRandom(); | ||
52 | } | ||
53 | } | ||
54 | |||
55 | class OC { | ||
56 | public static Bool $CLI = false; | ||
57 | public static $SERVERROOT = '.'; | ||
58 | public static $WEBROOT; | ||
59 | public static \NServer $server; | ||
60 | } | ||
61 | |||
62 | \OC::$server = new NServer($argv); | ||
63 | \OC::$WEBROOT = $argv[1]; | ||
64 | |||
65 | require "./lib/private/Setup.php"; | ||
66 | $result = \OC\Setup::updateHtaccess(); | ||
67 | if ($result) { | ||
68 | echo "done"; | ||
69 | }; | ||
70 | } | ||
diff --git a/systems/eldiron/websites/cloud/default.nix b/systems/eldiron/websites/cloud/default.nix new file mode 100644 index 0000000..e1df883 --- /dev/null +++ b/systems/eldiron/websites/cloud/default.nix | |||
@@ -0,0 +1,151 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | ncfg = config.myServices.tools.cloud.farm.instances.immae; | ||
4 | env = config.myEnv.tools.nextcloud; | ||
5 | cfg = config.myServices.websites.tools.cloud; | ||
6 | in { | ||
7 | options.myServices.websites.tools.cloud = { | ||
8 | enable = lib.mkEnableOption "enable cloud website"; | ||
9 | }; | ||
10 | |||
11 | config = lib.mkIf cfg.enable { | ||
12 | myServices.dns.zones."immae.eu".subdomains.cloud = | ||
13 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
14 | |||
15 | myServices.chatonsProperties.hostings.nextcloud = { | ||
16 | file.datetime = "2022-08-21T19:50:00"; | ||
17 | hosting = { | ||
18 | name = "Nextcloud"; | ||
19 | description = "The self-hosted productivity platform that keeps you in control"; | ||
20 | website = "https://cloud.immae.eu/"; | ||
21 | logo = "https://cloud.immae.eu/core/img/favicon.ico"; | ||
22 | type = "INSTANCE"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration.load = "OPEN"; | ||
26 | install.type = "PACKAGE"; | ||
27 | }; | ||
28 | }; | ||
29 | myServices.chatonsProperties.services.nextcloud = { | ||
30 | file.datetime = "2022-08-21T19:50:00"; | ||
31 | service = { | ||
32 | name = "Nextcloud"; | ||
33 | description = "The self-hosted productivity platform that keeps you in control"; | ||
34 | website = "https://cloud.immae.eu/"; | ||
35 | logo = "https://cloud.immae.eu/core/img/favicon.ico"; | ||
36 | status.level = "OK"; | ||
37 | status.description = "OK"; | ||
38 | registration."" = ["MEMBER" "CLIENT"]; | ||
39 | registration.load = "OPEN"; | ||
40 | install.type = "PACKAGE"; | ||
41 | guide.user = "https://www.immae.eu/docs/nextcloud.html"; | ||
42 | }; | ||
43 | software = { | ||
44 | name = "Nextcloud"; | ||
45 | website = "https://nextcloud.com/"; | ||
46 | license.url = "https://github.com/nextcloud/server/blob/master/COPYING"; | ||
47 | license.name = "GNU Affero General Public License v3.0"; | ||
48 | version = ncfg.rootDir.version; | ||
49 | source.url = "https://github.com/nextcloud/server"; | ||
50 | modules = map (a: a.appName) ncfg.rootDir.apps; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | myServices.tools.cloud.farm.instances.immae = { | ||
55 | nextcloud = pkgs.webapps-nextcloud_27.override ({ | ||
56 | # Allow /index.php redirects | ||
57 | postInstall = '' | ||
58 | cd $out | ||
59 | ${pkgs.php81}/bin/php ${./add-htaccess.php} / | ||
60 | ''; | ||
61 | }); | ||
62 | apps = a: [ | ||
63 | a.side_menu a.audioplayer a.bookmarks a.calendar a.carnet a.contacts | ||
64 | a.cookbook a.deck a.extract a.files_markdown a.files_mindmap | ||
65 | a.gpxpod a.keeweb a.maps a.metadata a.music | ||
66 | a.notes a.passman a.polls a.spreed a.tasks | ||
67 | ]; | ||
68 | varDir = "/var/lib/nextcloud"; | ||
69 | secretsPath = "webapps/tools-nextcloud"; | ||
70 | phpPackage = pkgs.php81; | ||
71 | # Be careful when editing that: config from here takes | ||
72 | # precedence over the regular one, but if a key got removed, it my | ||
73 | # still exist in the default config file | ||
74 | config = let | ||
75 | env = config.myEnv.tools.nextcloud; | ||
76 | in { | ||
77 | "dbtype" = "pgsql"; | ||
78 | "dbname" = env.postgresql.database; | ||
79 | "dbhost" = env.postgresql.socket; | ||
80 | "dbport" = ""; | ||
81 | "dbtableprefix" = "oc_"; | ||
82 | "dbuser" = env.postgresql.user; | ||
83 | "dbpassword" = env.postgresql.password; | ||
84 | |||
85 | "instanceid" = env.instance_id; | ||
86 | "passwordsalt" = env.password_salt; | ||
87 | "secret" = env.secret; | ||
88 | |||
89 | "trusted_domains" = [ "cloud.immae.eu" ]; | ||
90 | "overwrite.cli.url" = "https://cloud.immae.eu"; | ||
91 | |||
92 | "lost_password_link" = "disabled"; | ||
93 | |||
94 | "remember_login_cookie_lifetime" = 60*60*24*30; | ||
95 | "session_keepalive" = true; | ||
96 | "session_lifefime" = 60*60*24*30; | ||
97 | |||
98 | "maxZipInputSize" = 0; | ||
99 | "allowZipDownload" = true; | ||
100 | |||
101 | # set by Carnet | ||
102 | "has_rebuilt_cache" = true; | ||
103 | |||
104 | "memcache.distributed" = "\\OC\\Memcache\\Redis"; | ||
105 | "memcache.locking" = "\\OC\\Memcache\\Redis"; | ||
106 | "filelocking.enabled" = true; | ||
107 | "redis" = { | ||
108 | "host" = env.redis.socket; | ||
109 | "port" = 0; | ||
110 | "dbindex" = env.redis.db; | ||
111 | }; | ||
112 | |||
113 | "ldapIgnoreNamingRules" = false; | ||
114 | "ldapProviderFactory" = "\\OCA\\User_LDAP\\LDAPProviderFactory"; | ||
115 | |||
116 | "mail_smtpmode" = "sendmail"; | ||
117 | "mail_smtphost" = "127.0.0.1"; | ||
118 | "mail_smtpname" = ""; | ||
119 | "mail_smtppassword" = ""; | ||
120 | "mail_from_address" = "nextcloud"; | ||
121 | "mail_smtpauth" = false; | ||
122 | "mail_domain" = "tools.immae.eu"; | ||
123 | }; | ||
124 | }; | ||
125 | services.websites.env.tools.modules = [ "proxy_fcgi" ]; | ||
126 | |||
127 | security.acme.certs.eldiron.extraDomainNames = [ "cloud.immae.eu" ]; | ||
128 | services.websites.env.tools.vhostConfs.cloud = { | ||
129 | certName = "eldiron"; | ||
130 | hosts = ["cloud.immae.eu" ]; | ||
131 | root = ncfg.rootDir; | ||
132 | extraConfig = [ | ||
133 | ncfg.vhost | ||
134 | ]; | ||
135 | }; | ||
136 | |||
137 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
138 | myServices.monitoring.fromMasterObjects.service = [ | ||
139 | { | ||
140 | service_description = "owncloud website is running on cloud.immae.eu"; | ||
141 | host_name = config.hostEnv.fqdn; | ||
142 | use = "external-web-service"; | ||
143 | check_command = ["check_https" "cloud.immae.eu" "/" "a safe home for all your data"]; | ||
144 | |||
145 | servicegroups = "webstatus-webapps"; | ||
146 | _webstatus_name = "Nextcloud"; | ||
147 | _webstatus_url = "https://cloud.immae.eu"; | ||
148 | } | ||
149 | ]; | ||
150 | }; | ||
151 | } | ||
diff --git a/systems/eldiron/websites/cloud/farm.nix b/systems/eldiron/websites/cloud/farm.nix new file mode 100644 index 0000000..df24cba --- /dev/null +++ b/systems/eldiron/websites/cloud/farm.nix | |||
@@ -0,0 +1,221 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | scfg = config.secrets.fullPaths; | ||
4 | cfg = config.myServices.tools.cloud.farm; | ||
5 | apacheUser = config.services.websites.env.production.user; | ||
6 | apacheGroup = config.services.websites.env.production.group; | ||
7 | additionalConfs = icfg: lib.attrsets.mapAttrs (n: v: pkgs.writeText "${n}.json" (builtins.toJSON v)) icfg.rootDir.otherConfig; | ||
8 | overrideConfig = icfg: pkgs.writeText "override.config.php" '' | ||
9 | <?php | ||
10 | $CONFIG = json_decode(file_get_contents("${icfg.configOverride}"), TRUE); | ||
11 | ''; | ||
12 | toVhost = icfg: '' | ||
13 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
14 | SetEnv NEXTCLOUD_CONFIG_DIR "${icfg.varDir}/config" | ||
15 | <Directory ${icfg.rootDir}> | ||
16 | AcceptPathInfo On | ||
17 | DirectoryIndex index.php | ||
18 | Options FollowSymlinks | ||
19 | Require all granted | ||
20 | AllowOverride all | ||
21 | |||
22 | <IfModule mod_headers.c> | ||
23 | Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload" | ||
24 | </IfModule> | ||
25 | <FilesMatch "\.php$"> | ||
26 | CGIPassAuth on | ||
27 | SetHandler "proxy:unix:${config.services.phpfpm.pools.${icfg.phpPoolName}.socket}|fcgi://localhost" | ||
28 | </FilesMatch> | ||
29 | |||
30 | </Directory> | ||
31 | ''; | ||
32 | in | ||
33 | { | ||
34 | options.myServices.tools.cloud.farm = { | ||
35 | instances = lib.mkOption { | ||
36 | description = "Instances names for the nextcloud Farm"; | ||
37 | default = {}; | ||
38 | type = lib.types.attrsOf (lib.types.submodule ({ name, config, ... }: { | ||
39 | options = { | ||
40 | nextcloud = lib.mkOption { | ||
41 | description = "Nextcloud version to use"; | ||
42 | default = pkgs.webapps-nextcloud_27; | ||
43 | type = lib.types.package; | ||
44 | }; | ||
45 | apps = lib.mkOption { | ||
46 | description = "Applications to use"; | ||
47 | default = a: []; | ||
48 | #type = functionTo (listOf packages) | ||
49 | type = lib.types.unspecified; | ||
50 | }; | ||
51 | config = lib.mkOption { | ||
52 | description = "Config keys"; | ||
53 | default = {}; | ||
54 | type = lib.types.attrsOf lib.types.unspecified; | ||
55 | }; | ||
56 | secretsPath = lib.mkOption { | ||
57 | description = "Path in secrets to nextcloud config file"; | ||
58 | default = "websites/${name}/nextcloud"; | ||
59 | type = lib.types.str; | ||
60 | }; | ||
61 | configOverride = lib.mkOption { | ||
62 | description = "Path to config override"; | ||
63 | readOnly = true; | ||
64 | default = scfg."${config.secretsPath}"; | ||
65 | type = lib.types.path; | ||
66 | }; | ||
67 | phpPackage = lib.mkOption { | ||
68 | description = "PHP package to use"; | ||
69 | default = pkgs.php81; | ||
70 | type = lib.types.package; | ||
71 | apply = v: (v.withExtensions({ enabled, all }: enabled ++ [ all.redis all.apcu all.opcache all.imagick all.sysvsem ])).override { extraConfig = '' | ||
72 | apc.enable_cli = 1 | ||
73 | apc.enabled = 1 | ||
74 | ''; | ||
75 | }; | ||
76 | }; | ||
77 | rootDir = lib.mkOption { | ||
78 | description = "Instance root dirs"; | ||
79 | readOnly = true; | ||
80 | type = lib.types.package; | ||
81 | default = config.nextcloud.withApps config.apps; | ||
82 | }; | ||
83 | phpPoolName = lib.mkOption { | ||
84 | description = "Php pool name for the instance"; | ||
85 | readOnly = true; | ||
86 | type = lib.types.str; | ||
87 | default = "nextcloud_farm_" + name; | ||
88 | }; | ||
89 | phpBaseDir = lib.mkOption { | ||
90 | description = "Php basedir for the instance"; | ||
91 | readOnly = true; | ||
92 | type = lib.types.str; | ||
93 | default = builtins.concatStringsSep ":" ( | ||
94 | [ config.rootDir config.varDir ] | ||
95 | ++ config.rootDir.apps | ||
96 | ++ [ config.configOverride (overrideConfig config) ] | ||
97 | ++ (builtins.attrValues (additionalConfs config)) | ||
98 | ); | ||
99 | }; | ||
100 | varDir = lib.mkOption { | ||
101 | description = "Instance var dir"; | ||
102 | type = lib.types.path; | ||
103 | default = "/var/lib/nextcloud_farm/${name}"; | ||
104 | }; | ||
105 | vhost = lib.mkOption { | ||
106 | description = "Instance vhost config"; | ||
107 | readOnly = true; | ||
108 | type = lib.types.str; | ||
109 | default = toVhost config; | ||
110 | }; | ||
111 | }; | ||
112 | })); | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | config = lib.mkIf (builtins.length (builtins.attrNames cfg.instances) > 0) { | ||
117 | systemd.services = lib.mapAttrs' (k: v: lib.nameValuePair ("phpfpm-" + v.phpPoolName) { | ||
118 | after = lib.mkAfter [ "postgresql.service" ]; | ||
119 | wants = [ "postgresql.service" ]; | ||
120 | serviceConfig.ExecStartPre = | ||
121 | "+${pkgs.writeScript "phpfpm-nextcloud-${k}-pre-start" '' | ||
122 | #!${pkgs.stdenv.shell} | ||
123 | |||
124 | install -m 0755 -o wwwrun -g wwwrun -d ${v.varDir} -d ${v.varDir}/config | ||
125 | ${builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (n: f: | ||
126 | "ln -sf ${f} ${v.varDir}/config/${n}.json" | ||
127 | ) (additionalConfs v))} | ||
128 | ln -sf ${overrideConfig v} ${v.varDir}/config/override.config.php | ||
129 | ''}"; | ||
130 | }) cfg.instances; | ||
131 | services.phpfpm.pools = lib.mapAttrs' (k: v: lib.nameValuePair v.phpPoolName { | ||
132 | user = apacheUser; | ||
133 | group = apacheGroup; | ||
134 | settings = { | ||
135 | "listen.owner" = apacheUser; | ||
136 | "listen.group" = apacheGroup; | ||
137 | "pm" = "dynamic"; | ||
138 | "pm.max_children" = "60"; | ||
139 | "pm.start_servers" = "3"; | ||
140 | "pm.min_spare_servers" = "3"; | ||
141 | "pm.max_spare_servers" = "3"; | ||
142 | "pm.process_idle_timeout" = "60"; | ||
143 | |||
144 | "php_admin_value[output_buffering]" = "0"; | ||
145 | "php_admin_value[max_execution_time]" = "1800"; | ||
146 | "php_admin_value[zend_extension]" = "opcache"; | ||
147 | "php_value[apc.enable_cli]" = "1"; | ||
148 | "php_value[apc.enabled]" = "1"; | ||
149 | #already enabled by default? | ||
150 | #"php_value[opcache.enable]" = "1"; | ||
151 | "php_value[opcache.enable_cli]" = "1"; | ||
152 | "php_value[opcache.interned_strings_buffer]" = "32"; | ||
153 | "php_value[opcache.max_accelerated_files]" = "10000"; | ||
154 | "php_value[opcache.memory_consumption]" = "128"; | ||
155 | "php_value[opcache.save_comments]" = "1"; | ||
156 | "php_value[opcache.revalidate_freq]" = "1"; | ||
157 | "php_admin_value[memory_limit]" = "512M"; | ||
158 | |||
159 | "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${v.phpBaseDir}:/proc/cpuinfo:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp"; | ||
160 | "php_admin_value[session.save_handler]" = "redis"; | ||
161 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:NextcloudFarm:${k}:'"; | ||
162 | }; | ||
163 | phpPackage = v.phpPackage; | ||
164 | }) cfg.instances; | ||
165 | environment.systemPackages = let | ||
166 | toOcc = name: icfg: pkgs.writeScriptBin "nextcloud-occ-${name}" '' | ||
167 | #! ${pkgs.stdenv.shell} | ||
168 | cd ${icfg.rootDir} | ||
169 | NEXTCLOUD_CONFIG_DIR="${icfg.varDir}/config" \ | ||
170 | exec \ | ||
171 | sudo -E -u wwwrun ${icfg.phpPackage}/bin/php \ | ||
172 | -d memory_limit=512M \ | ||
173 | -c ${icfg.phpPackage}/etc/php.ini \ | ||
174 | occ $* | ||
175 | ''; | ||
176 | in lib.mapAttrsToList toOcc cfg.instances; | ||
177 | services.cron = { | ||
178 | enable = true; | ||
179 | systemCronJobs = let | ||
180 | toScript = name: icfg: pkgs.writeScriptBin "nextcloud-cron" '' | ||
181 | #! ${pkgs.stdenv.shell} | ||
182 | export LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive | ||
183 | export PATH=/run/wrappers/bin:$PATH | ||
184 | export NEXTCLOUD_CONFIG_DIR="${icfg.varDir}/config" | ||
185 | ${icfg.phpPackage}/bin/php -c ${icfg.phpPackage}/etc/php.ini -d memory_limit=512M -f ${icfg.rootDir}/cron.php | ||
186 | ''; | ||
187 | toLine = name: icfg: '' | ||
188 | */5 * * * * wwwrun ${toScript name icfg}/bin/nextcloud-cron | ||
189 | ''; | ||
190 | in lib.mapAttrsToList toLine cfg.instances; | ||
191 | }; | ||
192 | |||
193 | secrets.keys = lib.mapAttrs' (name: v: lib.nameValuePair "${v.secretsPath}" { | ||
194 | user = "wwwrun"; | ||
195 | group = "wwwrun"; | ||
196 | permissions = "0600"; | ||
197 | # Be careful when editing that: config from this file takes | ||
198 | # precedence over the regular one, but if a key got removed, it my | ||
199 | # still exist in the default config file | ||
200 | text = builtins.toJSON ( { | ||
201 | "datadirectory" = if name == "immae" then v.varDir else "${v.varDir}/data"; | ||
202 | |||
203 | "appstoreenabled" = false; | ||
204 | "integrity.check.disabled" = true; | ||
205 | "updater.release.channel" = "stable"; | ||
206 | "upgrade.disable-web" = true; | ||
207 | |||
208 | "memcache.local" = "\\OC\\Memcache\\APCu"; | ||
209 | |||
210 | "htaccess.RewriteBase" = "/"; | ||
211 | |||
212 | "loglevel" = 2; | ||
213 | "logtimezone" = "Europe/Paris"; | ||
214 | |||
215 | "default_phone_region" = "FR"; | ||
216 | "skeletondirectory" = ""; | ||
217 | "theme" = ""; | ||
218 | } // v.config); | ||
219 | }) cfg.instances; | ||
220 | }; | ||
221 | } | ||
diff --git a/systems/eldiron/websites/commento/default.nix b/systems/eldiron/websites/commento/default.nix new file mode 100644 index 0000000..c5131b8 --- /dev/null +++ b/systems/eldiron/websites/commento/default.nix | |||
@@ -0,0 +1,84 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.commento; | ||
4 | env = config.myEnv.tools.commento; | ||
5 | webPort = "${host}:${port}"; | ||
6 | port = toString env.listenPort; | ||
7 | host = "localhost"; | ||
8 | postgresql_url = "postgres://${env.postgresql.user}:${env.postgresql.password}@localhost:${env.postgresql.port}/${env.postgresql.database}?sslmode=disable"; | ||
9 | in | ||
10 | { | ||
11 | options.myServices.websites.tools.commento = { | ||
12 | enable = lib.mkEnableOption "Enable commento website"; | ||
13 | }; | ||
14 | config = lib.mkIf cfg.enable { | ||
15 | myServices.dns.zones."immae.eu".subdomains.commento = | ||
16 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
17 | |||
18 | myServices.chatonsProperties.services.commento = { | ||
19 | file.datetime = "2022-08-21T01:11:00"; | ||
20 | service = { | ||
21 | name = "Commento"; | ||
22 | description = "Commento is a fast, privacy-focused commenting platform"; | ||
23 | website = "https://commento.immae.eu"; | ||
24 | logo = "https://commento.immae.eu/images/logo.svg"; | ||
25 | status.level = "OK"; | ||
26 | status.description = "OK"; | ||
27 | registration."" = ["MEMBER" "CLIENT"]; | ||
28 | registration.load = "OPEN"; | ||
29 | install.type = "PACKAGE"; | ||
30 | }; | ||
31 | software = { | ||
32 | name = "Commento"; | ||
33 | website = "https://www.commento.io/"; | ||
34 | license.url = "https://gitlab.com/commento/commento/-/blob/master/LICENSE"; | ||
35 | license.name = "MIT License"; | ||
36 | version = pkgs.commento.version; | ||
37 | source.url = "https://gitlab.com/commento/commento"; | ||
38 | }; | ||
39 | }; | ||
40 | secrets.keys = { | ||
41 | "commento/env" = { | ||
42 | permissions = "0400"; | ||
43 | text = '' | ||
44 | COMMENTO_ORIGIN=https://commento.immae.eu/ | ||
45 | COMMENTO_PORT=${port} | ||
46 | COMMENTO_POSTGRES=${postgresql_url} | ||
47 | COMMENTO_FORBID_NEW_OWNERS=true | ||
48 | COMMENTO_BIND_ADDRESS=${host} | ||
49 | COMMENTO_GZIP_STATIC=true | ||
50 | COMMENTO_SMTP_HOST=${env.smtp.host} | ||
51 | COMMENTO_SMTP_PORT=${env.smtp.port} | ||
52 | COMMENTO_SMTP_USERNAME=${env.smtp.email} | ||
53 | COMMENTO_SMTP_PASSWORD=${env.smtp.password} | ||
54 | COMMENTO_SMTP_FROM_ADDRESS=${env.smtp.email} | ||
55 | ''; | ||
56 | }; | ||
57 | }; | ||
58 | |||
59 | security.acme.certs.eldiron.extraDomainNames = [ "commento.immae.eu" ]; | ||
60 | services.websites.env.tools.vhostConfs.commento = { | ||
61 | certName = "eldiron"; | ||
62 | hosts = [ "commento.immae.eu" ]; | ||
63 | root = null; | ||
64 | extraConfig = [ | ||
65 | '' | ||
66 | ProxyPass / http://${webPort}/ | ||
67 | ProxyPassReverse / http://${webPort}/ | ||
68 | ProxyPreserveHost On | ||
69 | '' | ||
70 | ]; | ||
71 | }; | ||
72 | systemd.services.commento = { | ||
73 | description = "Commento"; | ||
74 | wantedBy = [ "multi-user.target" ]; | ||
75 | requires = ["postgresql.service"]; | ||
76 | after = ["network.target" "postgresql.service"]; | ||
77 | serviceConfig = { | ||
78 | User = "wwwrun"; | ||
79 | ExecStart = "${pkgs.commento}/commento"; | ||
80 | EnvironmentFile = config.secrets.fullPaths."commento/env"; | ||
81 | }; | ||
82 | }; | ||
83 | }; | ||
84 | } | ||
diff --git a/systems/eldiron/websites/cryptpad/default.nix b/systems/eldiron/websites/cryptpad/default.nix new file mode 100644 index 0000000..4635548 --- /dev/null +++ b/systems/eldiron/websites/cryptpad/default.nix | |||
@@ -0,0 +1,89 @@ | |||
1 | { config, pkgs, lib, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.cryptpad; | ||
4 | envCfg = config.myEnv.tools.cryptpad; | ||
5 | domain = "cryptpad.immae.eu"; | ||
6 | port = envCfg.port; | ||
7 | configFile = pkgs.writeText "config.js" '' | ||
8 | // ${pkgs.cryptpad}/lib/node_modules/cryptpad/config/config.example.js | ||
9 | module.exports = { | ||
10 | httpUnsafeOrigin: 'https://${domain}', | ||
11 | httpPort: ${toString port}, | ||
12 | adminEmail: '${envCfg.email}', | ||
13 | filePath: './datastore/', | ||
14 | archivePath: './data/archive', | ||
15 | pinPath: './data/pins', | ||
16 | taskPath: './data/tasks', | ||
17 | blockPath: './block', | ||
18 | blobPath: './blob', | ||
19 | blobStagingPath: './data/blobstage', | ||
20 | decreePath: './data/decrees', | ||
21 | logPath: './data/logs', | ||
22 | logToStdout: false, | ||
23 | logLevel: 'info', | ||
24 | logFeedback: false, | ||
25 | verbose: false, | ||
26 | inactiveTime: false, | ||
27 | maxUploadSize: 100 * 1024 * 1024, | ||
28 | adminKeys: ${builtins.toJSON envCfg.admins}, | ||
29 | }; | ||
30 | ''; | ||
31 | in | ||
32 | { | ||
33 | options.myServices.websites.tools.cryptpad.enable = lib.mkEnableOption "Enable Cryptpad"; | ||
34 | config = lib.mkIf cfg.enable { | ||
35 | myServices.dns.zones."immae.eu".subdomains.cryptpad = | ||
36 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
37 | |||
38 | myServices.chatonsProperties.hostings.cryptpad = { | ||
39 | file.datetime = "2022-08-21T01:20:00"; | ||
40 | hosting = { | ||
41 | name = "Cryptpad"; | ||
42 | description = "Collaboration suite, encrypted and open-source"; | ||
43 | website = "https://cryptpad.immae.eu/"; | ||
44 | logo = "https://cryptpad.immae.eu/customize/favicon/main-favicon.png"; | ||
45 | type = "INSTANCE"; | ||
46 | status.level = "OK"; | ||
47 | status.description = "OK"; | ||
48 | registration.load = "OPEN"; | ||
49 | install.type = "PACKAGE"; | ||
50 | }; | ||
51 | }; | ||
52 | myServices.chatonsProperties.services.cryptpad = { | ||
53 | file.datetime = "2022-08-21T01:20:00"; | ||
54 | service = { | ||
55 | name = "Cryptpad"; | ||
56 | description = "Collaboration suite, encrypted and open-source"; | ||
57 | website = "https://cryptpad.immae.eu/"; | ||
58 | logo = "https://cryptpad.immae.eu/customize/favicon/main-favicon.png"; | ||
59 | status.level = "OK"; | ||
60 | status.description = "OK"; | ||
61 | registration."" = ["NONE" "FREE" "MEMBER" "CLIENT"]; | ||
62 | registration.load = "OPEN"; | ||
63 | install.type = "PACKAGE"; | ||
64 | }; | ||
65 | software = { | ||
66 | name = "Cryptpad"; | ||
67 | website = "https://cryptpad.org/"; | ||
68 | license.url = "https://github.com/xwiki-labs/cryptpad/blob/main/LICENSE"; | ||
69 | license.name = "GNU Affero General Public License v3.0"; | ||
70 | version = pkgs.cryptpad.version; | ||
71 | source.url = "https://github.com/xwiki-labs/cryptpad"; | ||
72 | }; | ||
73 | }; | ||
74 | myServices.tools.cryptpad.farm.hosts.immaeEu = { | ||
75 | inherit domain port; | ||
76 | config = configFile; | ||
77 | }; | ||
78 | services.websites.env.tools.modules = [ "proxy_wstunnel" ]; | ||
79 | security.acme.certs.eldiron.extraDomainNames = [ domain ]; | ||
80 | services.websites.env.tools.vhostConfs.cryptpad = { | ||
81 | certName = "eldiron"; | ||
82 | hosts = [domain]; | ||
83 | root = config.myServices.tools.cryptpad.farm.vhostRoots.immaeEu; | ||
84 | extraConfig = [ | ||
85 | config.myServices.tools.cryptpad.farm.vhosts.immaeEu | ||
86 | ]; | ||
87 | }; | ||
88 | }; | ||
89 | } | ||
diff --git a/systems/eldiron/websites/cryptpad/farm.nix b/systems/eldiron/websites/cryptpad/farm.nix new file mode 100644 index 0000000..58393ab --- /dev/null +++ b/systems/eldiron/websites/cryptpad/farm.nix | |||
@@ -0,0 +1,186 @@ | |||
1 | { pkgs, config, lib, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.tools.cryptpad.farm; | ||
4 | toService = name: | ||
5 | let | ||
6 | inherit (cfg.hosts.${name}) package config; | ||
7 | in { | ||
8 | description = "Cryptpad ${name} Service"; | ||
9 | wantedBy = [ "multi-user.target" ]; | ||
10 | after = [ "networking.target" ]; | ||
11 | serviceConfig = { | ||
12 | User = "cryptpad"; | ||
13 | Group = "cryptpad"; | ||
14 | Environment = [ | ||
15 | "CRYPTPAD_CONFIG=${config}" | ||
16 | "HOME=%S/cryptpad/${name}" | ||
17 | ]; | ||
18 | ExecStart = "${package}/bin/cryptpad"; | ||
19 | PrivateTmp = true; | ||
20 | Restart = "always"; | ||
21 | StateDirectory = "cryptpad/${name}"; | ||
22 | WorkingDirectory = "%S/cryptpad/${name}"; | ||
23 | }; | ||
24 | }; | ||
25 | toVhostRoot = name: "${cfg.hosts.${name}.package}/lib/node_modules/cryptpad"; | ||
26 | toVhost = name: | ||
27 | let | ||
28 | inherit (cfg.hosts.${name}) package domain port; | ||
29 | api_domain = domain; | ||
30 | files_domain = domain; | ||
31 | in '' | ||
32 | RewriteEngine On | ||
33 | |||
34 | Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" | ||
35 | Header set X-XSS-Protection "1; mode=block" | ||
36 | Header set X-Content-Type-Options "nosniff" | ||
37 | Header set Access-Control-Allow-Origin "*" | ||
38 | Header set Permissions-Policy "interest-cohort=()" | ||
39 | |||
40 | Header set Cross-Origin-Resource-Policy "cross-origin" | ||
41 | <If "%{REQUEST_URI} =~ m#^/(sheet|presentation|doc)/.*$#"> | ||
42 | Header set Cross-Origin-Opener-Policy "same-origin" | ||
43 | </If> | ||
44 | Header set Cross-Origin-Embedder-Policy "require-corp" | ||
45 | |||
46 | ErrorDocument 404 /customize.dist/404.html | ||
47 | |||
48 | <If "%{QUERY_STRING} =~ m#ver=.*?#"> | ||
49 | Header set Cache-Control "max-age=31536000" | ||
50 | </If> | ||
51 | <If "%{REQUEST_URI} =~ m#^/.*(\/|\.html)$#"> | ||
52 | Header set Cache-Control "no-cache" | ||
53 | </If> | ||
54 | |||
55 | SetEnv styleSrc "'unsafe-inline' 'self' ${domain}" | ||
56 | SetEnv connectSrc "'self' https://${domain} ${domain} https://${api_domain} blob: wss://${api_domain} ${api_domain} ${files_domain}" | ||
57 | SetEnv fontSrc "'self' data: ${domain}" | ||
58 | SetEnv imgSrc "'self' data: * blob: ${domain}" | ||
59 | SetEnv frameSrc "'self' blob:" | ||
60 | SetEnv mediaSrc "'self' data: * blob: ${domain}" | ||
61 | SetEnv childSrc "https://${domain}" | ||
62 | SetEnv workerSrc "https://${domain}" | ||
63 | SetEnv scriptSrc "'self' 'unsafe-eval' 'unsafe-inline' resource: ${domain}" | ||
64 | |||
65 | Header set Content-Security-Policy "default-src 'none'; child-src %{childSrc}e; worker-src %{workerSrc}e; media-src %{mediaSrc}e; style-src %{styleSrc}e; script-src %{scriptSrc}e; connect-src %{connectSrc}e; font-src %{fontSrc}e; img-src %{imgSrc}e; frame-src %{frameSrc}e;" | ||
66 | |||
67 | RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC] | ||
68 | RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC] | ||
69 | RewriteRule .* ws://localhost:${toString port}%{REQUEST_URI} [P,NE,QSA,L] | ||
70 | |||
71 | RewriteRule ^/customize/(.*)$ /customize.dist/$1 [L] | ||
72 | |||
73 | ProxyPassMatch "^/(api/(config|broadcast).*)$" "http://localhost:${toString port}/$1" | ||
74 | ProxyPassReverse /api http://localhost:${toString port}/api | ||
75 | ProxyPreserveHost On | ||
76 | RequestHeader set X-Real-IP %{REMOTE_ADDR}s | ||
77 | |||
78 | Alias /blob /var/lib/cryptpad/${name}/blob | ||
79 | <Directory /var/lib/cryptpad/${name}/blob> | ||
80 | Require all granted | ||
81 | AllowOverride None | ||
82 | </Directory> | ||
83 | Alias /block /var/lib/cryptpad/${name}/block | ||
84 | <Directory /var/lib/cryptpad/${name}/block> | ||
85 | Require all granted | ||
86 | AllowOverride None | ||
87 | </Directory> | ||
88 | <LocationMatch /blob/> | ||
89 | Header set Cache-Control "max-age=31536000" | ||
90 | Header set Access-Control-Allow-Origin "*" | ||
91 | Header set Access-Control-Allow-Methods "GET, POST, OPTIONS" | ||
92 | Header set Access-Control-Allow-Headers "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Content-Length" | ||
93 | Header set Access-Control-Expose-Headers "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Content-Length" | ||
94 | |||
95 | RewriteCond %{REQUEST_METHOD} OPTIONS | ||
96 | RewriteRule ^(.*)$ $1 [R=204,L] | ||
97 | </LocationMatch> | ||
98 | |||
99 | <LocationMatch /block/> | ||
100 | Header set Cache-Control "max-age=0" | ||
101 | </locationMatch> | ||
102 | |||
103 | RewriteRule ^/(register|login|settings|user|pad|drive|poll|slide|code|whiteboard|file|media|profile|contacts|todo|filepicker|debug|kanban|sheet|support|admin|notifications|teams|calendar|presentation|doc)$ $1/ [R=302,L] | ||
104 | |||
105 | RewriteCond %{DOCUMENT_ROOT}/www/%{REQUEST_URI} -f | ||
106 | RewriteRule (.*) /www/$1 [L] | ||
107 | |||
108 | RewriteCond %{DOCUMENT_ROOT}/www/%{REQUEST_URI}/index.html -f | ||
109 | RewriteRule (.*) /www/$1/index.html [L] | ||
110 | |||
111 | RewriteCond %{DOCUMENT_ROOT}/customize.dist/%{REQUEST_URI} -f | ||
112 | RewriteRule (.*) /customize.dist/$1 [L] | ||
113 | |||
114 | <Directory ${package}/lib/node_modules/cryptpad/www> | ||
115 | AllowOverride None | ||
116 | Require all granted | ||
117 | DirectoryIndex index.html | ||
118 | </Directory> | ||
119 | <Directory ${package}/lib/node_modules/cryptpad/customize.dist> | ||
120 | AllowOverride None | ||
121 | Require all granted | ||
122 | DirectoryIndex index.html | ||
123 | </Directory> | ||
124 | ''; | ||
125 | in | ||
126 | { | ||
127 | options.myServices.tools.cryptpad.farm = { | ||
128 | hosts = lib.mkOption { | ||
129 | default = {}; | ||
130 | description = "Hosts to install"; | ||
131 | type = lib.types.attrsOf (lib.types.submodule { | ||
132 | options = { | ||
133 | port = lib.mkOption { | ||
134 | type = lib.types.port; | ||
135 | }; | ||
136 | package = lib.mkOption { | ||
137 | type = lib.types.package; | ||
138 | description = "Cryptpad package to use"; | ||
139 | default = pkgs.cryptpad; | ||
140 | }; | ||
141 | domain = lib.mkOption { | ||
142 | type = lib.types.str; | ||
143 | description = "Domain for main host"; | ||
144 | }; | ||
145 | config = lib.mkOption { | ||
146 | type = lib.types.path; | ||
147 | description = "Path to configuration"; | ||
148 | }; | ||
149 | }; | ||
150 | }); | ||
151 | }; | ||
152 | vhosts = lib.mkOption { | ||
153 | description = "Instance vhosts configs"; | ||
154 | readOnly = true; | ||
155 | type = lib.types.attrsOf lib.types.str; | ||
156 | default = lib.genAttrs (builtins.attrNames cfg.hosts) toVhost; | ||
157 | }; | ||
158 | vhostRoots = lib.mkOption { | ||
159 | description = "Instance vhosts document roots"; | ||
160 | readOnly = true; | ||
161 | type = lib.types.attrsOf lib.types.path; | ||
162 | default = lib.genAttrs (builtins.attrNames cfg.hosts) toVhostRoot; | ||
163 | }; | ||
164 | vhostVarDirs = lib.mkOption { | ||
165 | description = "Instance vhosts var dirs"; | ||
166 | readOnly = true; | ||
167 | type = lib.types.attrsOf lib.types.path; | ||
168 | default = lib.genAttrs (builtins.attrNames cfg.hosts) (n: "/var/lib/cryptpad/${n}"); | ||
169 | }; | ||
170 | }; | ||
171 | config = { | ||
172 | users.users = lib.optionalAttrs (cfg.hosts != {}) { | ||
173 | cryptpad = { | ||
174 | uid = config.ids.uids.cryptpad; | ||
175 | group = "cryptpad"; | ||
176 | description = "Cryptpad user"; | ||
177 | }; | ||
178 | }; | ||
179 | users.groups = lib.optionalAttrs (cfg.hosts != {}) { | ||
180 | cryptpad = { | ||
181 | gid = config.ids.gids.cryptpad; | ||
182 | }; | ||
183 | }; | ||
184 | systemd.services = lib.listToAttrs (map (n: lib.nameValuePair "cryptpad-${n}" (toService n)) (builtins.attrNames cfg.hosts)); | ||
185 | }; | ||
186 | } | ||
diff --git a/systems/eldiron/websites/dav/davical.nix b/systems/eldiron/websites/dav/davical.nix new file mode 100644 index 0000000..b418cb8 --- /dev/null +++ b/systems/eldiron/websites/dav/davical.nix | |||
@@ -0,0 +1,128 @@ | |||
1 | { stdenv, fetchurl, gettext, writeText, env, awl, davical, config }: | ||
2 | rec { | ||
3 | keys."webapps/dav-davical" = { | ||
4 | user = apache.user; | ||
5 | group = apache.group; | ||
6 | permissions = "0400"; | ||
7 | text = '' | ||
8 | <?php | ||
9 | $c->pg_connect[] = "dbname=${env.postgresql.database} user=${env.postgresql.user} host=${env.postgresql.socket} password=${env.postgresql.password}"; | ||
10 | |||
11 | $c->readonly_webdav_collections = false; | ||
12 | |||
13 | $c->admin_email ='davical@tools.immae.eu'; | ||
14 | |||
15 | $c->restrict_setup_to_admin = true; | ||
16 | |||
17 | $c->collections_always_exist = false; | ||
18 | |||
19 | $c->external_refresh = 60; | ||
20 | |||
21 | $c->enable_scheduling = true; | ||
22 | |||
23 | $c->iMIP = (object) array("send_email" => true); | ||
24 | |||
25 | $c->authenticate_hook['optional'] = false; | ||
26 | $c->authenticate_hook['call'] = 'LDAP_check'; | ||
27 | $c->authenticate_hook['config'] = array( | ||
28 | 'host' => '${env.ldap.host}', | ||
29 | 'port' => '389', | ||
30 | 'startTLS' => 'yes', | ||
31 | 'bindDN'=> '${env.ldap.dn}', | ||
32 | 'passDN'=> '${env.ldap.password}', | ||
33 | 'protocolVersion' => '3', | ||
34 | 'baseDNUsers'=> array('ou=users,${env.ldap.base}', 'ou=group_users,${env.ldap.base}'), | ||
35 | 'filterUsers' => '${env.ldap.filter}', | ||
36 | 'baseDNGroups' => 'ou=groups,${env.ldap.base}', | ||
37 | 'filterGroups' => 'memberOf=cn=groups,${env.ldap.dn}', | ||
38 | 'mapping_field' => array( | ||
39 | "username" => "uid", | ||
40 | "fullname" => "cn", | ||
41 | "email" => "mail", | ||
42 | "modified" => "modifyTimestamp", | ||
43 | ), | ||
44 | 'format_updated'=> array('Y' => array(0,4),'m' => array(4,2),'d'=> array(6,2),'H' => array(8,2),'M'=>array(10,2),'S' => array(12,2)), | ||
45 | /** used to set default value for all users, will be overcharged by ldap if defined also in mapping_field **/ | ||
46 | // 'default_value' => array("date_format_type" => "E","locale" => "fr_FR"), | ||
47 | 'group_mapping_field' => array( | ||
48 | "username" => "cn", | ||
49 | "updated" => "modifyTimestamp", | ||
50 | "fullname" => "givenName", | ||
51 | "displayname" => "givenName", | ||
52 | "members" => "memberUid", | ||
53 | "email" => "mail", | ||
54 | ), | ||
55 | ); | ||
56 | |||
57 | $c->do_not_sync_from_ldap = array('admin' => true); | ||
58 | include('drivers_ldap.php'); | ||
59 | ''; | ||
60 | }; | ||
61 | webapp = davical.override { davical_config = config.secrets.fullPaths."webapps/dav-davical"; }; | ||
62 | webRoot = "${webapp}/htdocs"; | ||
63 | apache = rec { | ||
64 | user = "wwwrun"; | ||
65 | group = "wwwrun"; | ||
66 | modules = [ "proxy_fcgi" ]; | ||
67 | root = webRoot; | ||
68 | vhostConf = socket: '' | ||
69 | Alias /davical "${root}" | ||
70 | Alias /caldav.php "${root}/caldav.php" | ||
71 | <Directory "${root}"> | ||
72 | DirectoryIndex index.php index.html | ||
73 | AcceptPathInfo On | ||
74 | AllowOverride None | ||
75 | Require all granted | ||
76 | |||
77 | <FilesMatch "\.php$"> | ||
78 | CGIPassAuth on | ||
79 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
80 | </FilesMatch> | ||
81 | |||
82 | RewriteEngine On | ||
83 | <IfModule mod_headers.c> | ||
84 | Header unset Access-Control-Allow-Origin | ||
85 | Header unset Access-Control-Allow-Methods | ||
86 | Header unset Access-Control-Allow-Headers | ||
87 | Header unset Access-Control-Allow-Credentials | ||
88 | Header unset Access-Control-Expose-Headers | ||
89 | |||
90 | Header always set Access-Control-Allow-Origin "*" | ||
91 | Header always set Access-Control-Allow-Methods "GET,POST,OPTIONS,PROPFIND,PROPPATCH,REPORT,PUT,MOVE,DELETE,LOCK,UNLOCK" | ||
92 | Header always set Access-Control-Allow-Headers "User-Agent,Authorization,Content-type,Depth,If-match,If-None-Match,Lock-Token,Timeout,Destination,Overwrite,Prefer,X-client,X-Requested-With" | ||
93 | Header always set Access-Control-Allow-Credentials false | ||
94 | Header always set Access-Control-Expose-Headers "Etag,Preference-Applied" | ||
95 | |||
96 | RewriteCond %{HTTP:Access-Control-Request-Method} !^$ | ||
97 | RewriteCond %{REQUEST_METHOD} OPTIONS | ||
98 | RewriteRule ^(.*)$ $1 [R=200,L] | ||
99 | </IfModule> | ||
100 | </Directory> | ||
101 | ''; | ||
102 | }; | ||
103 | phpFpm = rec { | ||
104 | serviceDeps = [ "postgresql.service" "openldap.service" ]; | ||
105 | basedir = builtins.concatStringsSep ":" [ webapp config.secrets.fullPaths."webapps/dav-davical" awl ]; | ||
106 | pool = { | ||
107 | "listen.owner" = apache.user; | ||
108 | "listen.group" = apache.group; | ||
109 | "pm" = "dynamic"; | ||
110 | "pm.max_children" = "60"; | ||
111 | "pm.start_servers" = "2"; | ||
112 | "pm.min_spare_servers" = "1"; | ||
113 | "pm.max_spare_servers" = "10"; | ||
114 | |||
115 | # Needed to avoid clashes in browser cookies (same domain) | ||
116 | "php_value[session.name]" = "DavicalPHPSESSID"; | ||
117 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
118 | "php_admin_value[include_path]" = "${awl}/inc:${webapp}/inc"; | ||
119 | "php_admin_value[session.save_handler]" = "redis"; | ||
120 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Davical:'"; | ||
121 | "php_flag[magic_quotes_gpc]" = "Off"; | ||
122 | "php_flag[register_globals]" = "Off"; | ||
123 | "php_admin_value[error_reporting]" = "E_ALL & ~E_NOTICE"; | ||
124 | "php_admin_value[default_charset]" = "utf-8"; | ||
125 | "php_flag[magic_quotes_runtime]" = "Off"; | ||
126 | }; | ||
127 | }; | ||
128 | } | ||
diff --git a/systems/eldiron/websites/dav/default.nix b/systems/eldiron/websites/dav/default.nix new file mode 100644 index 0000000..109715d --- /dev/null +++ b/systems/eldiron/websites/dav/default.nix | |||
@@ -0,0 +1,140 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | infcloud = rec { | ||
4 | root = pkgs.webapps-infcloud; | ||
5 | vhostConf = '' | ||
6 | Alias /carddavmate ${root} | ||
7 | Alias /caldavzap ${root} | ||
8 | Alias /infcloud ${root} | ||
9 | <Directory ${root}> | ||
10 | AllowOverride All | ||
11 | Options FollowSymlinks | ||
12 | Require all granted | ||
13 | DirectoryIndex index.html | ||
14 | </Directory> | ||
15 | ''; | ||
16 | }; | ||
17 | davical = pkgs.callPackage ./davical.nix { | ||
18 | env = config.myEnv.tools.davical; | ||
19 | davical = pkgs.webapps-davical; | ||
20 | awl = pkgs.webapps-awl; | ||
21 | inherit config; | ||
22 | }; | ||
23 | |||
24 | cfg = config.myServices.websites.tools.dav; | ||
25 | in { | ||
26 | options.myServices.websites.tools.dav = { | ||
27 | enable = lib.mkEnableOption "enable dav website"; | ||
28 | }; | ||
29 | |||
30 | config = lib.mkIf cfg.enable { | ||
31 | myServices.dns.zones."immae.eu".subdomains.dav = | ||
32 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
33 | |||
34 | myServices.chatonsProperties.services = { | ||
35 | davical = { | ||
36 | file.datetime = "2022-08-21T01:33:00"; | ||
37 | service = { | ||
38 | name = "Davical"; | ||
39 | description = "DAViCal is a server for calendar sharing"; | ||
40 | website = "https://dav.immae.eu"; | ||
41 | logo = "https://www.davical.org/images/logo.gif"; | ||
42 | status.level = "OK"; | ||
43 | status.description = "OK"; | ||
44 | registration."" = ["MEMBER" "CLIENT"]; | ||
45 | registration.load = "OPEN"; | ||
46 | install.type = "PACKAGE"; | ||
47 | }; | ||
48 | software = { | ||
49 | name = "Davical"; | ||
50 | website = "https://www.davical.org/"; | ||
51 | license.url = "https://gitlab.com/davical-project/davical/-/blob/master/COPYING"; | ||
52 | license.name = "GNU General Public License Version 2"; | ||
53 | version = pkgs.webapps-davical.version; | ||
54 | source.url = "https://gitlab.com/davical-project/davical/"; | ||
55 | modules = "infcloud"; | ||
56 | }; | ||
57 | }; | ||
58 | #calendar = { | ||
59 | # file.datetime = "2022-08-22T00:00:00"; | ||
60 | # service = { | ||
61 | # name = "Calendar"; | ||
62 | # description = "Opensource CalDAV web client"; | ||
63 | # website = "https://dav.immae.eu/caldavzap/"; | ||
64 | # logo = "https://dav.immae.eu/caldavzap/images/infcloud_logo.svg"; | ||
65 | # status.level = "OK"; | ||
66 | # status.description = "OK"; | ||
67 | # registration."" = ["MEMBER" "CLIENT"]; | ||
68 | # registration.load = "OPEN"; | ||
69 | # install.type = "PACKAGE"; | ||
70 | # }; | ||
71 | # software = { | ||
72 | # name = "InfCloud"; | ||
73 | # website = "https://inf-it.com/open-source/clients/infcloud/"; | ||
74 | # license.url = "https://www.gnu.org/licenses/agpl-3.0.en.html"; | ||
75 | # license.name = "GNU Affero General Public License (version 3.0)"; | ||
76 | # version = pkgs.webapps-infcloud.version; | ||
77 | # source.url = "https://inf-it.com/open-source/clients/infcloud/"; | ||
78 | # }; | ||
79 | #}; | ||
80 | #contacts = { | ||
81 | # file.datetime = "2022-08-22T00:00:00"; | ||
82 | # service = { | ||
83 | # name = "Contacts"; | ||
84 | # description = "Opensource Carddav web client"; | ||
85 | # website = "https://dav.immae.eu/carddavmate/"; | ||
86 | # logo = "https://dav.immae.eu/caldavzap/images/infcloud_logo.svg"; | ||
87 | # status.level = "OK"; | ||
88 | # status.description = "OK"; | ||
89 | # registration."" = ["MEMBER" "CLIENT"]; | ||
90 | # registration.load = "OPEN"; | ||
91 | # install.type = "PACKAGE"; | ||
92 | # }; | ||
93 | # software = { | ||
94 | # name = "InfCloud"; | ||
95 | # website = "https://inf-it.com/open-source/clients/infcloud/"; | ||
96 | # license.url = "https://www.gnu.org/licenses/agpl-3.0.en.html"; | ||
97 | # license.name = "GNU Affero General Public License (version 3.0)"; | ||
98 | # version = pkgs.webapps-infcloud.version; | ||
99 | # source.url = "https://inf-it.com/open-source/clients/infcloud/"; | ||
100 | # }; | ||
101 | #}; | ||
102 | }; | ||
103 | secrets.keys = davical.keys; | ||
104 | services.websites.env.tools.modules = davical.apache.modules; | ||
105 | |||
106 | security.acme.certs.eldiron.extraDomainNames = [ "dav.immae.eu" ]; | ||
107 | services.websites.env.tools.vhostConfs.dav = { | ||
108 | certName = "eldiron"; | ||
109 | hosts = ["dav.immae.eu" ]; | ||
110 | root = ./www; | ||
111 | extraConfig = [ | ||
112 | infcloud.vhostConf | ||
113 | (davical.apache.vhostConf config.services.phpfpm.pools.davical.socket) | ||
114 | ]; | ||
115 | }; | ||
116 | |||
117 | services.phpfpm.pools = { | ||
118 | davical = { | ||
119 | user = config.services.websites.env.tools.user; | ||
120 | group = config.services.websites.env.tools.group; | ||
121 | settings = davical.phpFpm.pool; | ||
122 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
123 | }; | ||
124 | }; | ||
125 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
126 | myServices.monitoring.fromMasterObjects.service = [ | ||
127 | { | ||
128 | service_description = "davical website is running on dav.immae.eu"; | ||
129 | host_name = config.hostEnv.fqdn; | ||
130 | use = "external-web-service"; | ||
131 | check_command = ["check_https" "dav.immae.eu" "/davical/" "Log On Please"]; | ||
132 | |||
133 | servicegroups = "webstatus-webapps"; | ||
134 | _webstatus_name = "Davical"; | ||
135 | _webstatus_url = "https://dav.immae.eu/davical"; | ||
136 | } | ||
137 | ]; | ||
138 | }; | ||
139 | } | ||
140 | |||
diff --git a/systems/eldiron/websites/dav/www/index.html b/systems/eldiron/websites/dav/www/index.html new file mode 100644 index 0000000..91c25ba --- /dev/null +++ b/systems/eldiron/websites/dav/www/index.html | |||
@@ -0,0 +1,42 @@ | |||
1 | <!doctype html> | ||
2 | <html lang="fr"> | ||
3 | <head> | ||
4 | <meta charset="UTF-8"> | ||
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
6 | <title>Dav configuration</title> | ||
7 | <style type="text/css"> | ||
8 | body { | ||
9 | padding-top: 1em; | ||
10 | padding-left: 5px; | ||
11 | padding-right: 5px; | ||
12 | text-align: left; | ||
13 | margin: auto; | ||
14 | font: 20px Helvetica, sans-serif; | ||
15 | color: #333; | ||
16 | height: 100%; | ||
17 | min-height: 100%; | ||
18 | } | ||
19 | span.code { | ||
20 | font-family: monospace; | ||
21 | } | ||
22 | </style> | ||
23 | </head> | ||
24 | <body> | ||
25 | <p> | ||
26 | Dav configuration: | ||
27 | <ul> | ||
28 | <li>Server: <span class="code">https://dav.immae.eu/caldav.php</span> | ||
29 | </li> | ||
30 | </ul> | ||
31 | </p> | ||
32 | <p>Clients: | ||
33 | <ul> | ||
34 | <li><a href="/infcloud">Infcloud (calendar, address book, todo lists)</a></li> | ||
35 | <li><a href="/carddavmate">Carddavmate (address book)</a></li> | ||
36 | <li><a href="/caldavzap">Caldavzap (calendar, todo lists)</a></li> | ||
37 | <li><a href="/davical">Davical (Manage dav account)</a></li> | ||
38 | </ul> | ||
39 | </p> | ||
40 | </body> | ||
41 | </html> | ||
42 | |||
diff --git a/systems/eldiron/websites/db/default.nix b/systems/eldiron/websites/db/default.nix new file mode 100644 index 0000000..339948f --- /dev/null +++ b/systems/eldiron/websites/db/default.nix | |||
@@ -0,0 +1,32 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.db; | ||
4 | in { | ||
5 | options.myServices.websites.tools.db = { | ||
6 | enable = lib.mkEnableOption "enable database's website"; | ||
7 | }; | ||
8 | |||
9 | config = lib.mkIf cfg.enable { | ||
10 | services.websites.env.tools.modules = [ "proxy_fcgi" ]; | ||
11 | security.acme.certs.eldiron.extraDomainNames = [ "db-1.immae.eu" ]; | ||
12 | services.websites.env.tools.vhostConfs.db-1 = { | ||
13 | certName = "eldiron"; | ||
14 | hosts = ["db-1.immae.eu" ]; | ||
15 | root = null; | ||
16 | extraConfig = [ '' | ||
17 | Alias /adminer ${pkgs.webapps-adminer} | ||
18 | <Directory ${pkgs.webapps-adminer}> | ||
19 | DirectoryIndex index.php | ||
20 | <FilesMatch "\.php$"> | ||
21 | SetHandler "proxy:unix:${config.services.phpfpm.pools.adminer.socket}|fcgi://localhost" | ||
22 | </FilesMatch> | ||
23 | |||
24 | Use LDAPConnect | ||
25 | Require ldap-group cn=users,cn=mysql,cn=pam,ou=services,dc=immae,dc=eu | ||
26 | Require ldap-group cn=users,cn=postgresql,cn=pam,ou=services,dc=immae,dc=eu | ||
27 | </Directory> | ||
28 | '' | ||
29 | ]; | ||
30 | }; | ||
31 | }; | ||
32 | } | ||
diff --git a/systems/eldiron/websites/default.nix b/systems/eldiron/websites/default.nix new file mode 100644 index 0000000..68205de --- /dev/null +++ b/systems/eldiron/websites/default.nix | |||
@@ -0,0 +1,319 @@ | |||
1 | { lib, pkgs, config, mypackages-lib, ... }: | ||
2 | let | ||
3 | www_root = ./_www; | ||
4 | theme_root = (mypackages-lib.apache-theme {}).theme; | ||
5 | apacheConfig = { | ||
6 | shutdownconfig = { | ||
7 | # Only give 5 seconds to workers to finish their work | ||
8 | extraConfig = '' | ||
9 | GracefulShutdownTimeout 5 | ||
10 | ''; | ||
11 | }; | ||
12 | cache = { | ||
13 | # This setting permits to ignore time-based cache for files in the | ||
14 | # nix store: | ||
15 | # If a client requires an If-Modified-Since from timestamp 1, then | ||
16 | # this header is removed, and if the response contains a | ||
17 | # too old Last-Modified tag, then it is removed too | ||
18 | extraConfig = '' | ||
19 | <If "%{HTTP:If-Modified-Since} =~ /01 Jan 1970 00:00:01/" > | ||
20 | RequestHeader unset If-Modified-Since | ||
21 | </If> | ||
22 | Header unset Last-Modified "expr=%{LAST_MODIFIED} < 19991231235959" | ||
23 | ''; | ||
24 | }; | ||
25 | gzip = { | ||
26 | modules = [ "deflate" "filter" ]; | ||
27 | extraConfig = '' | ||
28 | AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript | ||
29 | ''; | ||
30 | }; | ||
31 | macros = { | ||
32 | modules = [ "macro" ]; | ||
33 | }; | ||
34 | stats = { | ||
35 | extraConfig = '' | ||
36 | <Macro Stats %{domain}> | ||
37 | Alias /webstats ${config.services.webstats.dataDir}/%{domain} | ||
38 | <Directory ${config.services.webstats.dataDir}/%{domain}> | ||
39 | DirectoryIndex index.html | ||
40 | AllowOverride None | ||
41 | Require all granted | ||
42 | </Directory> | ||
43 | <Location /webstats> | ||
44 | Use LDAPConnect | ||
45 | Require ldap-group cn=%{domain},ou=stats,cn=httpd,ou=services,dc=immae,dc=eu | ||
46 | </Location> | ||
47 | </Macro> | ||
48 | ''; | ||
49 | }; | ||
50 | ldap = { | ||
51 | modules = [ "ldap" "authnz_ldap" ]; | ||
52 | extraConfig = '' | ||
53 | <IfModule ldap_module> | ||
54 | LDAPSharedCacheSize 500000 | ||
55 | LDAPCacheEntries 1024 | ||
56 | LDAPCacheTTL 600 | ||
57 | LDAPOpCacheEntries 1024 | ||
58 | LDAPOpCacheTTL 600 | ||
59 | </IfModule> | ||
60 | |||
61 | Include ${config.secrets.fullPaths."apache-ldap"} | ||
62 | ''; | ||
63 | }; | ||
64 | global = { | ||
65 | extraConfig = '' | ||
66 | ErrorDocument 500 /maintenance_immae.html | ||
67 | ErrorDocument 501 /maintenance_immae.html | ||
68 | ErrorDocument 502 /maintenance_immae.html | ||
69 | ErrorDocument 503 /maintenance_immae.html | ||
70 | ErrorDocument 504 /maintenance_immae.html | ||
71 | Alias /maintenance_immae.html ${www_root}/maintenance_immae.html | ||
72 | ProxyPass /maintenance_immae.html ! | ||
73 | |||
74 | AliasMatch "(.*)/googleb6d69446ff4ca3e5.html" ${www_root}/googleb6d69446ff4ca3e5.html | ||
75 | <Directory ${www_root}> | ||
76 | AllowOverride None | ||
77 | Require all granted | ||
78 | </Directory> | ||
79 | ''; | ||
80 | }; | ||
81 | apaxy = { | ||
82 | extraConfig = (mypackages-lib.apache-theme { inherit theme_root; }).apacheConfig; | ||
83 | }; | ||
84 | http2 = { | ||
85 | modules = [ "http2" ]; | ||
86 | extraConfig = '' | ||
87 | Protocols h2 http/1.1 | ||
88 | ''; | ||
89 | }; | ||
90 | customLog = { | ||
91 | extraConfig = '' | ||
92 | LogFormat "%{Host}i:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedVhost | ||
93 | ''; | ||
94 | }; | ||
95 | }; | ||
96 | makeModules = lib.lists.flatten (lib.attrsets.mapAttrsToList (n: v: v.modules or []) apacheConfig); | ||
97 | makeExtraConfig = (builtins.filter (x: x != null) (lib.attrsets.mapAttrsToList (n: v: v.extraConfig or null) apacheConfig)); | ||
98 | moomin = let | ||
99 | lines = lib.splitString "\n" (lib.fileContents ./moomin.txt); | ||
100 | pad = width: str: let | ||
101 | padWidth = width - lib.stringLength str; | ||
102 | padding = lib.concatStrings (lib.genList (lib.const "0") padWidth); | ||
103 | in lib.optionalString (padWidth > 0) padding + str; | ||
104 | in | ||
105 | lib.imap0 (i: e: ''Header always set "X-Moomin-${pad 2 (builtins.toString i)}" "${e}"'') lines; | ||
106 | in | ||
107 | { | ||
108 | imports = [ | ||
109 | ./immae/production.nix | ||
110 | ./immae/release.nix | ||
111 | |||
112 | # Tools | ||
113 | ./assets | ||
114 | ./cloud | ||
115 | ./cloud/farm.nix | ||
116 | ./cryptpad | ||
117 | ./cryptpad/farm.nix | ||
118 | ./commento | ||
119 | ./dav | ||
120 | ./vpn | ||
121 | ./db | ||
122 | ./diaspora | ||
123 | ./ether | ||
124 | ./git | ||
125 | ./im | ||
126 | ./mastodon | ||
127 | ./mgoblin | ||
128 | ./peertube | ||
129 | ./performance | ||
130 | ./tools | ||
131 | |||
132 | ./stats | ||
133 | ./visio | ||
134 | ./kanboard/farm.nix | ||
135 | |||
136 | # Games | ||
137 | ./games/codenames | ||
138 | ./games/terraforming-mars | ||
139 | ]; | ||
140 | |||
141 | options.myServices.websites.enable = lib.mkEnableOption "enable websites"; | ||
142 | |||
143 | config = lib.mkIf config.myServices.websites.enable { | ||
144 | myServices.dns.zones."immae.eu".subdomains = with config.myServices.dns.helpers; | ||
145 | { | ||
146 | games = ips servers.eldiron.ips.main; | ||
147 | nossl = ips servers.eldiron.ips.main; | ||
148 | }; | ||
149 | |||
150 | myServices.chatonsProperties.hostings.web = { | ||
151 | file.datetime = "2022-08-22T01:30:00"; | ||
152 | hosting = { | ||
153 | name = "Hébergement Web"; | ||
154 | description = "Service d'hébergement web avec php/mysql/postgresql"; | ||
155 | website = "https://www.immae.eu"; | ||
156 | status.level = "OK"; | ||
157 | status.description = "OK"; | ||
158 | registration.load = "OPEN"; | ||
159 | install.type = "PACKAGE"; | ||
160 | }; | ||
161 | software = { | ||
162 | name = "Apache Httpd"; | ||
163 | website = "https://httpd.apache.org/"; | ||
164 | license.url = "https://www.apache.org/licenses/"; | ||
165 | license.name = "Apache License Version 2"; | ||
166 | version = pkgs.apacheHttpd.version; | ||
167 | source.url = "https://httpd.apache.org/download.cgi"; | ||
168 | modules = "openssh,pure-ftpd"; | ||
169 | }; | ||
170 | }; | ||
171 | users.users.wwwrun.extraGroups = [ "keys" ]; | ||
172 | networking.firewall.allowedTCPPorts = [ 80 443 ]; | ||
173 | |||
174 | secrets.keys."apache-ldap" = { | ||
175 | user = "wwwrun"; | ||
176 | group = "wwwrun"; | ||
177 | permissions = "0400"; | ||
178 | text = '' | ||
179 | <Macro LDAPConnect> | ||
180 | <IfModule authnz_ldap_module> | ||
181 | AuthLDAPURL ldap://ldap.immae.eu:389/dc=immae,dc=eu STARTTLS | ||
182 | AuthLDAPBindDN cn=httpd,ou=services,dc=immae,dc=eu | ||
183 | AuthLDAPBindPassword "${config.myEnv.httpd.ldap.password}" | ||
184 | AuthType Basic | ||
185 | AuthName "Authentification requise (Acces LDAP)" | ||
186 | AuthBasicProvider ldap | ||
187 | </IfModule> | ||
188 | </Macro> | ||
189 | ''; | ||
190 | }; | ||
191 | |||
192 | system.activationScripts = { | ||
193 | httpd = '' | ||
194 | install -d -m 0755 /var/lib/acme/acme-challenges | ||
195 | install -d -m 0750 -o wwwrun -g wwwrun /var/lib/php/sessions | ||
196 | ''; | ||
197 | }; | ||
198 | |||
199 | services.phpfpm = { | ||
200 | phpOptions = '' | ||
201 | session.save_path = "/var/lib/php/sessions" | ||
202 | post_max_size = 20M | ||
203 | ; 15 days (seconds) | ||
204 | session.gc_maxlifetime = 1296000 | ||
205 | ; 30 days (minutes) | ||
206 | session.cache_expire = 43200 | ||
207 | ''; | ||
208 | settings = { | ||
209 | log_level = "notice"; | ||
210 | }; | ||
211 | }; | ||
212 | |||
213 | services.websites.env.production = { | ||
214 | enable = true; | ||
215 | moduleType = "container"; | ||
216 | adminAddr = "httpd@immae.eu"; | ||
217 | bindMounts."/var/lib/ftp" = {}; | ||
218 | # FIXME: Bind directly the needed files | ||
219 | bindMounts."/var/secrets" = {}; | ||
220 | bindMounts."/var/lib/goaccess" = {}; | ||
221 | bindMounts."/var/lib/acme" = {}; | ||
222 | bindMounts."/run/phpfpm" = {}; | ||
223 | ips = | ||
224 | let ips = config.myEnv.servers.eldiron.ips.production; | ||
225 | in (ips.ip4 or []) ++ (ips.ip6 or []); | ||
226 | modules = makeModules; | ||
227 | extraConfig = makeExtraConfig; | ||
228 | fallbackVhost = { | ||
229 | certName = "eldiron"; | ||
230 | hosts = ["eldiron.immae.eu" ]; | ||
231 | root = www_root; | ||
232 | extraConfig = [ "DirectoryIndex index.htm" ]; | ||
233 | }; | ||
234 | }; | ||
235 | |||
236 | services.websites.env.integration = { | ||
237 | enable = true; | ||
238 | moduleType = "container"; | ||
239 | adminAddr = "httpd@immae.eu"; | ||
240 | bindMounts."/var/lib/ftp" = {}; | ||
241 | bindMounts."/var/secrets" = {}; | ||
242 | bindMounts."/var/lib/goaccess" = {}; | ||
243 | bindMounts."/var/lib/acme" = {}; | ||
244 | bindMounts."/run/phpfpm" = {}; | ||
245 | ips = | ||
246 | let ips = config.myEnv.servers.eldiron.ips.integration; | ||
247 | in (ips.ip4 or []) ++ (ips.ip6 or []); | ||
248 | modules = makeModules; | ||
249 | extraConfig = makeExtraConfig ++ moomin; | ||
250 | fallbackVhost = { | ||
251 | certName = "integration"; | ||
252 | hosts = ["eldiron.immae.eu" ]; | ||
253 | root = www_root; | ||
254 | extraConfig = [ "DirectoryIndex index.htm" ]; | ||
255 | }; | ||
256 | watchPaths = [ config.secrets.fullPaths."apache-ldap" ]; | ||
257 | }; | ||
258 | |||
259 | services.websites.env.tools = { | ||
260 | enable = true; | ||
261 | moduleType = "main"; | ||
262 | adminAddr = "httpd@immae.eu"; | ||
263 | ips = | ||
264 | let ips = config.myEnv.servers.eldiron.ips.main; | ||
265 | in (ips.ip4 or []) ++ (ips.ip6 or []); | ||
266 | modules = makeModules; | ||
267 | extraConfig = makeExtraConfig ++ | ||
268 | [ '' | ||
269 | RedirectMatch ^/licen[cs]es?_et_tip(ping)?$ https://www.immae.eu/licences_et_tip.html | ||
270 | RedirectMatch ^/licen[cs]es?_and_tip(ping)?$ https://www.immae.eu/licenses_and_tipping.html | ||
271 | RedirectMatch ^/licen[cs]es?$ https://www.immae.eu/licenses_and_tipping.html | ||
272 | RedirectMatch ^/tip(ping)?$ https://www.immae.eu/licenses_and_tipping.html | ||
273 | RedirectMatch ^/(mentions|mentions_legales|legal)$ https://www.immae.eu/mentions.html | ||
274 | RedirectMatch ^/CGU$ https://www.immae.eu/CGU | ||
275 | '' | ||
276 | ]; | ||
277 | nosslVhost = { | ||
278 | enable = true; | ||
279 | host = "nossl.immae.eu"; | ||
280 | root = ./nossl; | ||
281 | }; | ||
282 | fallbackVhost = { | ||
283 | certName = "eldiron"; | ||
284 | hosts = ["eldiron.immae.eu" ]; | ||
285 | root = www_root; | ||
286 | extraConfig = [ "DirectoryIndex index.htm" ]; | ||
287 | }; | ||
288 | watchPaths = [ config.secrets.fullPaths."apache-ldap" ]; | ||
289 | }; | ||
290 | |||
291 | myServices.websites = { | ||
292 | immae = { | ||
293 | production.enable = true; | ||
294 | release.enable = true; | ||
295 | }; | ||
296 | |||
297 | tools.assets.enable = true; | ||
298 | tools.cloud.enable = true; | ||
299 | tools.commento.enable = true; | ||
300 | tools.cryptpad.enable = true; | ||
301 | tools.dav.enable = true; | ||
302 | tools.db.enable = true; | ||
303 | tools.diaspora.enable = true; | ||
304 | tools.etherpad-lite.enable = true; | ||
305 | tools.git.enable = true; | ||
306 | tools.mastodon.enable = true; | ||
307 | tools.mediagoblin.enable = true; | ||
308 | tools.peertube.enable = true; | ||
309 | tools.performance.enable = true; | ||
310 | tools.tools.enable = true; | ||
311 | tools.email.enable = true; | ||
312 | tools.stats.enable = false; | ||
313 | tools.visio.enable = true; | ||
314 | |||
315 | games.codenames.enable = true; | ||
316 | games.terraforming-mars.enable = true; | ||
317 | }; | ||
318 | }; | ||
319 | } | ||
diff --git a/systems/eldiron/websites/diaspora/default.nix b/systems/eldiron/websites/diaspora/default.nix new file mode 100644 index 0000000..c536446 --- /dev/null +++ b/systems/eldiron/websites/diaspora/default.nix | |||
@@ -0,0 +1,224 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.diaspora; | ||
4 | root = "${dcfg.workdir}/public/"; | ||
5 | cfg = config.myServices.websites.tools.diaspora; | ||
6 | dcfg = config.services.diaspora; | ||
7 | in { | ||
8 | options.myServices.websites.tools.diaspora = { | ||
9 | enable = lib.mkEnableOption "enable diaspora's website"; | ||
10 | }; | ||
11 | |||
12 | config = lib.mkIf cfg.enable { | ||
13 | myServices.dns.zones."immae.eu".subdomains.diaspora = | ||
14 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
15 | |||
16 | myServices.chatonsProperties.services.diaspora = { | ||
17 | file.datetime = "2022-08-21T01:39:00"; | ||
18 | service = { | ||
19 | name = "Diaspora"; | ||
20 | description = "The online social world where you are in control"; | ||
21 | website = "https://diaspora.immae.eu"; | ||
22 | logo = "https://diaspora.immae.eu/assets/apple-touch-icon-9f7c9cc3923b4817fbb25bfeb0dd5fd34638827fd9c82b5a03f7b68e6e90806f.png"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration."" = ["MEMBER" "CLIENT"]; | ||
26 | registration.load = "OPEN"; | ||
27 | install.type = "PACKAGE"; | ||
28 | }; | ||
29 | software = { | ||
30 | name = "Diaspora*"; | ||
31 | website = "https://diasporafoundation.org/"; | ||
32 | license.url = "https://github.com/diaspora/diaspora/blob/develop/LICENSE"; | ||
33 | license.name = "GNU Affero General Public License v3.0"; | ||
34 | version = dcfg.package.version; | ||
35 | source.url = "https://github.com/diaspora/diaspora"; | ||
36 | }; | ||
37 | }; | ||
38 | users.users.diaspora.extraGroups = [ "keys" ]; | ||
39 | |||
40 | secrets.keys = { | ||
41 | "webapps/diaspora" = { | ||
42 | isDir = true; | ||
43 | user = "diaspora"; | ||
44 | group = "diaspora"; | ||
45 | permissions = "0500"; | ||
46 | }; | ||
47 | "webapps/diaspora/diaspora.yml" = { | ||
48 | user = "diaspora"; | ||
49 | group = "diaspora"; | ||
50 | permissions = "0400"; | ||
51 | keyDependencies = [ pkgs.cacert ]; | ||
52 | text = '' | ||
53 | configuration: | ||
54 | environment: | ||
55 | url: "https://diaspora.immae.eu/" | ||
56 | certificate_authorities: '${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt' | ||
57 | redis: 'redis://${env.redis.host}:${env.redis.port}/${env.redis.db}' | ||
58 | sidekiq: | ||
59 | s3: | ||
60 | assets: | ||
61 | logging: | ||
62 | logrotate: | ||
63 | debug: | ||
64 | server: | ||
65 | listen: '${dcfg.sockets.rails}' | ||
66 | rails_environment: 'production' | ||
67 | chat: | ||
68 | server: | ||
69 | bosh: | ||
70 | log: | ||
71 | map: | ||
72 | mapbox: | ||
73 | privacy: | ||
74 | piwik: | ||
75 | statistics: | ||
76 | camo: | ||
77 | settings: | ||
78 | enable_registrations: false | ||
79 | welcome_message: | ||
80 | invitations: | ||
81 | open: false | ||
82 | paypal_donations: | ||
83 | community_spotlight: | ||
84 | captcha: | ||
85 | enable: false | ||
86 | terms: | ||
87 | maintenance: | ||
88 | remove_old_users: | ||
89 | default_metas: | ||
90 | csp: | ||
91 | services: | ||
92 | twitter: | ||
93 | tumblr: | ||
94 | wordpress: | ||
95 | mail: | ||
96 | enable: true | ||
97 | sender_address: 'diaspora@tools.immae.eu' | ||
98 | method: 'sendmail' | ||
99 | smtp: | ||
100 | sendmail: | ||
101 | location: '/run/wrappers/bin/sendmail' | ||
102 | admins: | ||
103 | account: "ismael" | ||
104 | podmin_email: 'diaspora@tools.immae.eu' | ||
105 | relay: | ||
106 | outbound: | ||
107 | inbound: | ||
108 | ldap: | ||
109 | enable: true | ||
110 | host: ${env.ldap.host} | ||
111 | port: 636 | ||
112 | only_ldap: true | ||
113 | mail_attribute: mail | ||
114 | skip_email_confirmation: true | ||
115 | use_bind_dn: true | ||
116 | bind_dn: "${env.ldap.dn}" | ||
117 | bind_pw: "${env.ldap.password}" | ||
118 | search_base: "${env.ldap.base}" | ||
119 | search_filter: "${env.ldap.filter}" | ||
120 | production: | ||
121 | environment: | ||
122 | development: | ||
123 | environment: | ||
124 | ''; | ||
125 | }; | ||
126 | "webapps/diaspora/database.yml" = { | ||
127 | user = "diaspora"; | ||
128 | group = "diaspora"; | ||
129 | permissions = "0400"; | ||
130 | text = '' | ||
131 | postgresql: &postgresql | ||
132 | adapter: postgresql | ||
133 | host: "${env.postgresql.socket}" | ||
134 | port: "${env.postgresql.port}" | ||
135 | username: "${env.postgresql.user}" | ||
136 | password: "${env.postgresql.password}" | ||
137 | encoding: unicode | ||
138 | common: &common | ||
139 | <<: *postgresql | ||
140 | combined: &combined | ||
141 | <<: *common | ||
142 | development: | ||
143 | <<: *combined | ||
144 | database: diaspora_development | ||
145 | production: | ||
146 | <<: *combined | ||
147 | database: ${env.postgresql.database} | ||
148 | test: | ||
149 | <<: *combined | ||
150 | database: "diaspora_test" | ||
151 | integration1: | ||
152 | <<: *combined | ||
153 | database: diaspora_integration1 | ||
154 | integration2: | ||
155 | <<: *combined | ||
156 | database: diaspora_integration2 | ||
157 | ''; | ||
158 | }; | ||
159 | "webapps/diaspora/secret_token.rb" = { | ||
160 | user = "diaspora"; | ||
161 | group = "diaspora"; | ||
162 | permissions = "0400"; | ||
163 | text = '' | ||
164 | Diaspora::Application.config.secret_key_base = '${env.secret_token}' | ||
165 | ''; | ||
166 | }; | ||
167 | }; | ||
168 | |||
169 | services.diaspora = { | ||
170 | enable = true; | ||
171 | withLdap = true; | ||
172 | dataDir = "/var/lib/diaspora_immae"; | ||
173 | adminEmail = "diaspora@tools.immae.eu"; | ||
174 | configDir = config.secrets.fullPaths."webapps/diaspora"; | ||
175 | }; | ||
176 | |||
177 | services.filesWatcher.diaspora = { | ||
178 | restart = true; | ||
179 | paths = [ dcfg.configDir ]; | ||
180 | }; | ||
181 | |||
182 | services.websites.env.tools.modules = [ | ||
183 | "headers" "proxy" "proxy_http" | ||
184 | ]; | ||
185 | security.acme.certs.eldiron.extraDomainNames = [ "diaspora.immae.eu" ]; | ||
186 | services.websites.env.tools.vhostConfs.diaspora = { | ||
187 | certName = "eldiron"; | ||
188 | hosts = [ "diaspora.immae.eu" ]; | ||
189 | root = root; | ||
190 | extraConfig = [ '' | ||
191 | RewriteEngine On | ||
192 | RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | ||
193 | RewriteRule ^/(.*)$ unix://${dcfg.sockets.rails}|http://diaspora.immae.eu/%{REQUEST_URI} [P,NE,QSA,L] | ||
194 | |||
195 | ProxyRequests Off | ||
196 | ProxyVia On | ||
197 | ProxyPreserveHost On | ||
198 | RequestHeader set X_FORWARDED_PROTO https | ||
199 | |||
200 | <Proxy *> | ||
201 | Require all granted | ||
202 | </Proxy> | ||
203 | |||
204 | <Directory ${root}> | ||
205 | Require all granted | ||
206 | Options -MultiViews | ||
207 | </Directory> | ||
208 | '' ]; | ||
209 | }; | ||
210 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
211 | myServices.monitoring.fromMasterObjects.service = [ | ||
212 | { | ||
213 | service_description = "diaspora website is running on diaspora.immae.eu"; | ||
214 | host_name = config.hostEnv.fqdn; | ||
215 | use = "external-web-service"; | ||
216 | check_command = ["check_https" "diaspora.immae.eu" "/" "is the online social world where you are in control"]; | ||
217 | |||
218 | servicegroups = "webstatus-webapps"; | ||
219 | _webstatus_name = "Diaspora"; | ||
220 | _webstatus_url = "https://diaspora.immae.eu/"; | ||
221 | } | ||
222 | ]; | ||
223 | }; | ||
224 | } | ||
diff --git a/systems/eldiron/websites/ether/default.nix b/systems/eldiron/websites/ether/default.nix new file mode 100644 index 0000000..3993553 --- /dev/null +++ b/systems/eldiron/websites/ether/default.nix | |||
@@ -0,0 +1,251 @@ | |||
1 | { lib, pkgs, config, nixpkgsRaw, etherpad-lite, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.etherpad-lite; | ||
4 | cfg = config.myServices.websites.tools.etherpad-lite; | ||
5 | # Make sure we’re not rebuilding whole libreoffice just because of a | ||
6 | # dependency | ||
7 | libreoffice = nixpkgsRaw.libreoffice-fresh; | ||
8 | ecfg = config.services.etherpad-lite; | ||
9 | in { | ||
10 | options.myServices.websites.tools.etherpad-lite = { | ||
11 | enable = lib.mkEnableOption "enable etherpad's website"; | ||
12 | }; | ||
13 | |||
14 | config = lib.mkIf cfg.enable { | ||
15 | myServices.dns.zones."immae.eu".subdomains.ether = | ||
16 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
17 | |||
18 | myServices.chatonsProperties.services.etherpad = { | ||
19 | file.datetime = "2021-01-04T00:01:00"; | ||
20 | service = { | ||
21 | name = "Etherpad"; | ||
22 | description = "Éditeur de texte collaboratif en temps réel. on peut y écrire simultanément."; | ||
23 | website = "https://ether.immae.eu"; | ||
24 | logo = "https://ether.immae.eu/favicon.ico"; | ||
25 | status.level = "OK"; | ||
26 | status.description = "OK"; | ||
27 | registration."" = ["NONE" "MEMBER" "CLIENT"]; | ||
28 | registration.load = "OPEN"; | ||
29 | install.type = "PACKAGE"; | ||
30 | }; | ||
31 | software = { | ||
32 | name = "Etherpad"; | ||
33 | website = "https://etherpad.org/"; | ||
34 | license.url = "https://github.com/ether/etherpad-lite/blob/develop/LICENSE"; | ||
35 | license.name = "Apache License Version 2.0"; | ||
36 | version = ecfg.package.version; | ||
37 | source.url = "https://github.com/ether/etherpad-lite"; | ||
38 | modules = ecfg.package.moduleNames; | ||
39 | }; | ||
40 | }; | ||
41 | secrets.keys = { | ||
42 | "webapps/tools-etherpad-apikey" = { | ||
43 | permissions = "0400"; | ||
44 | text = env.api_key; | ||
45 | }; | ||
46 | "webapps/tools-etherpad-sessionkey" = { | ||
47 | permissions = "0400"; | ||
48 | text = env.session_key; | ||
49 | }; | ||
50 | "webapps/tools-etherpad" = { | ||
51 | permissions = "0400"; | ||
52 | keyDependencies = [ libreoffice ]; | ||
53 | text = '' | ||
54 | { | ||
55 | "title": "Etherpad", | ||
56 | "favicon": "favicon.ico", | ||
57 | "skinName": "colibris", | ||
58 | "skinVariants": "dark-toolbar light-background super-light-editor full-width-editor", | ||
59 | |||
60 | "ip": "", | ||
61 | "port" : "${ecfg.sockets.node}", | ||
62 | "showSettingsInAdminPage" : false, | ||
63 | "dbType" : "postgres", | ||
64 | "dbSettings" : { | ||
65 | "user" : "${env.postgresql.user}", | ||
66 | "host" : "${env.postgresql.socket}", | ||
67 | "password": "${env.postgresql.password}", | ||
68 | "database": "${env.postgresql.database}", | ||
69 | "charset" : "utf8mb4" | ||
70 | }, | ||
71 | |||
72 | "defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents!\n\nGet involved with Etherpad at http:\/\/etherpad.org\n", | ||
73 | "padOptions": { | ||
74 | "noColors": false, | ||
75 | "showControls": true, | ||
76 | "showChat": true, | ||
77 | "showLineNumbers": true, | ||
78 | "useMonospaceFont": false, | ||
79 | "userName": false, | ||
80 | "userColor": false, | ||
81 | "rtl": false, | ||
82 | "alwaysShowChat": false, | ||
83 | "chatAndUsers": false, | ||
84 | "lang": "fr" | ||
85 | }, | ||
86 | |||
87 | "suppressErrorsInPadText" : false, | ||
88 | "requireSession" : false, | ||
89 | "editOnly" : false, | ||
90 | "sessionNoPassword" : false, | ||
91 | "minify" : false, | ||
92 | "maxAge" : 21600, | ||
93 | "abiword" : null, | ||
94 | "soffice" : "${libreoffice}/bin/soffice", | ||
95 | "tidyHtml" : "", | ||
96 | "allowUnknownFileEnds" : true, | ||
97 | "requireAuthentication" : false, | ||
98 | "requireAuthorization" : false, | ||
99 | "trustProxy" : true, | ||
100 | "disableIPlogging" : false, | ||
101 | "automaticReconnectionTimeout" : 0, | ||
102 | "scrollWhenFocusLineIsOutOfViewport": { | ||
103 | "percentage": { | ||
104 | "editionAboveViewport": 0, | ||
105 | "editionBelowViewport": 0 | ||
106 | }, | ||
107 | "duration": 0, | ||
108 | "scrollWhenCaretIsInTheLastLineOfViewport": false, | ||
109 | "percentageToScrollWhenUserPressesArrowUp": 0 | ||
110 | }, | ||
111 | "users": { | ||
112 | "admin": { | ||
113 | "password": "${env.adminPassword}", | ||
114 | "is_admin": true | ||
115 | }, | ||
116 | "ldapauth": { | ||
117 | "hash": "invalid", | ||
118 | "url": "ldaps://${env.ldap.host}", | ||
119 | "accountBase": "${env.ldap.base}", | ||
120 | "accountPattern": "${env.ldap.filter}", | ||
121 | "displayNameAttribute": "cn", | ||
122 | "searchDN": "${env.ldap.dn}", | ||
123 | "searchPWD": "${env.ldap.password}", | ||
124 | "groupSearchBase": "${env.ldap.base}", | ||
125 | "groupAttribute": "member", | ||
126 | "groupAttributeIsDN": true, | ||
127 | "searchScope": "sub", | ||
128 | "groupSearch": "${env.ldap.group_filter}", | ||
129 | "anonymousReadonly": false | ||
130 | } | ||
131 | }, | ||
132 | "ep_mypads": { | ||
133 | "warning": "This hash is stored in database, changing anything here will not have any consequence", | ||
134 | "ldap": { | ||
135 | "url": "ldaps://${env.ldap.host}", | ||
136 | "bindDN": "${env.ldap.dn}", | ||
137 | "bindCredentials": "${env.ldap.password}", | ||
138 | "searchBase": "${env.ldap.base}", | ||
139 | "searchFilter": "${env.ldap.filter}", | ||
140 | "properties": { | ||
141 | "login": "uid", | ||
142 | "email": "mail", | ||
143 | "firstname": "givenName", | ||
144 | "lastname": "sn" | ||
145 | }, | ||
146 | "defaultLang": "fr" | ||
147 | } | ||
148 | }, | ||
149 | "ep_comments_page": { | ||
150 | "displayCommentAsIcon": true, | ||
151 | "highlightSelectedText": true | ||
152 | }, | ||
153 | "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"], | ||
154 | "loadTest": false, | ||
155 | "indentationOnNewLine": false, | ||
156 | "toolbar": { | ||
157 | "left": [ | ||
158 | ["bold", "italic", "underline", "strikethrough"], | ||
159 | ["orderedlist", "unorderedlist", "indent", "outdent"], | ||
160 | ["undo", "redo"], | ||
161 | ["clearauthorship"] | ||
162 | ], | ||
163 | "right": [ | ||
164 | ["importexport", "timeslider", "savedrevision"], | ||
165 | ["settings", "embed"], | ||
166 | ["showusers"] | ||
167 | ], | ||
168 | "timeslider": [ | ||
169 | ["timeslider_export", "timeslider_returnToPad"] | ||
170 | ] | ||
171 | }, | ||
172 | "loglevel": "INFO", | ||
173 | "logconfig" : { "appenders": [ { "type": "console" } ] } | ||
174 | } | ||
175 | ''; | ||
176 | }; | ||
177 | }; | ||
178 | services.etherpad-lite = { | ||
179 | enable = true; | ||
180 | package = etherpad-lite.withModules (p: [ | ||
181 | p.ep_align p.ep_bookmark p.ep_colors p.ep_comments_page | ||
182 | p.ep_cursortrace p.ep_delete_empty_pads p.ep_embedmedia | ||
183 | p.ep_font_size p.ep_headings2 p.ep_immae_buttons p.ep_ldapauth | ||
184 | p.ep_line_height p.ep_markdown p.ep_mypads p.ep_page_view | ||
185 | p.ep_previewimages p.ep_ruler p.ep_scrollto | ||
186 | p.ep_set_title_on_pad p.ep_subscript_and_superscript | ||
187 | p.ep_timesliderdiff | ||
188 | ]); | ||
189 | modules = []; | ||
190 | sessionKeyFile = config.secrets.fullPaths."webapps/tools-etherpad-sessionkey"; | ||
191 | apiKeyFile = config.secrets.fullPaths."webapps/tools-etherpad-apikey"; | ||
192 | configFile = config.secrets.fullPaths."webapps/tools-etherpad"; | ||
193 | }; | ||
194 | |||
195 | systemd.services.etherpad-lite.serviceConfig.SupplementaryGroups = "keys"; | ||
196 | systemd.services.etherpad-lite-cleanup.serviceConfig.SupplementaryGroups = "keys"; | ||
197 | # Needed so that they get in the closure | ||
198 | systemd.services.etherpad-lite.path = [ libreoffice pkgs.html-tidy ]; | ||
199 | |||
200 | services.filesWatcher.etherpad-lite = { | ||
201 | restart = true; | ||
202 | paths = [ ecfg.sessionKeyFile ecfg.apiKeyFile ecfg.configFile ]; | ||
203 | }; | ||
204 | |||
205 | services.websites.env.tools.modules = [ | ||
206 | "headers" "proxy" "proxy_http" "proxy_wstunnel" | ||
207 | ]; | ||
208 | security.acme.certs.eldiron.extraDomainNames = [ "ether.immae.eu" ]; | ||
209 | services.websites.env.tools.vhostConfs.etherpad-lite = { | ||
210 | certName = "eldiron"; | ||
211 | hosts = [ "ether.immae.eu" ]; | ||
212 | root = null; | ||
213 | extraConfig = [ '' | ||
214 | Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains;" | ||
215 | RequestHeader set X-Forwarded-Proto "https" | ||
216 | |||
217 | RewriteEngine On | ||
218 | |||
219 | RewriteCond %{REQUEST_URI} ^/socket.io [NC] | ||
220 | RewriteCond %{QUERY_STRING} transport=websocket [NC] | ||
221 | RewriteRule /(.*) unix://${ecfg.sockets.node}|ws://ether.immae.eu/$1 [P,NE,QSA,L] | ||
222 | |||
223 | <IfModule mod_proxy.c> | ||
224 | ProxyVia On | ||
225 | ProxyRequests Off | ||
226 | ProxyPreserveHost On | ||
227 | ProxyPass / unix://${ecfg.sockets.node}|http://ether.immae.eu/ | ||
228 | ProxyPassReverse / unix://${ecfg.sockets.node}|http://ether.immae.eu/ | ||
229 | <Proxy *> | ||
230 | Options FollowSymLinks MultiViews | ||
231 | AllowOverride None | ||
232 | Require all granted | ||
233 | </Proxy> | ||
234 | </IfModule> | ||
235 | '' ]; | ||
236 | }; | ||
237 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
238 | myServices.monitoring.fromMasterObjects.service = [ | ||
239 | { | ||
240 | service_description = "etherpad website is running on ether.immae.eu"; | ||
241 | host_name = config.hostEnv.fqdn; | ||
242 | use = "external-web-service"; | ||
243 | check_command = ["check_https" "ether.immae.eu" "/" "<title>Etherpad"]; | ||
244 | |||
245 | servicegroups = "webstatus-webapps"; | ||
246 | _webstatus_name = "Etherpad"; | ||
247 | _webstatus_url = "https://ether.immae.eu/"; | ||
248 | } | ||
249 | ]; | ||
250 | }; | ||
251 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/codenames.patch b/systems/eldiron/websites/games/codenames/codenames.patch new file mode 100644 index 0000000..9faf069 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/codenames.patch | |||
@@ -0,0 +1,8306 @@ | |||
1 | diff --git a/elm.json b/elm.json | ||
2 | index a0d276b..1b73a46 100644 | ||
3 | --- a/elm.json | ||
4 | +++ b/elm.json | ||
5 | @@ -3,7 +3,7 @@ | ||
6 | "source-directories": [ | ||
7 | "src" | ||
8 | ], | ||
9 | - "elm-version": "0.19.0", | ||
10 | + "elm-version": "0.19.1", | ||
11 | "dependencies": { | ||
12 | "direct": { | ||
13 | "elm/browser": "1.0.1", | ||
14 | @@ -15,12 +15,11 @@ | ||
15 | "perzanko/elm-loading": "2.0.4" | ||
16 | }, | ||
17 | "indirect": { | ||
18 | - "Skinney/murmur3": "2.0.8", | ||
19 | "elm/bytes": "1.0.8", | ||
20 | "elm/file": "1.0.5", | ||
21 | "elm/time": "1.0.0", | ||
22 | "elm/virtual-dom": "1.0.2", | ||
23 | - "rtfeldman/elm-css": "16.0.1", | ||
24 | + "rtfeldman/elm-css": "16.1.0", | ||
25 | "rtfeldman/elm-hex": "1.0.0" | ||
26 | } | ||
27 | }, | ||
28 | @@ -32,4 +31,4 @@ | ||
29 | "elm/random": "1.0.0" | ||
30 | } | ||
31 | } | ||
32 | -} | ||
33 | \ No newline at end of file | ||
34 | +} | ||
35 | diff --git a/package-lock.json b/package-lock.json | ||
36 | index 778b061..05a22ab 100644 | ||
37 | --- a/package-lock.json | ||
38 | +++ b/package-lock.json | ||
39 | @@ -4,196 +4,7963 @@ | ||
40 | "lockfileVersion": 1, | ||
41 | "requires": true, | ||
42 | "dependencies": { | ||
43 | + "@babel/code-frame": { | ||
44 | + "version": "7.0.0", | ||
45 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", | ||
46 | + "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", | ||
47 | + "dev": true, | ||
48 | + "requires": { | ||
49 | + "@babel/highlight": "^7.0.0" | ||
50 | + } | ||
51 | + }, | ||
52 | + "@babel/core": { | ||
53 | + "version": "7.3.4", | ||
54 | + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz", | ||
55 | + "integrity": "sha512-jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA==", | ||
56 | + "dev": true, | ||
57 | + "requires": { | ||
58 | + "@babel/code-frame": "^7.0.0", | ||
59 | + "@babel/generator": "^7.3.4", | ||
60 | + "@babel/helpers": "^7.2.0", | ||
61 | + "@babel/parser": "^7.3.4", | ||
62 | + "@babel/template": "^7.2.2", | ||
63 | + "@babel/traverse": "^7.3.4", | ||
64 | + "@babel/types": "^7.3.4", | ||
65 | + "convert-source-map": "^1.1.0", | ||
66 | + "debug": "^4.1.0", | ||
67 | + "json5": "^2.1.0", | ||
68 | + "lodash": "^4.17.11", | ||
69 | + "resolve": "^1.3.2", | ||
70 | + "semver": "^5.4.1", | ||
71 | + "source-map": "^0.5.0" | ||
72 | + }, | ||
73 | + "dependencies": { | ||
74 | + "json5": { | ||
75 | + "version": "2.1.3", | ||
76 | + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", | ||
77 | + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", | ||
78 | + "dev": true, | ||
79 | + "requires": { | ||
80 | + "minimist": "^1.2.5" | ||
81 | + } | ||
82 | + }, | ||
83 | + "source-map": { | ||
84 | + "version": "0.5.7", | ||
85 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
86 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
87 | + "dev": true | ||
88 | + } | ||
89 | + } | ||
90 | + }, | ||
91 | + "@babel/generator": { | ||
92 | + "version": "7.3.4", | ||
93 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", | ||
94 | + "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", | ||
95 | + "dev": true, | ||
96 | + "requires": { | ||
97 | + "@babel/types": "^7.3.4", | ||
98 | + "jsesc": "^2.5.1", | ||
99 | + "lodash": "^4.17.11", | ||
100 | + "source-map": "^0.5.0", | ||
101 | + "trim-right": "^1.0.1" | ||
102 | + }, | ||
103 | + "dependencies": { | ||
104 | + "source-map": { | ||
105 | + "version": "0.5.7", | ||
106 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
107 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
108 | + "dev": true | ||
109 | + } | ||
110 | + } | ||
111 | + }, | ||
112 | + "@babel/helper-annotate-as-pure": { | ||
113 | + "version": "7.8.3", | ||
114 | + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", | ||
115 | + "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", | ||
116 | + "dev": true, | ||
117 | + "requires": { | ||
118 | + "@babel/types": "^7.8.3" | ||
119 | + }, | ||
120 | + "dependencies": { | ||
121 | + "@babel/types": { | ||
122 | + "version": "7.9.5", | ||
123 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
124 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
125 | + "dev": true, | ||
126 | + "requires": { | ||
127 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
128 | + "lodash": "^4.17.13", | ||
129 | + "to-fast-properties": "^2.0.0" | ||
130 | + } | ||
131 | + } | ||
132 | + } | ||
133 | + }, | ||
134 | + "@babel/helper-builder-binary-assignment-operator-visitor": { | ||
135 | + "version": "7.8.3", | ||
136 | + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", | ||
137 | + "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", | ||
138 | + "dev": true, | ||
139 | + "requires": { | ||
140 | + "@babel/helper-explode-assignable-expression": "^7.8.3", | ||
141 | + "@babel/types": "^7.8.3" | ||
142 | + }, | ||
143 | + "dependencies": { | ||
144 | + "@babel/types": { | ||
145 | + "version": "7.9.5", | ||
146 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
147 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
148 | + "dev": true, | ||
149 | + "requires": { | ||
150 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
151 | + "lodash": "^4.17.13", | ||
152 | + "to-fast-properties": "^2.0.0" | ||
153 | + } | ||
154 | + } | ||
155 | + } | ||
156 | + }, | ||
157 | + "@babel/helper-builder-react-jsx": { | ||
158 | + "version": "7.9.0", | ||
159 | + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz", | ||
160 | + "integrity": "sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw==", | ||
161 | + "dev": true, | ||
162 | + "requires": { | ||
163 | + "@babel/helper-annotate-as-pure": "^7.8.3", | ||
164 | + "@babel/types": "^7.9.0" | ||
165 | + }, | ||
166 | + "dependencies": { | ||
167 | + "@babel/types": { | ||
168 | + "version": "7.9.5", | ||
169 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
170 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
171 | + "dev": true, | ||
172 | + "requires": { | ||
173 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
174 | + "lodash": "^4.17.13", | ||
175 | + "to-fast-properties": "^2.0.0" | ||
176 | + } | ||
177 | + } | ||
178 | + } | ||
179 | + }, | ||
180 | + "@babel/helper-create-regexp-features-plugin": { | ||
181 | + "version": "7.8.8", | ||
182 | + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", | ||
183 | + "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", | ||
184 | + "dev": true, | ||
185 | + "requires": { | ||
186 | + "@babel/helper-annotate-as-pure": "^7.8.3", | ||
187 | + "@babel/helper-regex": "^7.8.3", | ||
188 | + "regexpu-core": "^4.7.0" | ||
189 | + } | ||
190 | + }, | ||
191 | + "@babel/helper-define-map": { | ||
192 | + "version": "7.8.3", | ||
193 | + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", | ||
194 | + "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", | ||
195 | + "dev": true, | ||
196 | + "requires": { | ||
197 | + "@babel/helper-function-name": "^7.8.3", | ||
198 | + "@babel/types": "^7.8.3", | ||
199 | + "lodash": "^4.17.13" | ||
200 | + }, | ||
201 | + "dependencies": { | ||
202 | + "@babel/types": { | ||
203 | + "version": "7.9.5", | ||
204 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
205 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
206 | + "dev": true, | ||
207 | + "requires": { | ||
208 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
209 | + "lodash": "^4.17.13", | ||
210 | + "to-fast-properties": "^2.0.0" | ||
211 | + } | ||
212 | + } | ||
213 | + } | ||
214 | + }, | ||
215 | + "@babel/helper-explode-assignable-expression": { | ||
216 | + "version": "7.8.3", | ||
217 | + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", | ||
218 | + "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", | ||
219 | + "dev": true, | ||
220 | + "requires": { | ||
221 | + "@babel/traverse": "^7.8.3", | ||
222 | + "@babel/types": "^7.8.3" | ||
223 | + }, | ||
224 | + "dependencies": { | ||
225 | + "@babel/code-frame": { | ||
226 | + "version": "7.8.3", | ||
227 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
228 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
229 | + "dev": true, | ||
230 | + "requires": { | ||
231 | + "@babel/highlight": "^7.8.3" | ||
232 | + } | ||
233 | + }, | ||
234 | + "@babel/generator": { | ||
235 | + "version": "7.9.5", | ||
236 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", | ||
237 | + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", | ||
238 | + "dev": true, | ||
239 | + "requires": { | ||
240 | + "@babel/types": "^7.9.5", | ||
241 | + "jsesc": "^2.5.1", | ||
242 | + "lodash": "^4.17.13", | ||
243 | + "source-map": "^0.5.0" | ||
244 | + } | ||
245 | + }, | ||
246 | + "@babel/parser": { | ||
247 | + "version": "7.9.4", | ||
248 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
249 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
250 | + "dev": true | ||
251 | + }, | ||
252 | + "@babel/traverse": { | ||
253 | + "version": "7.9.5", | ||
254 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", | ||
255 | + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", | ||
256 | + "dev": true, | ||
257 | + "requires": { | ||
258 | + "@babel/code-frame": "^7.8.3", | ||
259 | + "@babel/generator": "^7.9.5", | ||
260 | + "@babel/helper-function-name": "^7.9.5", | ||
261 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
262 | + "@babel/parser": "^7.9.0", | ||
263 | + "@babel/types": "^7.9.5", | ||
264 | + "debug": "^4.1.0", | ||
265 | + "globals": "^11.1.0", | ||
266 | + "lodash": "^4.17.13" | ||
267 | + } | ||
268 | + }, | ||
269 | + "@babel/types": { | ||
270 | + "version": "7.9.5", | ||
271 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
272 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
273 | + "dev": true, | ||
274 | + "requires": { | ||
275 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
276 | + "lodash": "^4.17.13", | ||
277 | + "to-fast-properties": "^2.0.0" | ||
278 | + } | ||
279 | + }, | ||
280 | + "source-map": { | ||
281 | + "version": "0.5.7", | ||
282 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
283 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
284 | + "dev": true | ||
285 | + } | ||
286 | + } | ||
287 | + }, | ||
288 | + "@babel/helper-function-name": { | ||
289 | + "version": "7.9.5", | ||
290 | + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", | ||
291 | + "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", | ||
292 | + "dev": true, | ||
293 | + "requires": { | ||
294 | + "@babel/helper-get-function-arity": "^7.8.3", | ||
295 | + "@babel/template": "^7.8.3", | ||
296 | + "@babel/types": "^7.9.5" | ||
297 | + }, | ||
298 | + "dependencies": { | ||
299 | + "@babel/code-frame": { | ||
300 | + "version": "7.8.3", | ||
301 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
302 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
303 | + "dev": true, | ||
304 | + "requires": { | ||
305 | + "@babel/highlight": "^7.8.3" | ||
306 | + } | ||
307 | + }, | ||
308 | + "@babel/parser": { | ||
309 | + "version": "7.9.4", | ||
310 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
311 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
312 | + "dev": true | ||
313 | + }, | ||
314 | + "@babel/template": { | ||
315 | + "version": "7.8.6", | ||
316 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
317 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
318 | + "dev": true, | ||
319 | + "requires": { | ||
320 | + "@babel/code-frame": "^7.8.3", | ||
321 | + "@babel/parser": "^7.8.6", | ||
322 | + "@babel/types": "^7.8.6" | ||
323 | + } | ||
324 | + }, | ||
325 | + "@babel/types": { | ||
326 | + "version": "7.9.5", | ||
327 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
328 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
329 | + "dev": true, | ||
330 | + "requires": { | ||
331 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
332 | + "lodash": "^4.17.13", | ||
333 | + "to-fast-properties": "^2.0.0" | ||
334 | + } | ||
335 | + } | ||
336 | + } | ||
337 | + }, | ||
338 | + "@babel/helper-get-function-arity": { | ||
339 | + "version": "7.8.3", | ||
340 | + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", | ||
341 | + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", | ||
342 | + "dev": true, | ||
343 | + "requires": { | ||
344 | + "@babel/types": "^7.8.3" | ||
345 | + }, | ||
346 | + "dependencies": { | ||
347 | + "@babel/types": { | ||
348 | + "version": "7.9.5", | ||
349 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
350 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
351 | + "dev": true, | ||
352 | + "requires": { | ||
353 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
354 | + "lodash": "^4.17.13", | ||
355 | + "to-fast-properties": "^2.0.0" | ||
356 | + } | ||
357 | + } | ||
358 | + } | ||
359 | + }, | ||
360 | + "@babel/helper-hoist-variables": { | ||
361 | + "version": "7.8.3", | ||
362 | + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", | ||
363 | + "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", | ||
364 | + "dev": true, | ||
365 | + "requires": { | ||
366 | + "@babel/types": "^7.8.3" | ||
367 | + }, | ||
368 | + "dependencies": { | ||
369 | + "@babel/types": { | ||
370 | + "version": "7.9.5", | ||
371 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
372 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
373 | + "dev": true, | ||
374 | + "requires": { | ||
375 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
376 | + "lodash": "^4.17.13", | ||
377 | + "to-fast-properties": "^2.0.0" | ||
378 | + } | ||
379 | + } | ||
380 | + } | ||
381 | + }, | ||
382 | + "@babel/helper-member-expression-to-functions": { | ||
383 | + "version": "7.8.3", | ||
384 | + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", | ||
385 | + "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", | ||
386 | + "dev": true, | ||
387 | + "requires": { | ||
388 | + "@babel/types": "^7.8.3" | ||
389 | + }, | ||
390 | + "dependencies": { | ||
391 | + "@babel/types": { | ||
392 | + "version": "7.9.5", | ||
393 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
394 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
395 | + "dev": true, | ||
396 | + "requires": { | ||
397 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
398 | + "lodash": "^4.17.13", | ||
399 | + "to-fast-properties": "^2.0.0" | ||
400 | + } | ||
401 | + } | ||
402 | + } | ||
403 | + }, | ||
404 | + "@babel/helper-module-imports": { | ||
405 | + "version": "7.8.3", | ||
406 | + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", | ||
407 | + "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", | ||
408 | + "dev": true, | ||
409 | + "requires": { | ||
410 | + "@babel/types": "^7.8.3" | ||
411 | + }, | ||
412 | + "dependencies": { | ||
413 | + "@babel/types": { | ||
414 | + "version": "7.9.5", | ||
415 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
416 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
417 | + "dev": true, | ||
418 | + "requires": { | ||
419 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
420 | + "lodash": "^4.17.13", | ||
421 | + "to-fast-properties": "^2.0.0" | ||
422 | + } | ||
423 | + } | ||
424 | + } | ||
425 | + }, | ||
426 | + "@babel/helper-module-transforms": { | ||
427 | + "version": "7.9.0", | ||
428 | + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", | ||
429 | + "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", | ||
430 | + "dev": true, | ||
431 | + "requires": { | ||
432 | + "@babel/helper-module-imports": "^7.8.3", | ||
433 | + "@babel/helper-replace-supers": "^7.8.6", | ||
434 | + "@babel/helper-simple-access": "^7.8.3", | ||
435 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
436 | + "@babel/template": "^7.8.6", | ||
437 | + "@babel/types": "^7.9.0", | ||
438 | + "lodash": "^4.17.13" | ||
439 | + }, | ||
440 | + "dependencies": { | ||
441 | + "@babel/code-frame": { | ||
442 | + "version": "7.8.3", | ||
443 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
444 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
445 | + "dev": true, | ||
446 | + "requires": { | ||
447 | + "@babel/highlight": "^7.8.3" | ||
448 | + } | ||
449 | + }, | ||
450 | + "@babel/parser": { | ||
451 | + "version": "7.9.4", | ||
452 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
453 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
454 | + "dev": true | ||
455 | + }, | ||
456 | + "@babel/template": { | ||
457 | + "version": "7.8.6", | ||
458 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
459 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
460 | + "dev": true, | ||
461 | + "requires": { | ||
462 | + "@babel/code-frame": "^7.8.3", | ||
463 | + "@babel/parser": "^7.8.6", | ||
464 | + "@babel/types": "^7.8.6" | ||
465 | + } | ||
466 | + }, | ||
467 | + "@babel/types": { | ||
468 | + "version": "7.9.5", | ||
469 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
470 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
471 | + "dev": true, | ||
472 | + "requires": { | ||
473 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
474 | + "lodash": "^4.17.13", | ||
475 | + "to-fast-properties": "^2.0.0" | ||
476 | + } | ||
477 | + } | ||
478 | + } | ||
479 | + }, | ||
480 | + "@babel/helper-optimise-call-expression": { | ||
481 | + "version": "7.8.3", | ||
482 | + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", | ||
483 | + "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", | ||
484 | + "dev": true, | ||
485 | + "requires": { | ||
486 | + "@babel/types": "^7.8.3" | ||
487 | + }, | ||
488 | + "dependencies": { | ||
489 | + "@babel/types": { | ||
490 | + "version": "7.9.5", | ||
491 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
492 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
493 | + "dev": true, | ||
494 | + "requires": { | ||
495 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
496 | + "lodash": "^4.17.13", | ||
497 | + "to-fast-properties": "^2.0.0" | ||
498 | + } | ||
499 | + } | ||
500 | + } | ||
501 | + }, | ||
502 | + "@babel/helper-plugin-utils": { | ||
503 | + "version": "7.8.3", | ||
504 | + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", | ||
505 | + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", | ||
506 | + "dev": true | ||
507 | + }, | ||
508 | + "@babel/helper-regex": { | ||
509 | + "version": "7.8.3", | ||
510 | + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", | ||
511 | + "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", | ||
512 | + "dev": true, | ||
513 | + "requires": { | ||
514 | + "lodash": "^4.17.13" | ||
515 | + } | ||
516 | + }, | ||
517 | + "@babel/helper-remap-async-to-generator": { | ||
518 | + "version": "7.8.3", | ||
519 | + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", | ||
520 | + "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", | ||
521 | + "dev": true, | ||
522 | + "requires": { | ||
523 | + "@babel/helper-annotate-as-pure": "^7.8.3", | ||
524 | + "@babel/helper-wrap-function": "^7.8.3", | ||
525 | + "@babel/template": "^7.8.3", | ||
526 | + "@babel/traverse": "^7.8.3", | ||
527 | + "@babel/types": "^7.8.3" | ||
528 | + }, | ||
529 | + "dependencies": { | ||
530 | + "@babel/code-frame": { | ||
531 | + "version": "7.8.3", | ||
532 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
533 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
534 | + "dev": true, | ||
535 | + "requires": { | ||
536 | + "@babel/highlight": "^7.8.3" | ||
537 | + } | ||
538 | + }, | ||
539 | + "@babel/generator": { | ||
540 | + "version": "7.9.5", | ||
541 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", | ||
542 | + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", | ||
543 | + "dev": true, | ||
544 | + "requires": { | ||
545 | + "@babel/types": "^7.9.5", | ||
546 | + "jsesc": "^2.5.1", | ||
547 | + "lodash": "^4.17.13", | ||
548 | + "source-map": "^0.5.0" | ||
549 | + } | ||
550 | + }, | ||
551 | + "@babel/parser": { | ||
552 | + "version": "7.9.4", | ||
553 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
554 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
555 | + "dev": true | ||
556 | + }, | ||
557 | + "@babel/template": { | ||
558 | + "version": "7.8.6", | ||
559 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
560 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
561 | + "dev": true, | ||
562 | + "requires": { | ||
563 | + "@babel/code-frame": "^7.8.3", | ||
564 | + "@babel/parser": "^7.8.6", | ||
565 | + "@babel/types": "^7.8.6" | ||
566 | + } | ||
567 | + }, | ||
568 | + "@babel/traverse": { | ||
569 | + "version": "7.9.5", | ||
570 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", | ||
571 | + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", | ||
572 | + "dev": true, | ||
573 | + "requires": { | ||
574 | + "@babel/code-frame": "^7.8.3", | ||
575 | + "@babel/generator": "^7.9.5", | ||
576 | + "@babel/helper-function-name": "^7.9.5", | ||
577 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
578 | + "@babel/parser": "^7.9.0", | ||
579 | + "@babel/types": "^7.9.5", | ||
580 | + "debug": "^4.1.0", | ||
581 | + "globals": "^11.1.0", | ||
582 | + "lodash": "^4.17.13" | ||
583 | + } | ||
584 | + }, | ||
585 | + "@babel/types": { | ||
586 | + "version": "7.9.5", | ||
587 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
588 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
589 | + "dev": true, | ||
590 | + "requires": { | ||
591 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
592 | + "lodash": "^4.17.13", | ||
593 | + "to-fast-properties": "^2.0.0" | ||
594 | + } | ||
595 | + }, | ||
596 | + "source-map": { | ||
597 | + "version": "0.5.7", | ||
598 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
599 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
600 | + "dev": true | ||
601 | + } | ||
602 | + } | ||
603 | + }, | ||
604 | + "@babel/helper-replace-supers": { | ||
605 | + "version": "7.8.6", | ||
606 | + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz", | ||
607 | + "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==", | ||
608 | + "dev": true, | ||
609 | + "requires": { | ||
610 | + "@babel/helper-member-expression-to-functions": "^7.8.3", | ||
611 | + "@babel/helper-optimise-call-expression": "^7.8.3", | ||
612 | + "@babel/traverse": "^7.8.6", | ||
613 | + "@babel/types": "^7.8.6" | ||
614 | + }, | ||
615 | + "dependencies": { | ||
616 | + "@babel/code-frame": { | ||
617 | + "version": "7.8.3", | ||
618 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
619 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
620 | + "dev": true, | ||
621 | + "requires": { | ||
622 | + "@babel/highlight": "^7.8.3" | ||
623 | + } | ||
624 | + }, | ||
625 | + "@babel/generator": { | ||
626 | + "version": "7.9.5", | ||
627 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", | ||
628 | + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", | ||
629 | + "dev": true, | ||
630 | + "requires": { | ||
631 | + "@babel/types": "^7.9.5", | ||
632 | + "jsesc": "^2.5.1", | ||
633 | + "lodash": "^4.17.13", | ||
634 | + "source-map": "^0.5.0" | ||
635 | + } | ||
636 | + }, | ||
637 | + "@babel/parser": { | ||
638 | + "version": "7.9.4", | ||
639 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
640 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
641 | + "dev": true | ||
642 | + }, | ||
643 | + "@babel/traverse": { | ||
644 | + "version": "7.9.5", | ||
645 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", | ||
646 | + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", | ||
647 | + "dev": true, | ||
648 | + "requires": { | ||
649 | + "@babel/code-frame": "^7.8.3", | ||
650 | + "@babel/generator": "^7.9.5", | ||
651 | + "@babel/helper-function-name": "^7.9.5", | ||
652 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
653 | + "@babel/parser": "^7.9.0", | ||
654 | + "@babel/types": "^7.9.5", | ||
655 | + "debug": "^4.1.0", | ||
656 | + "globals": "^11.1.0", | ||
657 | + "lodash": "^4.17.13" | ||
658 | + } | ||
659 | + }, | ||
660 | + "@babel/types": { | ||
661 | + "version": "7.9.5", | ||
662 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
663 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
664 | + "dev": true, | ||
665 | + "requires": { | ||
666 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
667 | + "lodash": "^4.17.13", | ||
668 | + "to-fast-properties": "^2.0.0" | ||
669 | + } | ||
670 | + }, | ||
671 | + "source-map": { | ||
672 | + "version": "0.5.7", | ||
673 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
674 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
675 | + "dev": true | ||
676 | + } | ||
677 | + } | ||
678 | + }, | ||
679 | + "@babel/helper-simple-access": { | ||
680 | + "version": "7.8.3", | ||
681 | + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", | ||
682 | + "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", | ||
683 | + "dev": true, | ||
684 | + "requires": { | ||
685 | + "@babel/template": "^7.8.3", | ||
686 | + "@babel/types": "^7.8.3" | ||
687 | + }, | ||
688 | + "dependencies": { | ||
689 | + "@babel/code-frame": { | ||
690 | + "version": "7.8.3", | ||
691 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
692 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
693 | + "dev": true, | ||
694 | + "requires": { | ||
695 | + "@babel/highlight": "^7.8.3" | ||
696 | + } | ||
697 | + }, | ||
698 | + "@babel/parser": { | ||
699 | + "version": "7.9.4", | ||
700 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
701 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
702 | + "dev": true | ||
703 | + }, | ||
704 | + "@babel/template": { | ||
705 | + "version": "7.8.6", | ||
706 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
707 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
708 | + "dev": true, | ||
709 | + "requires": { | ||
710 | + "@babel/code-frame": "^7.8.3", | ||
711 | + "@babel/parser": "^7.8.6", | ||
712 | + "@babel/types": "^7.8.6" | ||
713 | + } | ||
714 | + }, | ||
715 | + "@babel/types": { | ||
716 | + "version": "7.9.5", | ||
717 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
718 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
719 | + "dev": true, | ||
720 | + "requires": { | ||
721 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
722 | + "lodash": "^4.17.13", | ||
723 | + "to-fast-properties": "^2.0.0" | ||
724 | + } | ||
725 | + } | ||
726 | + } | ||
727 | + }, | ||
728 | + "@babel/helper-split-export-declaration": { | ||
729 | + "version": "7.8.3", | ||
730 | + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", | ||
731 | + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", | ||
732 | + "dev": true, | ||
733 | + "requires": { | ||
734 | + "@babel/types": "^7.8.3" | ||
735 | + }, | ||
736 | + "dependencies": { | ||
737 | + "@babel/types": { | ||
738 | + "version": "7.9.5", | ||
739 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
740 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
741 | + "dev": true, | ||
742 | + "requires": { | ||
743 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
744 | + "lodash": "^4.17.13", | ||
745 | + "to-fast-properties": "^2.0.0" | ||
746 | + } | ||
747 | + } | ||
748 | + } | ||
749 | + }, | ||
750 | + "@babel/helper-validator-identifier": { | ||
751 | + "version": "7.9.5", | ||
752 | + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", | ||
753 | + "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", | ||
754 | + "dev": true | ||
755 | + }, | ||
756 | + "@babel/helper-wrap-function": { | ||
757 | + "version": "7.8.3", | ||
758 | + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", | ||
759 | + "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", | ||
760 | + "dev": true, | ||
761 | + "requires": { | ||
762 | + "@babel/helper-function-name": "^7.8.3", | ||
763 | + "@babel/template": "^7.8.3", | ||
764 | + "@babel/traverse": "^7.8.3", | ||
765 | + "@babel/types": "^7.8.3" | ||
766 | + }, | ||
767 | + "dependencies": { | ||
768 | + "@babel/code-frame": { | ||
769 | + "version": "7.8.3", | ||
770 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
771 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
772 | + "dev": true, | ||
773 | + "requires": { | ||
774 | + "@babel/highlight": "^7.8.3" | ||
775 | + } | ||
776 | + }, | ||
777 | + "@babel/generator": { | ||
778 | + "version": "7.9.5", | ||
779 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", | ||
780 | + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", | ||
781 | + "dev": true, | ||
782 | + "requires": { | ||
783 | + "@babel/types": "^7.9.5", | ||
784 | + "jsesc": "^2.5.1", | ||
785 | + "lodash": "^4.17.13", | ||
786 | + "source-map": "^0.5.0" | ||
787 | + } | ||
788 | + }, | ||
789 | + "@babel/parser": { | ||
790 | + "version": "7.9.4", | ||
791 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
792 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
793 | + "dev": true | ||
794 | + }, | ||
795 | + "@babel/template": { | ||
796 | + "version": "7.8.6", | ||
797 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
798 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
799 | + "dev": true, | ||
800 | + "requires": { | ||
801 | + "@babel/code-frame": "^7.8.3", | ||
802 | + "@babel/parser": "^7.8.6", | ||
803 | + "@babel/types": "^7.8.6" | ||
804 | + } | ||
805 | + }, | ||
806 | + "@babel/traverse": { | ||
807 | + "version": "7.9.5", | ||
808 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", | ||
809 | + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", | ||
810 | + "dev": true, | ||
811 | + "requires": { | ||
812 | + "@babel/code-frame": "^7.8.3", | ||
813 | + "@babel/generator": "^7.9.5", | ||
814 | + "@babel/helper-function-name": "^7.9.5", | ||
815 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
816 | + "@babel/parser": "^7.9.0", | ||
817 | + "@babel/types": "^7.9.5", | ||
818 | + "debug": "^4.1.0", | ||
819 | + "globals": "^11.1.0", | ||
820 | + "lodash": "^4.17.13" | ||
821 | + } | ||
822 | + }, | ||
823 | + "@babel/types": { | ||
824 | + "version": "7.9.5", | ||
825 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
826 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
827 | + "dev": true, | ||
828 | + "requires": { | ||
829 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
830 | + "lodash": "^4.17.13", | ||
831 | + "to-fast-properties": "^2.0.0" | ||
832 | + } | ||
833 | + }, | ||
834 | + "source-map": { | ||
835 | + "version": "0.5.7", | ||
836 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
837 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
838 | + "dev": true | ||
839 | + } | ||
840 | + } | ||
841 | + }, | ||
842 | + "@babel/helpers": { | ||
843 | + "version": "7.9.2", | ||
844 | + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz", | ||
845 | + "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==", | ||
846 | + "dev": true, | ||
847 | + "requires": { | ||
848 | + "@babel/template": "^7.8.3", | ||
849 | + "@babel/traverse": "^7.9.0", | ||
850 | + "@babel/types": "^7.9.0" | ||
851 | + }, | ||
852 | + "dependencies": { | ||
853 | + "@babel/code-frame": { | ||
854 | + "version": "7.8.3", | ||
855 | + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | ||
856 | + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | ||
857 | + "dev": true, | ||
858 | + "requires": { | ||
859 | + "@babel/highlight": "^7.8.3" | ||
860 | + } | ||
861 | + }, | ||
862 | + "@babel/generator": { | ||
863 | + "version": "7.9.5", | ||
864 | + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz", | ||
865 | + "integrity": "sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==", | ||
866 | + "dev": true, | ||
867 | + "requires": { | ||
868 | + "@babel/types": "^7.9.5", | ||
869 | + "jsesc": "^2.5.1", | ||
870 | + "lodash": "^4.17.13", | ||
871 | + "source-map": "^0.5.0" | ||
872 | + } | ||
873 | + }, | ||
874 | + "@babel/parser": { | ||
875 | + "version": "7.9.4", | ||
876 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", | ||
877 | + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", | ||
878 | + "dev": true | ||
879 | + }, | ||
880 | + "@babel/template": { | ||
881 | + "version": "7.8.6", | ||
882 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", | ||
883 | + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", | ||
884 | + "dev": true, | ||
885 | + "requires": { | ||
886 | + "@babel/code-frame": "^7.8.3", | ||
887 | + "@babel/parser": "^7.8.6", | ||
888 | + "@babel/types": "^7.8.6" | ||
889 | + } | ||
890 | + }, | ||
891 | + "@babel/traverse": { | ||
892 | + "version": "7.9.5", | ||
893 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz", | ||
894 | + "integrity": "sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==", | ||
895 | + "dev": true, | ||
896 | + "requires": { | ||
897 | + "@babel/code-frame": "^7.8.3", | ||
898 | + "@babel/generator": "^7.9.5", | ||
899 | + "@babel/helper-function-name": "^7.9.5", | ||
900 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
901 | + "@babel/parser": "^7.9.0", | ||
902 | + "@babel/types": "^7.9.5", | ||
903 | + "debug": "^4.1.0", | ||
904 | + "globals": "^11.1.0", | ||
905 | + "lodash": "^4.17.13" | ||
906 | + } | ||
907 | + }, | ||
908 | + "@babel/types": { | ||
909 | + "version": "7.9.5", | ||
910 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz", | ||
911 | + "integrity": "sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==", | ||
912 | + "dev": true, | ||
913 | + "requires": { | ||
914 | + "@babel/helper-validator-identifier": "^7.9.5", | ||
915 | + "lodash": "^4.17.13", | ||
916 | + "to-fast-properties": "^2.0.0" | ||
917 | + } | ||
918 | + }, | ||
919 | + "source-map": { | ||
920 | + "version": "0.5.7", | ||
921 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
922 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
923 | + "dev": true | ||
924 | + } | ||
925 | + } | ||
926 | + }, | ||
927 | + "@babel/highlight": { | ||
928 | + "version": "7.9.0", | ||
929 | + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", | ||
930 | + "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", | ||
931 | + "dev": true, | ||
932 | + "requires": { | ||
933 | + "@babel/helper-validator-identifier": "^7.9.0", | ||
934 | + "chalk": "^2.0.0", | ||
935 | + "js-tokens": "^4.0.0" | ||
936 | + } | ||
937 | + }, | ||
938 | + "@babel/parser": { | ||
939 | + "version": "7.3.4", | ||
940 | + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", | ||
941 | + "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", | ||
942 | + "dev": true | ||
943 | + }, | ||
944 | + "@babel/plugin-proposal-async-generator-functions": { | ||
945 | + "version": "7.8.3", | ||
946 | + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", | ||
947 | + "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", | ||
948 | + "dev": true, | ||
949 | + "requires": { | ||
950 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
951 | + "@babel/helper-remap-async-to-generator": "^7.8.3", | ||
952 | + "@babel/plugin-syntax-async-generators": "^7.8.0" | ||
953 | + } | ||
954 | + }, | ||
955 | + "@babel/plugin-proposal-json-strings": { | ||
956 | + "version": "7.8.3", | ||
957 | + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", | ||
958 | + "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", | ||
959 | + "dev": true, | ||
960 | + "requires": { | ||
961 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
962 | + "@babel/plugin-syntax-json-strings": "^7.8.0" | ||
963 | + } | ||
964 | + }, | ||
965 | + "@babel/plugin-proposal-object-rest-spread": { | ||
966 | + "version": "7.9.5", | ||
967 | + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz", | ||
968 | + "integrity": "sha512-VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg==", | ||
969 | + "dev": true, | ||
970 | + "requires": { | ||
971 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
972 | + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", | ||
973 | + "@babel/plugin-transform-parameters": "^7.9.5" | ||
974 | + } | ||
975 | + }, | ||
976 | + "@babel/plugin-proposal-optional-catch-binding": { | ||
977 | + "version": "7.8.3", | ||
978 | + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", | ||
979 | + "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", | ||
980 | + "dev": true, | ||
981 | + "requires": { | ||
982 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
983 | + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" | ||
984 | + } | ||
985 | + }, | ||
986 | + "@babel/plugin-proposal-unicode-property-regex": { | ||
987 | + "version": "7.8.8", | ||
988 | + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", | ||
989 | + "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", | ||
990 | + "dev": true, | ||
991 | + "requires": { | ||
992 | + "@babel/helper-create-regexp-features-plugin": "^7.8.8", | ||
993 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
994 | + } | ||
995 | + }, | ||
996 | + "@babel/plugin-syntax-async-generators": { | ||
997 | + "version": "7.8.4", | ||
998 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", | ||
999 | + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", | ||
1000 | + "dev": true, | ||
1001 | + "requires": { | ||
1002 | + "@babel/helper-plugin-utils": "^7.8.0" | ||
1003 | + } | ||
1004 | + }, | ||
1005 | + "@babel/plugin-syntax-flow": { | ||
1006 | + "version": "7.8.3", | ||
1007 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz", | ||
1008 | + "integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==", | ||
1009 | + "dev": true, | ||
1010 | + "requires": { | ||
1011 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1012 | + } | ||
1013 | + }, | ||
1014 | + "@babel/plugin-syntax-json-strings": { | ||
1015 | + "version": "7.8.3", | ||
1016 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", | ||
1017 | + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", | ||
1018 | + "dev": true, | ||
1019 | + "requires": { | ||
1020 | + "@babel/helper-plugin-utils": "^7.8.0" | ||
1021 | + } | ||
1022 | + }, | ||
1023 | + "@babel/plugin-syntax-jsx": { | ||
1024 | + "version": "7.8.3", | ||
1025 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", | ||
1026 | + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", | ||
1027 | + "dev": true, | ||
1028 | + "requires": { | ||
1029 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1030 | + } | ||
1031 | + }, | ||
1032 | + "@babel/plugin-syntax-object-rest-spread": { | ||
1033 | + "version": "7.8.3", | ||
1034 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", | ||
1035 | + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", | ||
1036 | + "dev": true, | ||
1037 | + "requires": { | ||
1038 | + "@babel/helper-plugin-utils": "^7.8.0" | ||
1039 | + } | ||
1040 | + }, | ||
1041 | + "@babel/plugin-syntax-optional-catch-binding": { | ||
1042 | + "version": "7.8.3", | ||
1043 | + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", | ||
1044 | + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", | ||
1045 | + "dev": true, | ||
1046 | + "requires": { | ||
1047 | + "@babel/helper-plugin-utils": "^7.8.0" | ||
1048 | + } | ||
1049 | + }, | ||
1050 | + "@babel/plugin-transform-arrow-functions": { | ||
1051 | + "version": "7.8.3", | ||
1052 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", | ||
1053 | + "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", | ||
1054 | + "dev": true, | ||
1055 | + "requires": { | ||
1056 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1057 | + } | ||
1058 | + }, | ||
1059 | + "@babel/plugin-transform-async-to-generator": { | ||
1060 | + "version": "7.8.3", | ||
1061 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", | ||
1062 | + "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", | ||
1063 | + "dev": true, | ||
1064 | + "requires": { | ||
1065 | + "@babel/helper-module-imports": "^7.8.3", | ||
1066 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1067 | + "@babel/helper-remap-async-to-generator": "^7.8.3" | ||
1068 | + } | ||
1069 | + }, | ||
1070 | + "@babel/plugin-transform-block-scoped-functions": { | ||
1071 | + "version": "7.8.3", | ||
1072 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", | ||
1073 | + "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", | ||
1074 | + "dev": true, | ||
1075 | + "requires": { | ||
1076 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1077 | + } | ||
1078 | + }, | ||
1079 | + "@babel/plugin-transform-block-scoping": { | ||
1080 | + "version": "7.8.3", | ||
1081 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", | ||
1082 | + "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", | ||
1083 | + "dev": true, | ||
1084 | + "requires": { | ||
1085 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1086 | + "lodash": "^4.17.13" | ||
1087 | + } | ||
1088 | + }, | ||
1089 | + "@babel/plugin-transform-classes": { | ||
1090 | + "version": "7.9.5", | ||
1091 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", | ||
1092 | + "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", | ||
1093 | + "dev": true, | ||
1094 | + "requires": { | ||
1095 | + "@babel/helper-annotate-as-pure": "^7.8.3", | ||
1096 | + "@babel/helper-define-map": "^7.8.3", | ||
1097 | + "@babel/helper-function-name": "^7.9.5", | ||
1098 | + "@babel/helper-optimise-call-expression": "^7.8.3", | ||
1099 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1100 | + "@babel/helper-replace-supers": "^7.8.6", | ||
1101 | + "@babel/helper-split-export-declaration": "^7.8.3", | ||
1102 | + "globals": "^11.1.0" | ||
1103 | + } | ||
1104 | + }, | ||
1105 | + "@babel/plugin-transform-computed-properties": { | ||
1106 | + "version": "7.8.3", | ||
1107 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", | ||
1108 | + "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", | ||
1109 | + "dev": true, | ||
1110 | + "requires": { | ||
1111 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1112 | + } | ||
1113 | + }, | ||
1114 | + "@babel/plugin-transform-destructuring": { | ||
1115 | + "version": "7.9.5", | ||
1116 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", | ||
1117 | + "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", | ||
1118 | + "dev": true, | ||
1119 | + "requires": { | ||
1120 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1121 | + } | ||
1122 | + }, | ||
1123 | + "@babel/plugin-transform-dotall-regex": { | ||
1124 | + "version": "7.8.3", | ||
1125 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", | ||
1126 | + "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", | ||
1127 | + "dev": true, | ||
1128 | + "requires": { | ||
1129 | + "@babel/helper-create-regexp-features-plugin": "^7.8.3", | ||
1130 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1131 | + } | ||
1132 | + }, | ||
1133 | + "@babel/plugin-transform-duplicate-keys": { | ||
1134 | + "version": "7.8.3", | ||
1135 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", | ||
1136 | + "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", | ||
1137 | + "dev": true, | ||
1138 | + "requires": { | ||
1139 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1140 | + } | ||
1141 | + }, | ||
1142 | + "@babel/plugin-transform-exponentiation-operator": { | ||
1143 | + "version": "7.8.3", | ||
1144 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", | ||
1145 | + "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", | ||
1146 | + "dev": true, | ||
1147 | + "requires": { | ||
1148 | + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", | ||
1149 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1150 | + } | ||
1151 | + }, | ||
1152 | + "@babel/plugin-transform-flow-strip-types": { | ||
1153 | + "version": "7.3.4", | ||
1154 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz", | ||
1155 | + "integrity": "sha512-PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA==", | ||
1156 | + "dev": true, | ||
1157 | + "requires": { | ||
1158 | + "@babel/helper-plugin-utils": "^7.0.0", | ||
1159 | + "@babel/plugin-syntax-flow": "^7.2.0" | ||
1160 | + } | ||
1161 | + }, | ||
1162 | + "@babel/plugin-transform-for-of": { | ||
1163 | + "version": "7.9.0", | ||
1164 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", | ||
1165 | + "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", | ||
1166 | + "dev": true, | ||
1167 | + "requires": { | ||
1168 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1169 | + } | ||
1170 | + }, | ||
1171 | + "@babel/plugin-transform-function-name": { | ||
1172 | + "version": "7.8.3", | ||
1173 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", | ||
1174 | + "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", | ||
1175 | + "dev": true, | ||
1176 | + "requires": { | ||
1177 | + "@babel/helper-function-name": "^7.8.3", | ||
1178 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1179 | + } | ||
1180 | + }, | ||
1181 | + "@babel/plugin-transform-literals": { | ||
1182 | + "version": "7.8.3", | ||
1183 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", | ||
1184 | + "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", | ||
1185 | + "dev": true, | ||
1186 | + "requires": { | ||
1187 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1188 | + } | ||
1189 | + }, | ||
1190 | + "@babel/plugin-transform-modules-amd": { | ||
1191 | + "version": "7.9.0", | ||
1192 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz", | ||
1193 | + "integrity": "sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q==", | ||
1194 | + "dev": true, | ||
1195 | + "requires": { | ||
1196 | + "@babel/helper-module-transforms": "^7.9.0", | ||
1197 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1198 | + "babel-plugin-dynamic-import-node": "^2.3.0" | ||
1199 | + } | ||
1200 | + }, | ||
1201 | + "@babel/plugin-transform-modules-commonjs": { | ||
1202 | + "version": "7.2.0", | ||
1203 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz", | ||
1204 | + "integrity": "sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ==", | ||
1205 | + "dev": true, | ||
1206 | + "requires": { | ||
1207 | + "@babel/helper-module-transforms": "^7.1.0", | ||
1208 | + "@babel/helper-plugin-utils": "^7.0.0", | ||
1209 | + "@babel/helper-simple-access": "^7.1.0" | ||
1210 | + } | ||
1211 | + }, | ||
1212 | + "@babel/plugin-transform-modules-systemjs": { | ||
1213 | + "version": "7.9.0", | ||
1214 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz", | ||
1215 | + "integrity": "sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ==", | ||
1216 | + "dev": true, | ||
1217 | + "requires": { | ||
1218 | + "@babel/helper-hoist-variables": "^7.8.3", | ||
1219 | + "@babel/helper-module-transforms": "^7.9.0", | ||
1220 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1221 | + "babel-plugin-dynamic-import-node": "^2.3.0" | ||
1222 | + } | ||
1223 | + }, | ||
1224 | + "@babel/plugin-transform-modules-umd": { | ||
1225 | + "version": "7.9.0", | ||
1226 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", | ||
1227 | + "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", | ||
1228 | + "dev": true, | ||
1229 | + "requires": { | ||
1230 | + "@babel/helper-module-transforms": "^7.9.0", | ||
1231 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1232 | + } | ||
1233 | + }, | ||
1234 | + "@babel/plugin-transform-named-capturing-groups-regex": { | ||
1235 | + "version": "7.8.3", | ||
1236 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", | ||
1237 | + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", | ||
1238 | + "dev": true, | ||
1239 | + "requires": { | ||
1240 | + "@babel/helper-create-regexp-features-plugin": "^7.8.3" | ||
1241 | + } | ||
1242 | + }, | ||
1243 | + "@babel/plugin-transform-new-target": { | ||
1244 | + "version": "7.8.3", | ||
1245 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", | ||
1246 | + "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", | ||
1247 | + "dev": true, | ||
1248 | + "requires": { | ||
1249 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1250 | + } | ||
1251 | + }, | ||
1252 | + "@babel/plugin-transform-object-super": { | ||
1253 | + "version": "7.8.3", | ||
1254 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", | ||
1255 | + "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", | ||
1256 | + "dev": true, | ||
1257 | + "requires": { | ||
1258 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1259 | + "@babel/helper-replace-supers": "^7.8.3" | ||
1260 | + } | ||
1261 | + }, | ||
1262 | + "@babel/plugin-transform-parameters": { | ||
1263 | + "version": "7.9.5", | ||
1264 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", | ||
1265 | + "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", | ||
1266 | + "dev": true, | ||
1267 | + "requires": { | ||
1268 | + "@babel/helper-get-function-arity": "^7.8.3", | ||
1269 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1270 | + } | ||
1271 | + }, | ||
1272 | + "@babel/plugin-transform-react-jsx": { | ||
1273 | + "version": "7.3.0", | ||
1274 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz", | ||
1275 | + "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==", | ||
1276 | + "dev": true, | ||
1277 | + "requires": { | ||
1278 | + "@babel/helper-builder-react-jsx": "^7.3.0", | ||
1279 | + "@babel/helper-plugin-utils": "^7.0.0", | ||
1280 | + "@babel/plugin-syntax-jsx": "^7.2.0" | ||
1281 | + } | ||
1282 | + }, | ||
1283 | + "@babel/plugin-transform-regenerator": { | ||
1284 | + "version": "7.8.7", | ||
1285 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", | ||
1286 | + "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", | ||
1287 | + "dev": true, | ||
1288 | + "requires": { | ||
1289 | + "regenerator-transform": "^0.14.2" | ||
1290 | + } | ||
1291 | + }, | ||
1292 | + "@babel/plugin-transform-shorthand-properties": { | ||
1293 | + "version": "7.8.3", | ||
1294 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", | ||
1295 | + "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", | ||
1296 | + "dev": true, | ||
1297 | + "requires": { | ||
1298 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1299 | + } | ||
1300 | + }, | ||
1301 | + "@babel/plugin-transform-spread": { | ||
1302 | + "version": "7.8.3", | ||
1303 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", | ||
1304 | + "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", | ||
1305 | + "dev": true, | ||
1306 | + "requires": { | ||
1307 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1308 | + } | ||
1309 | + }, | ||
1310 | + "@babel/plugin-transform-sticky-regex": { | ||
1311 | + "version": "7.8.3", | ||
1312 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", | ||
1313 | + "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", | ||
1314 | + "dev": true, | ||
1315 | + "requires": { | ||
1316 | + "@babel/helper-plugin-utils": "^7.8.3", | ||
1317 | + "@babel/helper-regex": "^7.8.3" | ||
1318 | + } | ||
1319 | + }, | ||
1320 | + "@babel/plugin-transform-template-literals": { | ||
1321 | + "version": "7.8.3", | ||
1322 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", | ||
1323 | + "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", | ||
1324 | + "dev": true, | ||
1325 | + "requires": { | ||
1326 | + "@babel/helper-annotate-as-pure": "^7.8.3", | ||
1327 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1328 | + } | ||
1329 | + }, | ||
1330 | + "@babel/plugin-transform-typeof-symbol": { | ||
1331 | + "version": "7.8.4", | ||
1332 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", | ||
1333 | + "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", | ||
1334 | + "dev": true, | ||
1335 | + "requires": { | ||
1336 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1337 | + } | ||
1338 | + }, | ||
1339 | + "@babel/plugin-transform-unicode-regex": { | ||
1340 | + "version": "7.8.3", | ||
1341 | + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", | ||
1342 | + "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", | ||
1343 | + "dev": true, | ||
1344 | + "requires": { | ||
1345 | + "@babel/helper-create-regexp-features-plugin": "^7.8.3", | ||
1346 | + "@babel/helper-plugin-utils": "^7.8.3" | ||
1347 | + } | ||
1348 | + }, | ||
1349 | + "@babel/preset-env": { | ||
1350 | + "version": "7.3.4", | ||
1351 | + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", | ||
1352 | + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", | ||
1353 | + "dev": true, | ||
1354 | + "requires": { | ||
1355 | + "@babel/helper-module-imports": "^7.0.0", | ||
1356 | + "@babel/helper-plugin-utils": "^7.0.0", | ||
1357 | + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", | ||
1358 | + "@babel/plugin-proposal-json-strings": "^7.2.0", | ||
1359 | + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", | ||
1360 | + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", | ||
1361 | + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", | ||
1362 | + "@babel/plugin-syntax-async-generators": "^7.2.0", | ||
1363 | + "@babel/plugin-syntax-json-strings": "^7.2.0", | ||
1364 | + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", | ||
1365 | + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", | ||
1366 | + "@babel/plugin-transform-arrow-functions": "^7.2.0", | ||
1367 | + "@babel/plugin-transform-async-to-generator": "^7.3.4", | ||
1368 | + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", | ||
1369 | + "@babel/plugin-transform-block-scoping": "^7.3.4", | ||
1370 | + "@babel/plugin-transform-classes": "^7.3.4", | ||
1371 | + "@babel/plugin-transform-computed-properties": "^7.2.0", | ||
1372 | + "@babel/plugin-transform-destructuring": "^7.2.0", | ||
1373 | + "@babel/plugin-transform-dotall-regex": "^7.2.0", | ||
1374 | + "@babel/plugin-transform-duplicate-keys": "^7.2.0", | ||
1375 | + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", | ||
1376 | + "@babel/plugin-transform-for-of": "^7.2.0", | ||
1377 | + "@babel/plugin-transform-function-name": "^7.2.0", | ||
1378 | + "@babel/plugin-transform-literals": "^7.2.0", | ||
1379 | + "@babel/plugin-transform-modules-amd": "^7.2.0", | ||
1380 | + "@babel/plugin-transform-modules-commonjs": "^7.2.0", | ||
1381 | + "@babel/plugin-transform-modules-systemjs": "^7.3.4", | ||
1382 | + "@babel/plugin-transform-modules-umd": "^7.2.0", | ||
1383 | + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", | ||
1384 | + "@babel/plugin-transform-new-target": "^7.0.0", | ||
1385 | + "@babel/plugin-transform-object-super": "^7.2.0", | ||
1386 | + "@babel/plugin-transform-parameters": "^7.2.0", | ||
1387 | + "@babel/plugin-transform-regenerator": "^7.3.4", | ||
1388 | + "@babel/plugin-transform-shorthand-properties": "^7.2.0", | ||
1389 | + "@babel/plugin-transform-spread": "^7.2.0", | ||
1390 | + "@babel/plugin-transform-sticky-regex": "^7.2.0", | ||
1391 | + "@babel/plugin-transform-template-literals": "^7.2.0", | ||
1392 | + "@babel/plugin-transform-typeof-symbol": "^7.2.0", | ||
1393 | + "@babel/plugin-transform-unicode-regex": "^7.2.0", | ||
1394 | + "browserslist": "^4.3.4", | ||
1395 | + "invariant": "^2.2.2", | ||
1396 | + "js-levenshtein": "^1.1.3", | ||
1397 | + "semver": "^5.3.0" | ||
1398 | + } | ||
1399 | + }, | ||
1400 | + "@babel/runtime": { | ||
1401 | + "version": "7.3.4", | ||
1402 | + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz", | ||
1403 | + "integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==", | ||
1404 | + "dev": true, | ||
1405 | + "requires": { | ||
1406 | + "regenerator-runtime": "^0.12.0" | ||
1407 | + }, | ||
1408 | + "dependencies": { | ||
1409 | + "regenerator-runtime": { | ||
1410 | + "version": "0.12.1", | ||
1411 | + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", | ||
1412 | + "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==", | ||
1413 | + "dev": true | ||
1414 | + } | ||
1415 | + } | ||
1416 | + }, | ||
1417 | + "@babel/template": { | ||
1418 | + "version": "7.2.2", | ||
1419 | + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", | ||
1420 | + "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", | ||
1421 | + "dev": true, | ||
1422 | + "requires": { | ||
1423 | + "@babel/code-frame": "^7.0.0", | ||
1424 | + "@babel/parser": "^7.2.2", | ||
1425 | + "@babel/types": "^7.2.2" | ||
1426 | + } | ||
1427 | + }, | ||
1428 | + "@babel/traverse": { | ||
1429 | + "version": "7.3.4", | ||
1430 | + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", | ||
1431 | + "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", | ||
1432 | + "dev": true, | ||
1433 | + "requires": { | ||
1434 | + "@babel/code-frame": "^7.0.0", | ||
1435 | + "@babel/generator": "^7.3.4", | ||
1436 | + "@babel/helper-function-name": "^7.1.0", | ||
1437 | + "@babel/helper-split-export-declaration": "^7.0.0", | ||
1438 | + "@babel/parser": "^7.3.4", | ||
1439 | + "@babel/types": "^7.3.4", | ||
1440 | + "debug": "^4.1.0", | ||
1441 | + "globals": "^11.1.0", | ||
1442 | + "lodash": "^4.17.11" | ||
1443 | + } | ||
1444 | + }, | ||
1445 | + "@babel/types": { | ||
1446 | + "version": "7.3.4", | ||
1447 | + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", | ||
1448 | + "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", | ||
1449 | + "dev": true, | ||
1450 | + "requires": { | ||
1451 | + "esutils": "^2.0.2", | ||
1452 | + "lodash": "^4.17.11", | ||
1453 | + "to-fast-properties": "^2.0.0" | ||
1454 | + } | ||
1455 | + }, | ||
1456 | + "@iarna/toml": { | ||
1457 | + "version": "2.2.5", | ||
1458 | + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", | ||
1459 | + "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", | ||
1460 | + "dev": true | ||
1461 | + }, | ||
1462 | + "@mrmlnc/readdir-enhanced": { | ||
1463 | + "version": "2.2.1", | ||
1464 | + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", | ||
1465 | + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", | ||
1466 | + "dev": true, | ||
1467 | + "requires": { | ||
1468 | + "call-me-maybe": "^1.0.1", | ||
1469 | + "glob-to-regexp": "^0.3.0" | ||
1470 | + } | ||
1471 | + }, | ||
1472 | + "@nodelib/fs.stat": { | ||
1473 | + "version": "1.1.3", | ||
1474 | + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", | ||
1475 | + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", | ||
1476 | + "dev": true | ||
1477 | + }, | ||
1478 | + "@parcel/fs": { | ||
1479 | + "version": "1.11.0", | ||
1480 | + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz", | ||
1481 | + "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==", | ||
1482 | + "dev": true, | ||
1483 | + "requires": { | ||
1484 | + "@parcel/utils": "^1.11.0", | ||
1485 | + "mkdirp": "^0.5.1", | ||
1486 | + "rimraf": "^2.6.2" | ||
1487 | + } | ||
1488 | + }, | ||
1489 | + "@parcel/logger": { | ||
1490 | + "version": "1.11.1", | ||
1491 | + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz", | ||
1492 | + "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==", | ||
1493 | + "dev": true, | ||
1494 | + "requires": { | ||
1495 | + "@parcel/workers": "^1.11.0", | ||
1496 | + "chalk": "^2.1.0", | ||
1497 | + "grapheme-breaker": "^0.3.2", | ||
1498 | + "ora": "^2.1.0", | ||
1499 | + "strip-ansi": "^4.0.0" | ||
1500 | + } | ||
1501 | + }, | ||
1502 | + "@parcel/utils": { | ||
1503 | + "version": "1.11.0", | ||
1504 | + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz", | ||
1505 | + "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==", | ||
1506 | + "dev": true | ||
1507 | + }, | ||
1508 | + "@parcel/watcher": { | ||
1509 | + "version": "1.12.1", | ||
1510 | + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz", | ||
1511 | + "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==", | ||
1512 | + "dev": true, | ||
1513 | + "requires": { | ||
1514 | + "@parcel/utils": "^1.11.0", | ||
1515 | + "chokidar": "^2.1.5" | ||
1516 | + } | ||
1517 | + }, | ||
1518 | + "@parcel/workers": { | ||
1519 | + "version": "1.11.0", | ||
1520 | + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz", | ||
1521 | + "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==", | ||
1522 | + "dev": true, | ||
1523 | + "requires": { | ||
1524 | + "@parcel/utils": "^1.11.0", | ||
1525 | + "physical-cpu-count": "^2.0.0" | ||
1526 | + } | ||
1527 | + }, | ||
1528 | + "@types/q": { | ||
1529 | + "version": "1.5.2", | ||
1530 | + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", | ||
1531 | + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", | ||
1532 | + "dev": true | ||
1533 | + }, | ||
1534 | + "abab": { | ||
1535 | + "version": "2.0.3", | ||
1536 | + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz", | ||
1537 | + "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==", | ||
1538 | + "dev": true | ||
1539 | + }, | ||
1540 | + "abbrev": { | ||
1541 | + "version": "1.1.1", | ||
1542 | + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", | ||
1543 | + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", | ||
1544 | + "dev": true | ||
1545 | + }, | ||
1546 | + "acorn": { | ||
1547 | + "version": "7.1.1", | ||
1548 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz", | ||
1549 | + "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==", | ||
1550 | + "dev": true | ||
1551 | + }, | ||
1552 | + "acorn-globals": { | ||
1553 | + "version": "4.3.4", | ||
1554 | + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz", | ||
1555 | + "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==", | ||
1556 | + "dev": true, | ||
1557 | + "requires": { | ||
1558 | + "acorn": "^6.0.1", | ||
1559 | + "acorn-walk": "^6.0.1" | ||
1560 | + }, | ||
1561 | + "dependencies": { | ||
1562 | + "acorn": { | ||
1563 | + "version": "6.4.1", | ||
1564 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", | ||
1565 | + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", | ||
1566 | + "dev": true | ||
1567 | + } | ||
1568 | + } | ||
1569 | + }, | ||
1570 | + "acorn-walk": { | ||
1571 | + "version": "6.2.0", | ||
1572 | + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", | ||
1573 | + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", | ||
1574 | + "dev": true | ||
1575 | + }, | ||
1576 | + "ajv": { | ||
1577 | + "version": "6.12.2", | ||
1578 | + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", | ||
1579 | + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", | ||
1580 | + "requires": { | ||
1581 | + "fast-deep-equal": "^3.1.1", | ||
1582 | + "fast-json-stable-stringify": "^2.0.0", | ||
1583 | + "json-schema-traverse": "^0.4.1", | ||
1584 | + "uri-js": "^4.2.2" | ||
1585 | + } | ||
1586 | + }, | ||
1587 | + "alphanum-sort": { | ||
1588 | + "version": "1.0.2", | ||
1589 | + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", | ||
1590 | + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", | ||
1591 | + "dev": true | ||
1592 | + }, | ||
1593 | + "ansi-regex": { | ||
1594 | + "version": "3.0.0", | ||
1595 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", | ||
1596 | + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | ||
1597 | + "dev": true | ||
1598 | + }, | ||
1599 | + "ansi-styles": { | ||
1600 | + "version": "3.2.1", | ||
1601 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | ||
1602 | + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", | ||
1603 | + "dev": true, | ||
1604 | + "requires": { | ||
1605 | + "color-convert": "^1.9.0" | ||
1606 | + } | ||
1607 | + }, | ||
1608 | + "ansi-to-html": { | ||
1609 | + "version": "0.6.14", | ||
1610 | + "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz", | ||
1611 | + "integrity": "sha512-7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA==", | ||
1612 | + "dev": true, | ||
1613 | + "requires": { | ||
1614 | + "entities": "^1.1.2" | ||
1615 | + }, | ||
1616 | + "dependencies": { | ||
1617 | + "entities": { | ||
1618 | + "version": "1.1.2", | ||
1619 | + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", | ||
1620 | + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", | ||
1621 | + "dev": true | ||
1622 | + } | ||
1623 | + } | ||
1624 | + }, | ||
1625 | + "anymatch": { | ||
1626 | + "version": "2.0.0", | ||
1627 | + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", | ||
1628 | + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", | ||
1629 | + "dev": true, | ||
1630 | + "requires": { | ||
1631 | + "micromatch": "^3.1.4", | ||
1632 | + "normalize-path": "^2.1.1" | ||
1633 | + }, | ||
1634 | + "dependencies": { | ||
1635 | + "normalize-path": { | ||
1636 | + "version": "2.1.1", | ||
1637 | + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", | ||
1638 | + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", | ||
1639 | + "dev": true, | ||
1640 | + "requires": { | ||
1641 | + "remove-trailing-separator": "^1.0.1" | ||
1642 | + } | ||
1643 | + } | ||
1644 | + } | ||
1645 | + }, | ||
1646 | + "argparse": { | ||
1647 | + "version": "1.0.10", | ||
1648 | + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", | ||
1649 | + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", | ||
1650 | + "dev": true, | ||
1651 | + "requires": { | ||
1652 | + "sprintf-js": "~1.0.2" | ||
1653 | + } | ||
1654 | + }, | ||
1655 | + "arr-diff": { | ||
1656 | + "version": "4.0.0", | ||
1657 | + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", | ||
1658 | + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", | ||
1659 | + "dev": true | ||
1660 | + }, | ||
1661 | + "arr-flatten": { | ||
1662 | + "version": "1.1.0", | ||
1663 | + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", | ||
1664 | + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", | ||
1665 | + "dev": true | ||
1666 | + }, | ||
1667 | + "arr-union": { | ||
1668 | + "version": "3.1.0", | ||
1669 | + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", | ||
1670 | + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", | ||
1671 | + "dev": true | ||
1672 | + }, | ||
1673 | + "array-equal": { | ||
1674 | + "version": "1.0.0", | ||
1675 | + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", | ||
1676 | + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", | ||
1677 | + "dev": true | ||
1678 | + }, | ||
1679 | + "array-unique": { | ||
1680 | + "version": "0.3.2", | ||
1681 | + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", | ||
1682 | + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", | ||
1683 | + "dev": true | ||
1684 | + }, | ||
1685 | + "asn1": { | ||
1686 | + "version": "0.2.4", | ||
1687 | + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", | ||
1688 | + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", | ||
1689 | + "requires": { | ||
1690 | + "safer-buffer": "~2.1.0" | ||
1691 | + } | ||
1692 | + }, | ||
1693 | + "asn1.js": { | ||
1694 | + "version": "4.10.1", | ||
1695 | + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", | ||
1696 | + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", | ||
1697 | + "dev": true, | ||
1698 | + "requires": { | ||
1699 | + "bn.js": "^4.0.0", | ||
1700 | + "inherits": "^2.0.1", | ||
1701 | + "minimalistic-assert": "^1.0.0" | ||
1702 | + } | ||
1703 | + }, | ||
1704 | + "assert": { | ||
1705 | + "version": "1.5.0", | ||
1706 | + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", | ||
1707 | + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", | ||
1708 | + "dev": true, | ||
1709 | + "requires": { | ||
1710 | + "object-assign": "^4.1.1", | ||
1711 | + "util": "0.10.3" | ||
1712 | + }, | ||
1713 | + "dependencies": { | ||
1714 | + "inherits": { | ||
1715 | + "version": "2.0.1", | ||
1716 | + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", | ||
1717 | + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", | ||
1718 | + "dev": true | ||
1719 | + }, | ||
1720 | + "util": { | ||
1721 | + "version": "0.10.3", | ||
1722 | + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", | ||
1723 | + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", | ||
1724 | + "dev": true, | ||
1725 | + "requires": { | ||
1726 | + "inherits": "2.0.1" | ||
1727 | + } | ||
1728 | + } | ||
1729 | + } | ||
1730 | + }, | ||
1731 | + "assert-plus": { | ||
1732 | + "version": "1.0.0", | ||
1733 | + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", | ||
1734 | + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" | ||
1735 | + }, | ||
1736 | + "assign-symbols": { | ||
1737 | + "version": "1.0.0", | ||
1738 | + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", | ||
1739 | + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", | ||
1740 | + "dev": true | ||
1741 | + }, | ||
1742 | + "async-each": { | ||
1743 | + "version": "1.0.3", | ||
1744 | + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", | ||
1745 | + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", | ||
1746 | + "dev": true | ||
1747 | + }, | ||
1748 | + "async-limiter": { | ||
1749 | + "version": "1.0.1", | ||
1750 | + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", | ||
1751 | + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", | ||
1752 | + "dev": true | ||
1753 | + }, | ||
1754 | + "asynckit": { | ||
1755 | + "version": "0.4.0", | ||
1756 | + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", | ||
1757 | + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" | ||
1758 | + }, | ||
1759 | + "atob": { | ||
1760 | + "version": "2.1.2", | ||
1761 | + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", | ||
1762 | + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", | ||
1763 | + "dev": true | ||
1764 | + }, | ||
1765 | + "aws-sign2": { | ||
1766 | + "version": "0.7.0", | ||
1767 | + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", | ||
1768 | + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" | ||
1769 | + }, | ||
1770 | + "aws4": { | ||
1771 | + "version": "1.9.1", | ||
1772 | + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", | ||
1773 | + "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==" | ||
1774 | + }, | ||
1775 | + "babel-plugin-dynamic-import-node": { | ||
1776 | + "version": "2.3.3", | ||
1777 | + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", | ||
1778 | + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", | ||
1779 | + "dev": true, | ||
1780 | + "requires": { | ||
1781 | + "object.assign": "^4.1.0" | ||
1782 | + } | ||
1783 | + }, | ||
1784 | + "babel-runtime": { | ||
1785 | + "version": "6.26.0", | ||
1786 | + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", | ||
1787 | + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", | ||
1788 | + "dev": true, | ||
1789 | + "requires": { | ||
1790 | + "core-js": "^2.4.0", | ||
1791 | + "regenerator-runtime": "^0.11.0" | ||
1792 | + }, | ||
1793 | + "dependencies": { | ||
1794 | + "regenerator-runtime": { | ||
1795 | + "version": "0.11.1", | ||
1796 | + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", | ||
1797 | + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", | ||
1798 | + "dev": true | ||
1799 | + } | ||
1800 | + } | ||
1801 | + }, | ||
1802 | + "babel-types": { | ||
1803 | + "version": "6.26.0", | ||
1804 | + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", | ||
1805 | + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", | ||
1806 | + "dev": true, | ||
1807 | + "requires": { | ||
1808 | + "babel-runtime": "^6.26.0", | ||
1809 | + "esutils": "^2.0.2", | ||
1810 | + "lodash": "^4.17.4", | ||
1811 | + "to-fast-properties": "^1.0.3" | ||
1812 | + }, | ||
1813 | + "dependencies": { | ||
1814 | + "to-fast-properties": { | ||
1815 | + "version": "1.0.3", | ||
1816 | + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", | ||
1817 | + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", | ||
1818 | + "dev": true | ||
1819 | + } | ||
1820 | + } | ||
1821 | + }, | ||
1822 | + "babylon-walk": { | ||
1823 | + "version": "1.0.2", | ||
1824 | + "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz", | ||
1825 | + "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=", | ||
1826 | + "dev": true, | ||
1827 | + "requires": { | ||
1828 | + "babel-runtime": "^6.11.6", | ||
1829 | + "babel-types": "^6.15.0", | ||
1830 | + "lodash.clone": "^4.5.0" | ||
1831 | + } | ||
1832 | + }, | ||
1833 | "balanced-match": { | ||
1834 | "version": "1.0.0", | ||
1835 | - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | ||
1836 | - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", | ||
1837 | + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", | ||
1838 | + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", | ||
1839 | + "dev": true | ||
1840 | + }, | ||
1841 | + "base": { | ||
1842 | + "version": "0.11.2", | ||
1843 | + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", | ||
1844 | + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", | ||
1845 | + "dev": true, | ||
1846 | + "requires": { | ||
1847 | + "cache-base": "^1.0.1", | ||
1848 | + "class-utils": "^0.3.5", | ||
1849 | + "component-emitter": "^1.2.1", | ||
1850 | + "define-property": "^1.0.0", | ||
1851 | + "isobject": "^3.0.1", | ||
1852 | + "mixin-deep": "^1.2.0", | ||
1853 | + "pascalcase": "^0.1.1" | ||
1854 | + }, | ||
1855 | + "dependencies": { | ||
1856 | + "define-property": { | ||
1857 | + "version": "1.0.0", | ||
1858 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", | ||
1859 | + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", | ||
1860 | + "dev": true, | ||
1861 | + "requires": { | ||
1862 | + "is-descriptor": "^1.0.0" | ||
1863 | + } | ||
1864 | + }, | ||
1865 | + "is-accessor-descriptor": { | ||
1866 | + "version": "1.0.0", | ||
1867 | + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", | ||
1868 | + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", | ||
1869 | + "dev": true, | ||
1870 | + "requires": { | ||
1871 | + "kind-of": "^6.0.0" | ||
1872 | + } | ||
1873 | + }, | ||
1874 | + "is-data-descriptor": { | ||
1875 | + "version": "1.0.0", | ||
1876 | + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", | ||
1877 | + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", | ||
1878 | + "dev": true, | ||
1879 | + "requires": { | ||
1880 | + "kind-of": "^6.0.0" | ||
1881 | + } | ||
1882 | + }, | ||
1883 | + "is-descriptor": { | ||
1884 | + "version": "1.0.2", | ||
1885 | + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", | ||
1886 | + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", | ||
1887 | + "dev": true, | ||
1888 | + "requires": { | ||
1889 | + "is-accessor-descriptor": "^1.0.0", | ||
1890 | + "is-data-descriptor": "^1.0.0", | ||
1891 | + "kind-of": "^6.0.2" | ||
1892 | + } | ||
1893 | + } | ||
1894 | + } | ||
1895 | + }, | ||
1896 | + "base64-js": { | ||
1897 | + "version": "1.3.1", | ||
1898 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", | ||
1899 | + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", | ||
1900 | + "dev": true | ||
1901 | + }, | ||
1902 | + "bcrypt-pbkdf": { | ||
1903 | + "version": "1.0.2", | ||
1904 | + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", | ||
1905 | + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", | ||
1906 | + "requires": { | ||
1907 | + "tweetnacl": "^0.14.3" | ||
1908 | + } | ||
1909 | + }, | ||
1910 | + "binary-extensions": { | ||
1911 | + "version": "1.13.1", | ||
1912 | + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", | ||
1913 | + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", | ||
1914 | + "dev": true | ||
1915 | + }, | ||
1916 | + "bindings": { | ||
1917 | + "version": "1.5.0", | ||
1918 | + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", | ||
1919 | + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", | ||
1920 | + "dev": true, | ||
1921 | + "requires": { | ||
1922 | + "file-uri-to-path": "1.0.0" | ||
1923 | + } | ||
1924 | + }, | ||
1925 | + "bn.js": { | ||
1926 | + "version": "4.11.8", | ||
1927 | + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", | ||
1928 | + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", | ||
1929 | + "dev": true | ||
1930 | + }, | ||
1931 | + "boolbase": { | ||
1932 | + "version": "1.0.0", | ||
1933 | + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", | ||
1934 | + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", | ||
1935 | + "dev": true | ||
1936 | + }, | ||
1937 | + "brace-expansion": { | ||
1938 | + "version": "1.1.11", | ||
1939 | + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
1940 | + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
1941 | + "dev": true, | ||
1942 | + "requires": { | ||
1943 | + "balanced-match": "^1.0.0", | ||
1944 | + "concat-map": "0.0.1" | ||
1945 | + } | ||
1946 | + }, | ||
1947 | + "braces": { | ||
1948 | + "version": "2.3.2", | ||
1949 | + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", | ||
1950 | + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", | ||
1951 | + "dev": true, | ||
1952 | + "requires": { | ||
1953 | + "arr-flatten": "^1.1.0", | ||
1954 | + "array-unique": "^0.3.2", | ||
1955 | + "extend-shallow": "^2.0.1", | ||
1956 | + "fill-range": "^4.0.0", | ||
1957 | + "isobject": "^3.0.1", | ||
1958 | + "repeat-element": "^1.1.2", | ||
1959 | + "snapdragon": "^0.8.1", | ||
1960 | + "snapdragon-node": "^2.0.1", | ||
1961 | + "split-string": "^3.0.2", | ||
1962 | + "to-regex": "^3.0.1" | ||
1963 | + }, | ||
1964 | + "dependencies": { | ||
1965 | + "extend-shallow": { | ||
1966 | + "version": "2.0.1", | ||
1967 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
1968 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
1969 | + "dev": true, | ||
1970 | + "requires": { | ||
1971 | + "is-extendable": "^0.1.0" | ||
1972 | + } | ||
1973 | + } | ||
1974 | + } | ||
1975 | + }, | ||
1976 | + "brfs": { | ||
1977 | + "version": "1.6.1", | ||
1978 | + "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz", | ||
1979 | + "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==", | ||
1980 | + "dev": true, | ||
1981 | + "requires": { | ||
1982 | + "quote-stream": "^1.0.1", | ||
1983 | + "resolve": "^1.1.5", | ||
1984 | + "static-module": "^2.2.0", | ||
1985 | + "through2": "^2.0.0" | ||
1986 | + } | ||
1987 | + }, | ||
1988 | + "brorand": { | ||
1989 | + "version": "1.1.0", | ||
1990 | + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", | ||
1991 | + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", | ||
1992 | + "dev": true | ||
1993 | + }, | ||
1994 | + "browser-process-hrtime": { | ||
1995 | + "version": "1.0.0", | ||
1996 | + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", | ||
1997 | + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", | ||
1998 | + "dev": true | ||
1999 | + }, | ||
2000 | + "browserify-aes": { | ||
2001 | + "version": "1.2.0", | ||
2002 | + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", | ||
2003 | + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", | ||
2004 | + "dev": true, | ||
2005 | + "requires": { | ||
2006 | + "buffer-xor": "^1.0.3", | ||
2007 | + "cipher-base": "^1.0.0", | ||
2008 | + "create-hash": "^1.1.0", | ||
2009 | + "evp_bytestokey": "^1.0.3", | ||
2010 | + "inherits": "^2.0.1", | ||
2011 | + "safe-buffer": "^5.0.1" | ||
2012 | + } | ||
2013 | + }, | ||
2014 | + "browserify-cipher": { | ||
2015 | + "version": "1.0.1", | ||
2016 | + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", | ||
2017 | + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", | ||
2018 | + "dev": true, | ||
2019 | + "requires": { | ||
2020 | + "browserify-aes": "^1.0.4", | ||
2021 | + "browserify-des": "^1.0.0", | ||
2022 | + "evp_bytestokey": "^1.0.0" | ||
2023 | + } | ||
2024 | + }, | ||
2025 | + "browserify-des": { | ||
2026 | + "version": "1.0.2", | ||
2027 | + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", | ||
2028 | + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", | ||
2029 | + "dev": true, | ||
2030 | + "requires": { | ||
2031 | + "cipher-base": "^1.0.1", | ||
2032 | + "des.js": "^1.0.0", | ||
2033 | + "inherits": "^2.0.1", | ||
2034 | + "safe-buffer": "^5.1.2" | ||
2035 | + } | ||
2036 | + }, | ||
2037 | + "browserify-rsa": { | ||
2038 | + "version": "4.0.1", | ||
2039 | + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", | ||
2040 | + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", | ||
2041 | + "dev": true, | ||
2042 | + "requires": { | ||
2043 | + "bn.js": "^4.1.0", | ||
2044 | + "randombytes": "^2.0.1" | ||
2045 | + } | ||
2046 | + }, | ||
2047 | + "browserify-sign": { | ||
2048 | + "version": "4.0.4", | ||
2049 | + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", | ||
2050 | + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", | ||
2051 | + "dev": true, | ||
2052 | + "requires": { | ||
2053 | + "bn.js": "^4.1.1", | ||
2054 | + "browserify-rsa": "^4.0.0", | ||
2055 | + "create-hash": "^1.1.0", | ||
2056 | + "create-hmac": "^1.1.2", | ||
2057 | + "elliptic": "^6.0.0", | ||
2058 | + "inherits": "^2.0.1", | ||
2059 | + "parse-asn1": "^5.0.0" | ||
2060 | + } | ||
2061 | + }, | ||
2062 | + "browserify-zlib": { | ||
2063 | + "version": "0.2.0", | ||
2064 | + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", | ||
2065 | + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", | ||
2066 | + "dev": true, | ||
2067 | + "requires": { | ||
2068 | + "pako": "~1.0.5" | ||
2069 | + }, | ||
2070 | + "dependencies": { | ||
2071 | + "pako": { | ||
2072 | + "version": "1.0.11", | ||
2073 | + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", | ||
2074 | + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", | ||
2075 | + "dev": true | ||
2076 | + } | ||
2077 | + } | ||
2078 | + }, | ||
2079 | + "browserslist": { | ||
2080 | + "version": "4.12.0", | ||
2081 | + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", | ||
2082 | + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", | ||
2083 | + "dev": true, | ||
2084 | + "requires": { | ||
2085 | + "caniuse-lite": "^1.0.30001043", | ||
2086 | + "electron-to-chromium": "^1.3.413", | ||
2087 | + "node-releases": "^1.1.53", | ||
2088 | + "pkg-up": "^2.0.0" | ||
2089 | + } | ||
2090 | + }, | ||
2091 | + "buffer": { | ||
2092 | + "version": "4.9.2", | ||
2093 | + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", | ||
2094 | + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", | ||
2095 | + "dev": true, | ||
2096 | + "requires": { | ||
2097 | + "base64-js": "^1.0.2", | ||
2098 | + "ieee754": "^1.1.4", | ||
2099 | + "isarray": "^1.0.0" | ||
2100 | + } | ||
2101 | + }, | ||
2102 | + "buffer-equal": { | ||
2103 | + "version": "0.0.1", | ||
2104 | + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", | ||
2105 | + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", | ||
2106 | + "dev": true | ||
2107 | + }, | ||
2108 | + "buffer-from": { | ||
2109 | + "version": "1.1.1", | ||
2110 | + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", | ||
2111 | + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", | ||
2112 | + "dev": true | ||
2113 | + }, | ||
2114 | + "buffer-xor": { | ||
2115 | + "version": "1.0.3", | ||
2116 | + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", | ||
2117 | + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", | ||
2118 | + "dev": true | ||
2119 | + }, | ||
2120 | + "builtin-status-codes": { | ||
2121 | + "version": "3.0.0", | ||
2122 | + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", | ||
2123 | + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", | ||
2124 | + "dev": true | ||
2125 | + }, | ||
2126 | + "cache-base": { | ||
2127 | + "version": "1.0.1", | ||
2128 | + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", | ||
2129 | + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", | ||
2130 | + "dev": true, | ||
2131 | + "requires": { | ||
2132 | + "collection-visit": "^1.0.0", | ||
2133 | + "component-emitter": "^1.2.1", | ||
2134 | + "get-value": "^2.0.6", | ||
2135 | + "has-value": "^1.0.0", | ||
2136 | + "isobject": "^3.0.1", | ||
2137 | + "set-value": "^2.0.0", | ||
2138 | + "to-object-path": "^0.3.0", | ||
2139 | + "union-value": "^1.0.0", | ||
2140 | + "unset-value": "^1.0.0" | ||
2141 | + } | ||
2142 | + }, | ||
2143 | + "call-me-maybe": { | ||
2144 | + "version": "1.0.1", | ||
2145 | + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", | ||
2146 | + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", | ||
2147 | + "dev": true | ||
2148 | + }, | ||
2149 | + "caller-callsite": { | ||
2150 | + "version": "2.0.0", | ||
2151 | + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", | ||
2152 | + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", | ||
2153 | + "dev": true, | ||
2154 | + "requires": { | ||
2155 | + "callsites": "^2.0.0" | ||
2156 | + } | ||
2157 | + }, | ||
2158 | + "caller-path": { | ||
2159 | + "version": "2.0.0", | ||
2160 | + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", | ||
2161 | + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", | ||
2162 | + "dev": true, | ||
2163 | + "requires": { | ||
2164 | + "caller-callsite": "^2.0.0" | ||
2165 | + } | ||
2166 | + }, | ||
2167 | + "callsites": { | ||
2168 | + "version": "2.0.0", | ||
2169 | + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", | ||
2170 | + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", | ||
2171 | + "dev": true | ||
2172 | + }, | ||
2173 | + "camelcase": { | ||
2174 | + "version": "5.3.1", | ||
2175 | + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", | ||
2176 | + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", | ||
2177 | + "dev": true | ||
2178 | + }, | ||
2179 | + "caniuse-api": { | ||
2180 | + "version": "3.0.0", | ||
2181 | + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", | ||
2182 | + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", | ||
2183 | + "dev": true, | ||
2184 | + "requires": { | ||
2185 | + "browserslist": "^4.0.0", | ||
2186 | + "caniuse-lite": "^1.0.0", | ||
2187 | + "lodash.memoize": "^4.1.2", | ||
2188 | + "lodash.uniq": "^4.5.0" | ||
2189 | + } | ||
2190 | + }, | ||
2191 | + "caniuse-lite": { | ||
2192 | + "version": "1.0.30001048", | ||
2193 | + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz", | ||
2194 | + "integrity": "sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg==", | ||
2195 | + "dev": true | ||
2196 | + }, | ||
2197 | + "caseless": { | ||
2198 | + "version": "0.12.0", | ||
2199 | + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", | ||
2200 | + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" | ||
2201 | + }, | ||
2202 | + "chalk": { | ||
2203 | + "version": "2.4.2", | ||
2204 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", | ||
2205 | + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", | ||
2206 | + "dev": true, | ||
2207 | + "requires": { | ||
2208 | + "ansi-styles": "^3.2.1", | ||
2209 | + "escape-string-regexp": "^1.0.5", | ||
2210 | + "supports-color": "^5.3.0" | ||
2211 | + }, | ||
2212 | + "dependencies": { | ||
2213 | + "supports-color": { | ||
2214 | + "version": "5.5.0", | ||
2215 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
2216 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
2217 | + "dev": true, | ||
2218 | + "requires": { | ||
2219 | + "has-flag": "^3.0.0" | ||
2220 | + } | ||
2221 | + } | ||
2222 | + } | ||
2223 | + }, | ||
2224 | + "chokidar": { | ||
2225 | + "version": "2.1.8", | ||
2226 | + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", | ||
2227 | + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", | ||
2228 | + "dev": true, | ||
2229 | + "requires": { | ||
2230 | + "anymatch": "^2.0.0", | ||
2231 | + "async-each": "^1.0.1", | ||
2232 | + "braces": "^2.3.2", | ||
2233 | + "fsevents": "^1.2.7", | ||
2234 | + "glob-parent": "^3.1.0", | ||
2235 | + "inherits": "^2.0.3", | ||
2236 | + "is-binary-path": "^1.0.0", | ||
2237 | + "is-glob": "^4.0.0", | ||
2238 | + "normalize-path": "^3.0.0", | ||
2239 | + "path-is-absolute": "^1.0.0", | ||
2240 | + "readdirp": "^2.2.1", | ||
2241 | + "upath": "^1.1.1" | ||
2242 | + }, | ||
2243 | + "dependencies": { | ||
2244 | + "fsevents": { | ||
2245 | + "version": "1.2.12", | ||
2246 | + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz", | ||
2247 | + "integrity": "sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q==", | ||
2248 | + "dev": true, | ||
2249 | + "optional": true, | ||
2250 | + "requires": { | ||
2251 | + "bindings": "^1.5.0", | ||
2252 | + "nan": "^2.12.1", | ||
2253 | + "node-pre-gyp": "*" | ||
2254 | + }, | ||
2255 | + "dependencies": { | ||
2256 | + "abbrev": { | ||
2257 | + "version": "1.1.1", | ||
2258 | + "bundled": true, | ||
2259 | + "dev": true, | ||
2260 | + "optional": true | ||
2261 | + }, | ||
2262 | + "ansi-regex": { | ||
2263 | + "version": "2.1.1", | ||
2264 | + "bundled": true, | ||
2265 | + "dev": true, | ||
2266 | + "optional": true | ||
2267 | + }, | ||
2268 | + "aproba": { | ||
2269 | + "version": "1.2.0", | ||
2270 | + "bundled": true, | ||
2271 | + "dev": true, | ||
2272 | + "optional": true | ||
2273 | + }, | ||
2274 | + "are-we-there-yet": { | ||
2275 | + "version": "1.1.5", | ||
2276 | + "bundled": true, | ||
2277 | + "dev": true, | ||
2278 | + "optional": true, | ||
2279 | + "requires": { | ||
2280 | + "delegates": "^1.0.0", | ||
2281 | + "readable-stream": "^2.0.6" | ||
2282 | + } | ||
2283 | + }, | ||
2284 | + "balanced-match": { | ||
2285 | + "version": "1.0.0", | ||
2286 | + "bundled": true, | ||
2287 | + "dev": true, | ||
2288 | + "optional": true | ||
2289 | + }, | ||
2290 | + "brace-expansion": { | ||
2291 | + "version": "1.1.11", | ||
2292 | + "bundled": true, | ||
2293 | + "dev": true, | ||
2294 | + "optional": true, | ||
2295 | + "requires": { | ||
2296 | + "balanced-match": "^1.0.0", | ||
2297 | + "concat-map": "0.0.1" | ||
2298 | + } | ||
2299 | + }, | ||
2300 | + "chownr": { | ||
2301 | + "version": "1.1.4", | ||
2302 | + "bundled": true, | ||
2303 | + "dev": true, | ||
2304 | + "optional": true | ||
2305 | + }, | ||
2306 | + "code-point-at": { | ||
2307 | + "version": "1.1.0", | ||
2308 | + "bundled": true, | ||
2309 | + "dev": true, | ||
2310 | + "optional": true | ||
2311 | + }, | ||
2312 | + "concat-map": { | ||
2313 | + "version": "0.0.1", | ||
2314 | + "bundled": true, | ||
2315 | + "dev": true, | ||
2316 | + "optional": true | ||
2317 | + }, | ||
2318 | + "console-control-strings": { | ||
2319 | + "version": "1.1.0", | ||
2320 | + "bundled": true, | ||
2321 | + "dev": true, | ||
2322 | + "optional": true | ||
2323 | + }, | ||
2324 | + "core-util-is": { | ||
2325 | + "version": "1.0.2", | ||
2326 | + "bundled": true, | ||
2327 | + "dev": true, | ||
2328 | + "optional": true | ||
2329 | + }, | ||
2330 | + "debug": { | ||
2331 | + "version": "3.2.6", | ||
2332 | + "bundled": true, | ||
2333 | + "dev": true, | ||
2334 | + "optional": true, | ||
2335 | + "requires": { | ||
2336 | + "ms": "^2.1.1" | ||
2337 | + } | ||
2338 | + }, | ||
2339 | + "deep-extend": { | ||
2340 | + "version": "0.6.0", | ||
2341 | + "bundled": true, | ||
2342 | + "dev": true, | ||
2343 | + "optional": true | ||
2344 | + }, | ||
2345 | + "delegates": { | ||
2346 | + "version": "1.0.0", | ||
2347 | + "bundled": true, | ||
2348 | + "dev": true, | ||
2349 | + "optional": true | ||
2350 | + }, | ||
2351 | + "detect-libc": { | ||
2352 | + "version": "1.0.3", | ||
2353 | + "bundled": true, | ||
2354 | + "dev": true, | ||
2355 | + "optional": true | ||
2356 | + }, | ||
2357 | + "fs-minipass": { | ||
2358 | + "version": "1.2.7", | ||
2359 | + "bundled": true, | ||
2360 | + "dev": true, | ||
2361 | + "optional": true, | ||
2362 | + "requires": { | ||
2363 | + "minipass": "^2.6.0" | ||
2364 | + } | ||
2365 | + }, | ||
2366 | + "fs.realpath": { | ||
2367 | + "version": "1.0.0", | ||
2368 | + "bundled": true, | ||
2369 | + "dev": true, | ||
2370 | + "optional": true | ||
2371 | + }, | ||
2372 | + "gauge": { | ||
2373 | + "version": "2.7.4", | ||
2374 | + "bundled": true, | ||
2375 | + "dev": true, | ||
2376 | + "optional": true, | ||
2377 | + "requires": { | ||
2378 | + "aproba": "^1.0.3", | ||
2379 | + "console-control-strings": "^1.0.0", | ||
2380 | + "has-unicode": "^2.0.0", | ||
2381 | + "object-assign": "^4.1.0", | ||
2382 | + "signal-exit": "^3.0.0", | ||
2383 | + "string-width": "^1.0.1", | ||
2384 | + "strip-ansi": "^3.0.1", | ||
2385 | + "wide-align": "^1.1.0" | ||
2386 | + } | ||
2387 | + }, | ||
2388 | + "glob": { | ||
2389 | + "version": "7.1.6", | ||
2390 | + "bundled": true, | ||
2391 | + "dev": true, | ||
2392 | + "optional": true, | ||
2393 | + "requires": { | ||
2394 | + "fs.realpath": "^1.0.0", | ||
2395 | + "inflight": "^1.0.4", | ||
2396 | + "inherits": "2", | ||
2397 | + "minimatch": "^3.0.4", | ||
2398 | + "once": "^1.3.0", | ||
2399 | + "path-is-absolute": "^1.0.0" | ||
2400 | + } | ||
2401 | + }, | ||
2402 | + "has-unicode": { | ||
2403 | + "version": "2.0.1", | ||
2404 | + "bundled": true, | ||
2405 | + "dev": true, | ||
2406 | + "optional": true | ||
2407 | + }, | ||
2408 | + "iconv-lite": { | ||
2409 | + "version": "0.4.24", | ||
2410 | + "bundled": true, | ||
2411 | + "dev": true, | ||
2412 | + "optional": true, | ||
2413 | + "requires": { | ||
2414 | + "safer-buffer": ">= 2.1.2 < 3" | ||
2415 | + } | ||
2416 | + }, | ||
2417 | + "ignore-walk": { | ||
2418 | + "version": "3.0.3", | ||
2419 | + "bundled": true, | ||
2420 | + "dev": true, | ||
2421 | + "optional": true, | ||
2422 | + "requires": { | ||
2423 | + "minimatch": "^3.0.4" | ||
2424 | + } | ||
2425 | + }, | ||
2426 | + "inflight": { | ||
2427 | + "version": "1.0.6", | ||
2428 | + "bundled": true, | ||
2429 | + "dev": true, | ||
2430 | + "optional": true, | ||
2431 | + "requires": { | ||
2432 | + "once": "^1.3.0", | ||
2433 | + "wrappy": "1" | ||
2434 | + } | ||
2435 | + }, | ||
2436 | + "inherits": { | ||
2437 | + "version": "2.0.4", | ||
2438 | + "bundled": true, | ||
2439 | + "dev": true, | ||
2440 | + "optional": true | ||
2441 | + }, | ||
2442 | + "ini": { | ||
2443 | + "version": "1.3.5", | ||
2444 | + "bundled": true, | ||
2445 | + "dev": true, | ||
2446 | + "optional": true | ||
2447 | + }, | ||
2448 | + "is-fullwidth-code-point": { | ||
2449 | + "version": "1.0.0", | ||
2450 | + "bundled": true, | ||
2451 | + "dev": true, | ||
2452 | + "optional": true, | ||
2453 | + "requires": { | ||
2454 | + "number-is-nan": "^1.0.0" | ||
2455 | + } | ||
2456 | + }, | ||
2457 | + "isarray": { | ||
2458 | + "version": "1.0.0", | ||
2459 | + "bundled": true, | ||
2460 | + "dev": true, | ||
2461 | + "optional": true | ||
2462 | + }, | ||
2463 | + "minimatch": { | ||
2464 | + "version": "3.0.4", | ||
2465 | + "bundled": true, | ||
2466 | + "dev": true, | ||
2467 | + "optional": true, | ||
2468 | + "requires": { | ||
2469 | + "brace-expansion": "^1.1.7" | ||
2470 | + } | ||
2471 | + }, | ||
2472 | + "minimist": { | ||
2473 | + "version": "1.2.5", | ||
2474 | + "bundled": true, | ||
2475 | + "dev": true, | ||
2476 | + "optional": true | ||
2477 | + }, | ||
2478 | + "minipass": { | ||
2479 | + "version": "2.9.0", | ||
2480 | + "bundled": true, | ||
2481 | + "dev": true, | ||
2482 | + "optional": true, | ||
2483 | + "requires": { | ||
2484 | + "safe-buffer": "^5.1.2", | ||
2485 | + "yallist": "^3.0.0" | ||
2486 | + } | ||
2487 | + }, | ||
2488 | + "minizlib": { | ||
2489 | + "version": "1.3.3", | ||
2490 | + "bundled": true, | ||
2491 | + "dev": true, | ||
2492 | + "optional": true, | ||
2493 | + "requires": { | ||
2494 | + "minipass": "^2.9.0" | ||
2495 | + } | ||
2496 | + }, | ||
2497 | + "mkdirp": { | ||
2498 | + "version": "0.5.3", | ||
2499 | + "bundled": true, | ||
2500 | + "dev": true, | ||
2501 | + "optional": true, | ||
2502 | + "requires": { | ||
2503 | + "minimist": "^1.2.5" | ||
2504 | + } | ||
2505 | + }, | ||
2506 | + "ms": { | ||
2507 | + "version": "2.1.2", | ||
2508 | + "bundled": true, | ||
2509 | + "dev": true, | ||
2510 | + "optional": true | ||
2511 | + }, | ||
2512 | + "needle": { | ||
2513 | + "version": "2.3.3", | ||
2514 | + "bundled": true, | ||
2515 | + "dev": true, | ||
2516 | + "optional": true, | ||
2517 | + "requires": { | ||
2518 | + "debug": "^3.2.6", | ||
2519 | + "iconv-lite": "^0.4.4", | ||
2520 | + "sax": "^1.2.4" | ||
2521 | + } | ||
2522 | + }, | ||
2523 | + "node-pre-gyp": { | ||
2524 | + "version": "0.14.0", | ||
2525 | + "bundled": true, | ||
2526 | + "dev": true, | ||
2527 | + "optional": true, | ||
2528 | + "requires": { | ||
2529 | + "detect-libc": "^1.0.2", | ||
2530 | + "mkdirp": "^0.5.1", | ||
2531 | + "needle": "^2.2.1", | ||
2532 | + "nopt": "^4.0.1", | ||
2533 | + "npm-packlist": "^1.1.6", | ||
2534 | + "npmlog": "^4.0.2", | ||
2535 | + "rc": "^1.2.7", | ||
2536 | + "rimraf": "^2.6.1", | ||
2537 | + "semver": "^5.3.0", | ||
2538 | + "tar": "^4.4.2" | ||
2539 | + } | ||
2540 | + }, | ||
2541 | + "nopt": { | ||
2542 | + "version": "4.0.3", | ||
2543 | + "bundled": true, | ||
2544 | + "dev": true, | ||
2545 | + "optional": true, | ||
2546 | + "requires": { | ||
2547 | + "abbrev": "1", | ||
2548 | + "osenv": "^0.1.4" | ||
2549 | + } | ||
2550 | + }, | ||
2551 | + "npm-bundled": { | ||
2552 | + "version": "1.1.1", | ||
2553 | + "bundled": true, | ||
2554 | + "dev": true, | ||
2555 | + "optional": true, | ||
2556 | + "requires": { | ||
2557 | + "npm-normalize-package-bin": "^1.0.1" | ||
2558 | + } | ||
2559 | + }, | ||
2560 | + "npm-normalize-package-bin": { | ||
2561 | + "version": "1.0.1", | ||
2562 | + "bundled": true, | ||
2563 | + "dev": true, | ||
2564 | + "optional": true | ||
2565 | + }, | ||
2566 | + "npm-packlist": { | ||
2567 | + "version": "1.4.8", | ||
2568 | + "bundled": true, | ||
2569 | + "dev": true, | ||
2570 | + "optional": true, | ||
2571 | + "requires": { | ||
2572 | + "ignore-walk": "^3.0.1", | ||
2573 | + "npm-bundled": "^1.0.1", | ||
2574 | + "npm-normalize-package-bin": "^1.0.1" | ||
2575 | + } | ||
2576 | + }, | ||
2577 | + "npmlog": { | ||
2578 | + "version": "4.1.2", | ||
2579 | + "bundled": true, | ||
2580 | + "dev": true, | ||
2581 | + "optional": true, | ||
2582 | + "requires": { | ||
2583 | + "are-we-there-yet": "~1.1.2", | ||
2584 | + "console-control-strings": "~1.1.0", | ||
2585 | + "gauge": "~2.7.3", | ||
2586 | + "set-blocking": "~2.0.0" | ||
2587 | + } | ||
2588 | + }, | ||
2589 | + "number-is-nan": { | ||
2590 | + "version": "1.0.1", | ||
2591 | + "bundled": true, | ||
2592 | + "dev": true, | ||
2593 | + "optional": true | ||
2594 | + }, | ||
2595 | + "object-assign": { | ||
2596 | + "version": "4.1.1", | ||
2597 | + "bundled": true, | ||
2598 | + "dev": true, | ||
2599 | + "optional": true | ||
2600 | + }, | ||
2601 | + "once": { | ||
2602 | + "version": "1.4.0", | ||
2603 | + "bundled": true, | ||
2604 | + "dev": true, | ||
2605 | + "optional": true, | ||
2606 | + "requires": { | ||
2607 | + "wrappy": "1" | ||
2608 | + } | ||
2609 | + }, | ||
2610 | + "os-homedir": { | ||
2611 | + "version": "1.0.2", | ||
2612 | + "bundled": true, | ||
2613 | + "dev": true, | ||
2614 | + "optional": true | ||
2615 | + }, | ||
2616 | + "os-tmpdir": { | ||
2617 | + "version": "1.0.2", | ||
2618 | + "bundled": true, | ||
2619 | + "dev": true, | ||
2620 | + "optional": true | ||
2621 | + }, | ||
2622 | + "osenv": { | ||
2623 | + "version": "0.1.5", | ||
2624 | + "bundled": true, | ||
2625 | + "dev": true, | ||
2626 | + "optional": true, | ||
2627 | + "requires": { | ||
2628 | + "os-homedir": "^1.0.0", | ||
2629 | + "os-tmpdir": "^1.0.0" | ||
2630 | + } | ||
2631 | + }, | ||
2632 | + "path-is-absolute": { | ||
2633 | + "version": "1.0.1", | ||
2634 | + "bundled": true, | ||
2635 | + "dev": true, | ||
2636 | + "optional": true | ||
2637 | + }, | ||
2638 | + "process-nextick-args": { | ||
2639 | + "version": "2.0.1", | ||
2640 | + "bundled": true, | ||
2641 | + "dev": true, | ||
2642 | + "optional": true | ||
2643 | + }, | ||
2644 | + "rc": { | ||
2645 | + "version": "1.2.8", | ||
2646 | + "bundled": true, | ||
2647 | + "dev": true, | ||
2648 | + "optional": true, | ||
2649 | + "requires": { | ||
2650 | + "deep-extend": "^0.6.0", | ||
2651 | + "ini": "~1.3.0", | ||
2652 | + "minimist": "^1.2.0", | ||
2653 | + "strip-json-comments": "~2.0.1" | ||
2654 | + } | ||
2655 | + }, | ||
2656 | + "readable-stream": { | ||
2657 | + "version": "2.3.7", | ||
2658 | + "bundled": true, | ||
2659 | + "dev": true, | ||
2660 | + "optional": true, | ||
2661 | + "requires": { | ||
2662 | + "core-util-is": "~1.0.0", | ||
2663 | + "inherits": "~2.0.3", | ||
2664 | + "isarray": "~1.0.0", | ||
2665 | + "process-nextick-args": "~2.0.0", | ||
2666 | + "safe-buffer": "~5.1.1", | ||
2667 | + "string_decoder": "~1.1.1", | ||
2668 | + "util-deprecate": "~1.0.1" | ||
2669 | + } | ||
2670 | + }, | ||
2671 | + "rimraf": { | ||
2672 | + "version": "2.7.1", | ||
2673 | + "bundled": true, | ||
2674 | + "dev": true, | ||
2675 | + "optional": true, | ||
2676 | + "requires": { | ||
2677 | + "glob": "^7.1.3" | ||
2678 | + } | ||
2679 | + }, | ||
2680 | + "safe-buffer": { | ||
2681 | + "version": "5.1.2", | ||
2682 | + "bundled": true, | ||
2683 | + "dev": true, | ||
2684 | + "optional": true | ||
2685 | + }, | ||
2686 | + "safer-buffer": { | ||
2687 | + "version": "2.1.2", | ||
2688 | + "bundled": true, | ||
2689 | + "dev": true, | ||
2690 | + "optional": true | ||
2691 | + }, | ||
2692 | + "sax": { | ||
2693 | + "version": "1.2.4", | ||
2694 | + "bundled": true, | ||
2695 | + "dev": true, | ||
2696 | + "optional": true | ||
2697 | + }, | ||
2698 | + "semver": { | ||
2699 | + "version": "5.7.1", | ||
2700 | + "bundled": true, | ||
2701 | + "dev": true, | ||
2702 | + "optional": true | ||
2703 | + }, | ||
2704 | + "set-blocking": { | ||
2705 | + "version": "2.0.0", | ||
2706 | + "bundled": true, | ||
2707 | + "dev": true, | ||
2708 | + "optional": true | ||
2709 | + }, | ||
2710 | + "signal-exit": { | ||
2711 | + "version": "3.0.2", | ||
2712 | + "bundled": true, | ||
2713 | + "dev": true, | ||
2714 | + "optional": true | ||
2715 | + }, | ||
2716 | + "string-width": { | ||
2717 | + "version": "1.0.2", | ||
2718 | + "bundled": true, | ||
2719 | + "dev": true, | ||
2720 | + "optional": true, | ||
2721 | + "requires": { | ||
2722 | + "code-point-at": "^1.0.0", | ||
2723 | + "is-fullwidth-code-point": "^1.0.0", | ||
2724 | + "strip-ansi": "^3.0.0" | ||
2725 | + } | ||
2726 | + }, | ||
2727 | + "string_decoder": { | ||
2728 | + "version": "1.1.1", | ||
2729 | + "bundled": true, | ||
2730 | + "dev": true, | ||
2731 | + "optional": true, | ||
2732 | + "requires": { | ||
2733 | + "safe-buffer": "~5.1.0" | ||
2734 | + } | ||
2735 | + }, | ||
2736 | + "strip-ansi": { | ||
2737 | + "version": "3.0.1", | ||
2738 | + "bundled": true, | ||
2739 | + "dev": true, | ||
2740 | + "optional": true, | ||
2741 | + "requires": { | ||
2742 | + "ansi-regex": "^2.0.0" | ||
2743 | + } | ||
2744 | + }, | ||
2745 | + "strip-json-comments": { | ||
2746 | + "version": "2.0.1", | ||
2747 | + "bundled": true, | ||
2748 | + "dev": true, | ||
2749 | + "optional": true | ||
2750 | + }, | ||
2751 | + "tar": { | ||
2752 | + "version": "4.4.13", | ||
2753 | + "bundled": true, | ||
2754 | + "dev": true, | ||
2755 | + "optional": true, | ||
2756 | + "requires": { | ||
2757 | + "chownr": "^1.1.1", | ||
2758 | + "fs-minipass": "^1.2.5", | ||
2759 | + "minipass": "^2.8.6", | ||
2760 | + "minizlib": "^1.2.1", | ||
2761 | + "mkdirp": "^0.5.0", | ||
2762 | + "safe-buffer": "^5.1.2", | ||
2763 | + "yallist": "^3.0.3" | ||
2764 | + } | ||
2765 | + }, | ||
2766 | + "util-deprecate": { | ||
2767 | + "version": "1.0.2", | ||
2768 | + "bundled": true, | ||
2769 | + "dev": true, | ||
2770 | + "optional": true | ||
2771 | + }, | ||
2772 | + "wide-align": { | ||
2773 | + "version": "1.1.3", | ||
2774 | + "bundled": true, | ||
2775 | + "dev": true, | ||
2776 | + "optional": true, | ||
2777 | + "requires": { | ||
2778 | + "string-width": "^1.0.2 || 2" | ||
2779 | + } | ||
2780 | + }, | ||
2781 | + "wrappy": { | ||
2782 | + "version": "1.0.2", | ||
2783 | + "bundled": true, | ||
2784 | + "dev": true, | ||
2785 | + "optional": true | ||
2786 | + }, | ||
2787 | + "yallist": { | ||
2788 | + "version": "3.1.1", | ||
2789 | + "bundled": true, | ||
2790 | + "dev": true, | ||
2791 | + "optional": true | ||
2792 | + } | ||
2793 | + } | ||
2794 | + } | ||
2795 | + } | ||
2796 | + }, | ||
2797 | + "cipher-base": { | ||
2798 | + "version": "1.0.4", | ||
2799 | + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", | ||
2800 | + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", | ||
2801 | + "dev": true, | ||
2802 | + "requires": { | ||
2803 | + "inherits": "^2.0.1", | ||
2804 | + "safe-buffer": "^5.0.1" | ||
2805 | + } | ||
2806 | + }, | ||
2807 | + "class-utils": { | ||
2808 | + "version": "0.3.6", | ||
2809 | + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", | ||
2810 | + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", | ||
2811 | + "dev": true, | ||
2812 | + "requires": { | ||
2813 | + "arr-union": "^3.1.0", | ||
2814 | + "define-property": "^0.2.5", | ||
2815 | + "isobject": "^3.0.0", | ||
2816 | + "static-extend": "^0.1.1" | ||
2817 | + }, | ||
2818 | + "dependencies": { | ||
2819 | + "define-property": { | ||
2820 | + "version": "0.2.5", | ||
2821 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", | ||
2822 | + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", | ||
2823 | + "dev": true, | ||
2824 | + "requires": { | ||
2825 | + "is-descriptor": "^0.1.0" | ||
2826 | + } | ||
2827 | + } | ||
2828 | + } | ||
2829 | + }, | ||
2830 | + "cli-cursor": { | ||
2831 | + "version": "2.1.0", | ||
2832 | + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", | ||
2833 | + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", | ||
2834 | + "dev": true, | ||
2835 | + "requires": { | ||
2836 | + "restore-cursor": "^2.0.0" | ||
2837 | + } | ||
2838 | + }, | ||
2839 | + "cli-spinners": { | ||
2840 | + "version": "1.3.1", | ||
2841 | + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", | ||
2842 | + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", | ||
2843 | + "dev": true | ||
2844 | + }, | ||
2845 | + "cliui": { | ||
2846 | + "version": "5.0.0", | ||
2847 | + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", | ||
2848 | + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", | ||
2849 | + "dev": true, | ||
2850 | + "requires": { | ||
2851 | + "string-width": "^3.1.0", | ||
2852 | + "strip-ansi": "^5.2.0", | ||
2853 | + "wrap-ansi": "^5.1.0" | ||
2854 | + }, | ||
2855 | + "dependencies": { | ||
2856 | + "ansi-regex": { | ||
2857 | + "version": "4.1.0", | ||
2858 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
2859 | + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
2860 | + "dev": true | ||
2861 | + }, | ||
2862 | + "strip-ansi": { | ||
2863 | + "version": "5.2.0", | ||
2864 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
2865 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
2866 | + "dev": true, | ||
2867 | + "requires": { | ||
2868 | + "ansi-regex": "^4.1.0" | ||
2869 | + } | ||
2870 | + } | ||
2871 | + } | ||
2872 | + }, | ||
2873 | + "clone": { | ||
2874 | + "version": "2.1.2", | ||
2875 | + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", | ||
2876 | + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", | ||
2877 | + "dev": true | ||
2878 | + }, | ||
2879 | + "clones": { | ||
2880 | + "version": "1.2.0", | ||
2881 | + "resolved": "https://registry.npmjs.org/clones/-/clones-1.2.0.tgz", | ||
2882 | + "integrity": "sha512-FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ==", | ||
2883 | + "dev": true | ||
2884 | + }, | ||
2885 | + "coa": { | ||
2886 | + "version": "2.0.2", | ||
2887 | + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", | ||
2888 | + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", | ||
2889 | + "dev": true, | ||
2890 | + "requires": { | ||
2891 | + "@types/q": "^1.5.1", | ||
2892 | + "chalk": "^2.4.1", | ||
2893 | + "q": "^1.1.2" | ||
2894 | + } | ||
2895 | + }, | ||
2896 | + "collection-visit": { | ||
2897 | + "version": "1.0.0", | ||
2898 | + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", | ||
2899 | + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", | ||
2900 | + "dev": true, | ||
2901 | + "requires": { | ||
2902 | + "map-visit": "^1.0.0", | ||
2903 | + "object-visit": "^1.0.0" | ||
2904 | + } | ||
2905 | + }, | ||
2906 | + "color": { | ||
2907 | + "version": "3.1.2", | ||
2908 | + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", | ||
2909 | + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", | ||
2910 | + "dev": true, | ||
2911 | + "requires": { | ||
2912 | + "color-convert": "^1.9.1", | ||
2913 | + "color-string": "^1.5.2" | ||
2914 | + } | ||
2915 | + }, | ||
2916 | + "color-convert": { | ||
2917 | + "version": "1.9.3", | ||
2918 | + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", | ||
2919 | + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", | ||
2920 | + "dev": true, | ||
2921 | + "requires": { | ||
2922 | + "color-name": "1.1.3" | ||
2923 | + } | ||
2924 | + }, | ||
2925 | + "color-name": { | ||
2926 | + "version": "1.1.3", | ||
2927 | + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||
2928 | + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", | ||
2929 | + "dev": true | ||
2930 | + }, | ||
2931 | + "color-string": { | ||
2932 | + "version": "1.5.3", | ||
2933 | + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", | ||
2934 | + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", | ||
2935 | + "dev": true, | ||
2936 | + "requires": { | ||
2937 | + "color-name": "^1.0.0", | ||
2938 | + "simple-swizzle": "^0.2.2" | ||
2939 | + } | ||
2940 | + }, | ||
2941 | + "combined-stream": { | ||
2942 | + "version": "1.0.8", | ||
2943 | + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", | ||
2944 | + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", | ||
2945 | + "requires": { | ||
2946 | + "delayed-stream": "~1.0.0" | ||
2947 | + } | ||
2948 | + }, | ||
2949 | + "command-exists": { | ||
2950 | + "version": "1.2.9", | ||
2951 | + "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz", | ||
2952 | + "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==", | ||
2953 | + "dev": true | ||
2954 | + }, | ||
2955 | + "commander": { | ||
2956 | + "version": "2.20.3", | ||
2957 | + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", | ||
2958 | + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", | ||
2959 | + "dev": true | ||
2960 | + }, | ||
2961 | + "component-emitter": { | ||
2962 | + "version": "1.3.0", | ||
2963 | + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", | ||
2964 | + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", | ||
2965 | + "dev": true | ||
2966 | + }, | ||
2967 | + "concat-map": { | ||
2968 | + "version": "0.0.1", | ||
2969 | + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
2970 | + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | ||
2971 | + "dev": true | ||
2972 | + }, | ||
2973 | + "concat-stream": { | ||
2974 | + "version": "1.6.2", | ||
2975 | + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", | ||
2976 | + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", | ||
2977 | + "dev": true, | ||
2978 | + "requires": { | ||
2979 | + "buffer-from": "^1.0.0", | ||
2980 | + "inherits": "^2.0.3", | ||
2981 | + "readable-stream": "^2.2.2", | ||
2982 | + "typedarray": "^0.0.6" | ||
2983 | + } | ||
2984 | + }, | ||
2985 | + "config-chain": { | ||
2986 | + "version": "1.1.12", | ||
2987 | + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", | ||
2988 | + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", | ||
2989 | + "dev": true, | ||
2990 | + "requires": { | ||
2991 | + "ini": "^1.3.4", | ||
2992 | + "proto-list": "~1.2.1" | ||
2993 | + } | ||
2994 | + }, | ||
2995 | + "console-browserify": { | ||
2996 | + "version": "1.2.0", | ||
2997 | + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", | ||
2998 | + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", | ||
2999 | + "dev": true | ||
3000 | + }, | ||
3001 | + "constants-browserify": { | ||
3002 | + "version": "1.0.0", | ||
3003 | + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", | ||
3004 | + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", | ||
3005 | + "dev": true | ||
3006 | + }, | ||
3007 | + "convert-source-map": { | ||
3008 | + "version": "1.7.0", | ||
3009 | + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", | ||
3010 | + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", | ||
3011 | + "dev": true, | ||
3012 | + "requires": { | ||
3013 | + "safe-buffer": "~5.1.1" | ||
3014 | + } | ||
3015 | + }, | ||
3016 | + "copy-descriptor": { | ||
3017 | + "version": "0.1.1", | ||
3018 | + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", | ||
3019 | + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", | ||
3020 | + "dev": true | ||
3021 | + }, | ||
3022 | + "core-js": { | ||
3023 | + "version": "2.6.11", | ||
3024 | + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", | ||
3025 | + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", | ||
3026 | + "dev": true | ||
3027 | + }, | ||
3028 | + "core-util-is": { | ||
3029 | + "version": "1.0.2", | ||
3030 | + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", | ||
3031 | + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" | ||
3032 | + }, | ||
3033 | + "cosmiconfig": { | ||
3034 | + "version": "5.2.1", | ||
3035 | + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", | ||
3036 | + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", | ||
3037 | + "dev": true, | ||
3038 | + "requires": { | ||
3039 | + "import-fresh": "^2.0.0", | ||
3040 | + "is-directory": "^0.3.1", | ||
3041 | + "js-yaml": "^3.13.1", | ||
3042 | + "parse-json": "^4.0.0" | ||
3043 | + } | ||
3044 | + }, | ||
3045 | + "create-ecdh": { | ||
3046 | + "version": "4.0.3", | ||
3047 | + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", | ||
3048 | + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", | ||
3049 | + "dev": true, | ||
3050 | + "requires": { | ||
3051 | + "bn.js": "^4.1.0", | ||
3052 | + "elliptic": "^6.0.0" | ||
3053 | + } | ||
3054 | + }, | ||
3055 | + "create-hash": { | ||
3056 | + "version": "1.2.0", | ||
3057 | + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", | ||
3058 | + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", | ||
3059 | + "dev": true, | ||
3060 | + "requires": { | ||
3061 | + "cipher-base": "^1.0.1", | ||
3062 | + "inherits": "^2.0.1", | ||
3063 | + "md5.js": "^1.3.4", | ||
3064 | + "ripemd160": "^2.0.1", | ||
3065 | + "sha.js": "^2.4.0" | ||
3066 | + } | ||
3067 | + }, | ||
3068 | + "create-hmac": { | ||
3069 | + "version": "1.1.7", | ||
3070 | + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", | ||
3071 | + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", | ||
3072 | + "dev": true, | ||
3073 | + "requires": { | ||
3074 | + "cipher-base": "^1.0.3", | ||
3075 | + "create-hash": "^1.1.0", | ||
3076 | + "inherits": "^2.0.1", | ||
3077 | + "ripemd160": "^2.0.0", | ||
3078 | + "safe-buffer": "^5.0.1", | ||
3079 | + "sha.js": "^2.4.8" | ||
3080 | + } | ||
3081 | + }, | ||
3082 | + "cross-spawn": { | ||
3083 | + "version": "6.0.5", | ||
3084 | + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | ||
3085 | + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | ||
3086 | + "dev": true, | ||
3087 | + "requires": { | ||
3088 | + "nice-try": "^1.0.4", | ||
3089 | + "path-key": "^2.0.1", | ||
3090 | + "semver": "^5.5.0", | ||
3091 | + "shebang-command": "^1.2.0", | ||
3092 | + "which": "^1.2.9" | ||
3093 | + } | ||
3094 | + }, | ||
3095 | + "crypto-browserify": { | ||
3096 | + "version": "3.12.0", | ||
3097 | + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", | ||
3098 | + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", | ||
3099 | + "dev": true, | ||
3100 | + "requires": { | ||
3101 | + "browserify-cipher": "^1.0.0", | ||
3102 | + "browserify-sign": "^4.0.0", | ||
3103 | + "create-ecdh": "^4.0.0", | ||
3104 | + "create-hash": "^1.1.0", | ||
3105 | + "create-hmac": "^1.1.0", | ||
3106 | + "diffie-hellman": "^5.0.0", | ||
3107 | + "inherits": "^2.0.1", | ||
3108 | + "pbkdf2": "^3.0.3", | ||
3109 | + "public-encrypt": "^4.0.0", | ||
3110 | + "randombytes": "^2.0.0", | ||
3111 | + "randomfill": "^1.0.3" | ||
3112 | + } | ||
3113 | + }, | ||
3114 | + "css-color-names": { | ||
3115 | + "version": "0.0.4", | ||
3116 | + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", | ||
3117 | + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", | ||
3118 | + "dev": true | ||
3119 | + }, | ||
3120 | + "css-declaration-sorter": { | ||
3121 | + "version": "4.0.1", | ||
3122 | + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", | ||
3123 | + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", | ||
3124 | + "dev": true, | ||
3125 | + "requires": { | ||
3126 | + "postcss": "^7.0.1", | ||
3127 | + "timsort": "^0.3.0" | ||
3128 | + } | ||
3129 | + }, | ||
3130 | + "css-modules-loader-core": { | ||
3131 | + "version": "1.1.0", | ||
3132 | + "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz", | ||
3133 | + "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=", | ||
3134 | + "dev": true, | ||
3135 | + "requires": { | ||
3136 | + "icss-replace-symbols": "1.1.0", | ||
3137 | + "postcss": "6.0.1", | ||
3138 | + "postcss-modules-extract-imports": "1.1.0", | ||
3139 | + "postcss-modules-local-by-default": "1.2.0", | ||
3140 | + "postcss-modules-scope": "1.1.0", | ||
3141 | + "postcss-modules-values": "1.3.0" | ||
3142 | + }, | ||
3143 | + "dependencies": { | ||
3144 | + "ansi-regex": { | ||
3145 | + "version": "2.1.1", | ||
3146 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", | ||
3147 | + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", | ||
3148 | + "dev": true | ||
3149 | + }, | ||
3150 | + "ansi-styles": { | ||
3151 | + "version": "2.2.1", | ||
3152 | + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", | ||
3153 | + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", | ||
3154 | + "dev": true | ||
3155 | + }, | ||
3156 | + "chalk": { | ||
3157 | + "version": "1.1.3", | ||
3158 | + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | ||
3159 | + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", | ||
3160 | + "dev": true, | ||
3161 | + "requires": { | ||
3162 | + "ansi-styles": "^2.2.1", | ||
3163 | + "escape-string-regexp": "^1.0.2", | ||
3164 | + "has-ansi": "^2.0.0", | ||
3165 | + "strip-ansi": "^3.0.0", | ||
3166 | + "supports-color": "^2.0.0" | ||
3167 | + }, | ||
3168 | + "dependencies": { | ||
3169 | + "supports-color": { | ||
3170 | + "version": "2.0.0", | ||
3171 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", | ||
3172 | + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", | ||
3173 | + "dev": true | ||
3174 | + } | ||
3175 | + } | ||
3176 | + }, | ||
3177 | + "has-flag": { | ||
3178 | + "version": "1.0.0", | ||
3179 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", | ||
3180 | + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", | ||
3181 | + "dev": true | ||
3182 | + }, | ||
3183 | + "postcss": { | ||
3184 | + "version": "6.0.1", | ||
3185 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz", | ||
3186 | + "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=", | ||
3187 | + "dev": true, | ||
3188 | + "requires": { | ||
3189 | + "chalk": "^1.1.3", | ||
3190 | + "source-map": "^0.5.6", | ||
3191 | + "supports-color": "^3.2.3" | ||
3192 | + } | ||
3193 | + }, | ||
3194 | + "source-map": { | ||
3195 | + "version": "0.5.7", | ||
3196 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
3197 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
3198 | + "dev": true | ||
3199 | + }, | ||
3200 | + "strip-ansi": { | ||
3201 | + "version": "3.0.1", | ||
3202 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", | ||
3203 | + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", | ||
3204 | + "dev": true, | ||
3205 | + "requires": { | ||
3206 | + "ansi-regex": "^2.0.0" | ||
3207 | + } | ||
3208 | + }, | ||
3209 | + "supports-color": { | ||
3210 | + "version": "3.2.3", | ||
3211 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", | ||
3212 | + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", | ||
3213 | + "dev": true, | ||
3214 | + "requires": { | ||
3215 | + "has-flag": "^1.0.0" | ||
3216 | + } | ||
3217 | + } | ||
3218 | + } | ||
3219 | + }, | ||
3220 | + "css-select": { | ||
3221 | + "version": "2.1.0", | ||
3222 | + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", | ||
3223 | + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", | ||
3224 | + "dev": true, | ||
3225 | + "requires": { | ||
3226 | + "boolbase": "^1.0.0", | ||
3227 | + "css-what": "^3.2.1", | ||
3228 | + "domutils": "^1.7.0", | ||
3229 | + "nth-check": "^1.0.2" | ||
3230 | + } | ||
3231 | + }, | ||
3232 | + "css-select-base-adapter": { | ||
3233 | + "version": "0.1.1", | ||
3234 | + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", | ||
3235 | + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", | ||
3236 | + "dev": true | ||
3237 | + }, | ||
3238 | + "css-selector-tokenizer": { | ||
3239 | + "version": "0.7.2", | ||
3240 | + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", | ||
3241 | + "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", | ||
3242 | + "dev": true, | ||
3243 | + "requires": { | ||
3244 | + "cssesc": "^3.0.0", | ||
3245 | + "fastparse": "^1.1.2", | ||
3246 | + "regexpu-core": "^4.6.0" | ||
3247 | + } | ||
3248 | + }, | ||
3249 | + "css-tree": { | ||
3250 | + "version": "1.0.0-alpha.37", | ||
3251 | + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", | ||
3252 | + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", | ||
3253 | + "dev": true, | ||
3254 | + "requires": { | ||
3255 | + "mdn-data": "2.0.4", | ||
3256 | + "source-map": "^0.6.1" | ||
3257 | + } | ||
3258 | + }, | ||
3259 | + "css-what": { | ||
3260 | + "version": "3.2.1", | ||
3261 | + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", | ||
3262 | + "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", | ||
3263 | + "dev": true | ||
3264 | + }, | ||
3265 | + "cssesc": { | ||
3266 | + "version": "3.0.0", | ||
3267 | + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", | ||
3268 | + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", | ||
3269 | + "dev": true | ||
3270 | + }, | ||
3271 | + "cssnano": { | ||
3272 | + "version": "4.1.10", | ||
3273 | + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", | ||
3274 | + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", | ||
3275 | + "dev": true, | ||
3276 | + "requires": { | ||
3277 | + "cosmiconfig": "^5.0.0", | ||
3278 | + "cssnano-preset-default": "^4.0.7", | ||
3279 | + "is-resolvable": "^1.0.0", | ||
3280 | + "postcss": "^7.0.0" | ||
3281 | + } | ||
3282 | + }, | ||
3283 | + "cssnano-preset-default": { | ||
3284 | + "version": "4.0.7", | ||
3285 | + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", | ||
3286 | + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", | ||
3287 | + "dev": true, | ||
3288 | + "requires": { | ||
3289 | + "css-declaration-sorter": "^4.0.1", | ||
3290 | + "cssnano-util-raw-cache": "^4.0.1", | ||
3291 | + "postcss": "^7.0.0", | ||
3292 | + "postcss-calc": "^7.0.1", | ||
3293 | + "postcss-colormin": "^4.0.3", | ||
3294 | + "postcss-convert-values": "^4.0.1", | ||
3295 | + "postcss-discard-comments": "^4.0.2", | ||
3296 | + "postcss-discard-duplicates": "^4.0.2", | ||
3297 | + "postcss-discard-empty": "^4.0.1", | ||
3298 | + "postcss-discard-overridden": "^4.0.1", | ||
3299 | + "postcss-merge-longhand": "^4.0.11", | ||
3300 | + "postcss-merge-rules": "^4.0.3", | ||
3301 | + "postcss-minify-font-values": "^4.0.2", | ||
3302 | + "postcss-minify-gradients": "^4.0.2", | ||
3303 | + "postcss-minify-params": "^4.0.2", | ||
3304 | + "postcss-minify-selectors": "^4.0.2", | ||
3305 | + "postcss-normalize-charset": "^4.0.1", | ||
3306 | + "postcss-normalize-display-values": "^4.0.2", | ||
3307 | + "postcss-normalize-positions": "^4.0.2", | ||
3308 | + "postcss-normalize-repeat-style": "^4.0.2", | ||
3309 | + "postcss-normalize-string": "^4.0.2", | ||
3310 | + "postcss-normalize-timing-functions": "^4.0.2", | ||
3311 | + "postcss-normalize-unicode": "^4.0.1", | ||
3312 | + "postcss-normalize-url": "^4.0.1", | ||
3313 | + "postcss-normalize-whitespace": "^4.0.2", | ||
3314 | + "postcss-ordered-values": "^4.1.2", | ||
3315 | + "postcss-reduce-initial": "^4.0.3", | ||
3316 | + "postcss-reduce-transforms": "^4.0.2", | ||
3317 | + "postcss-svgo": "^4.0.2", | ||
3318 | + "postcss-unique-selectors": "^4.0.1" | ||
3319 | + } | ||
3320 | + }, | ||
3321 | + "cssnano-util-get-arguments": { | ||
3322 | + "version": "4.0.0", | ||
3323 | + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", | ||
3324 | + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", | ||
3325 | + "dev": true | ||
3326 | + }, | ||
3327 | + "cssnano-util-get-match": { | ||
3328 | + "version": "4.0.0", | ||
3329 | + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", | ||
3330 | + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", | ||
3331 | + "dev": true | ||
3332 | + }, | ||
3333 | + "cssnano-util-raw-cache": { | ||
3334 | + "version": "4.0.1", | ||
3335 | + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", | ||
3336 | + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", | ||
3337 | + "dev": true, | ||
3338 | + "requires": { | ||
3339 | + "postcss": "^7.0.0" | ||
3340 | + } | ||
3341 | + }, | ||
3342 | + "cssnano-util-same-parent": { | ||
3343 | + "version": "4.0.1", | ||
3344 | + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", | ||
3345 | + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", | ||
3346 | + "dev": true | ||
3347 | + }, | ||
3348 | + "csso": { | ||
3349 | + "version": "4.0.3", | ||
3350 | + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", | ||
3351 | + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", | ||
3352 | + "dev": true, | ||
3353 | + "requires": { | ||
3354 | + "css-tree": "1.0.0-alpha.39" | ||
3355 | + }, | ||
3356 | + "dependencies": { | ||
3357 | + "css-tree": { | ||
3358 | + "version": "1.0.0-alpha.39", | ||
3359 | + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", | ||
3360 | + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", | ||
3361 | + "dev": true, | ||
3362 | + "requires": { | ||
3363 | + "mdn-data": "2.0.6", | ||
3364 | + "source-map": "^0.6.1" | ||
3365 | + } | ||
3366 | + }, | ||
3367 | + "mdn-data": { | ||
3368 | + "version": "2.0.6", | ||
3369 | + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", | ||
3370 | + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", | ||
3371 | + "dev": true | ||
3372 | + } | ||
3373 | + } | ||
3374 | + }, | ||
3375 | + "cssom": { | ||
3376 | + "version": "0.3.8", | ||
3377 | + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", | ||
3378 | + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", | ||
3379 | + "dev": true | ||
3380 | + }, | ||
3381 | + "cssstyle": { | ||
3382 | + "version": "1.4.0", | ||
3383 | + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz", | ||
3384 | + "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==", | ||
3385 | + "dev": true, | ||
3386 | + "requires": { | ||
3387 | + "cssom": "0.3.x" | ||
3388 | + } | ||
3389 | + }, | ||
3390 | + "dashdash": { | ||
3391 | + "version": "1.14.1", | ||
3392 | + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", | ||
3393 | + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", | ||
3394 | + "requires": { | ||
3395 | + "assert-plus": "^1.0.0" | ||
3396 | + } | ||
3397 | + }, | ||
3398 | + "data-urls": { | ||
3399 | + "version": "1.1.0", | ||
3400 | + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", | ||
3401 | + "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", | ||
3402 | + "dev": true, | ||
3403 | + "requires": { | ||
3404 | + "abab": "^2.0.0", | ||
3405 | + "whatwg-mimetype": "^2.2.0", | ||
3406 | + "whatwg-url": "^7.0.0" | ||
3407 | + } | ||
3408 | + }, | ||
3409 | + "deasync": { | ||
3410 | + "version": "0.1.19", | ||
3411 | + "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.19.tgz", | ||
3412 | + "integrity": "sha512-oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg==", | ||
3413 | + "dev": true, | ||
3414 | + "requires": { | ||
3415 | + "bindings": "^1.5.0", | ||
3416 | + "node-addon-api": "^1.7.1" | ||
3417 | + } | ||
3418 | + }, | ||
3419 | + "debug": { | ||
3420 | + "version": "4.1.1", | ||
3421 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", | ||
3422 | + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", | ||
3423 | + "dev": true, | ||
3424 | + "requires": { | ||
3425 | + "ms": "^2.1.1" | ||
3426 | + } | ||
3427 | + }, | ||
3428 | + "decamelize": { | ||
3429 | + "version": "1.2.0", | ||
3430 | + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", | ||
3431 | + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", | ||
3432 | + "dev": true | ||
3433 | + }, | ||
3434 | + "decode-uri-component": { | ||
3435 | + "version": "0.2.0", | ||
3436 | + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", | ||
3437 | + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", | ||
3438 | + "dev": true | ||
3439 | + }, | ||
3440 | + "deep-is": { | ||
3441 | + "version": "0.1.3", | ||
3442 | + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", | ||
3443 | + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", | ||
3444 | + "dev": true | ||
3445 | + }, | ||
3446 | + "defaults": { | ||
3447 | + "version": "1.0.3", | ||
3448 | + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", | ||
3449 | + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", | ||
3450 | + "dev": true, | ||
3451 | + "requires": { | ||
3452 | + "clone": "^1.0.2" | ||
3453 | + }, | ||
3454 | + "dependencies": { | ||
3455 | + "clone": { | ||
3456 | + "version": "1.0.4", | ||
3457 | + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", | ||
3458 | + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", | ||
3459 | + "dev": true | ||
3460 | + } | ||
3461 | + } | ||
3462 | + }, | ||
3463 | + "define-properties": { | ||
3464 | + "version": "1.1.3", | ||
3465 | + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", | ||
3466 | + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", | ||
3467 | + "dev": true, | ||
3468 | + "requires": { | ||
3469 | + "object-keys": "^1.0.12" | ||
3470 | + } | ||
3471 | + }, | ||
3472 | + "define-property": { | ||
3473 | + "version": "2.0.2", | ||
3474 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", | ||
3475 | + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", | ||
3476 | + "dev": true, | ||
3477 | + "requires": { | ||
3478 | + "is-descriptor": "^1.0.2", | ||
3479 | + "isobject": "^3.0.1" | ||
3480 | + }, | ||
3481 | + "dependencies": { | ||
3482 | + "is-accessor-descriptor": { | ||
3483 | + "version": "1.0.0", | ||
3484 | + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", | ||
3485 | + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", | ||
3486 | + "dev": true, | ||
3487 | + "requires": { | ||
3488 | + "kind-of": "^6.0.0" | ||
3489 | + } | ||
3490 | + }, | ||
3491 | + "is-data-descriptor": { | ||
3492 | + "version": "1.0.0", | ||
3493 | + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", | ||
3494 | + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", | ||
3495 | + "dev": true, | ||
3496 | + "requires": { | ||
3497 | + "kind-of": "^6.0.0" | ||
3498 | + } | ||
3499 | + }, | ||
3500 | + "is-descriptor": { | ||
3501 | + "version": "1.0.2", | ||
3502 | + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", | ||
3503 | + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", | ||
3504 | + "dev": true, | ||
3505 | + "requires": { | ||
3506 | + "is-accessor-descriptor": "^1.0.0", | ||
3507 | + "is-data-descriptor": "^1.0.0", | ||
3508 | + "kind-of": "^6.0.2" | ||
3509 | + } | ||
3510 | + } | ||
3511 | + } | ||
3512 | + }, | ||
3513 | + "delayed-stream": { | ||
3514 | + "version": "1.0.0", | ||
3515 | + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", | ||
3516 | + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" | ||
3517 | + }, | ||
3518 | + "depd": { | ||
3519 | + "version": "1.1.2", | ||
3520 | + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", | ||
3521 | + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", | ||
3522 | + "dev": true | ||
3523 | + }, | ||
3524 | + "des.js": { | ||
3525 | + "version": "1.0.1", | ||
3526 | + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", | ||
3527 | + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", | ||
3528 | + "dev": true, | ||
3529 | + "requires": { | ||
3530 | + "inherits": "^2.0.1", | ||
3531 | + "minimalistic-assert": "^1.0.0" | ||
3532 | + } | ||
3533 | + }, | ||
3534 | + "destroy": { | ||
3535 | + "version": "1.0.4", | ||
3536 | + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | ||
3537 | + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", | ||
3538 | + "dev": true | ||
3539 | + }, | ||
3540 | + "diffie-hellman": { | ||
3541 | + "version": "5.0.3", | ||
3542 | + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", | ||
3543 | + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", | ||
3544 | + "dev": true, | ||
3545 | + "requires": { | ||
3546 | + "bn.js": "^4.1.0", | ||
3547 | + "miller-rabin": "^4.0.0", | ||
3548 | + "randombytes": "^2.0.0" | ||
3549 | + } | ||
3550 | + }, | ||
3551 | + "dom-serializer": { | ||
3552 | + "version": "0.2.2", | ||
3553 | + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", | ||
3554 | + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", | ||
3555 | + "dev": true, | ||
3556 | + "requires": { | ||
3557 | + "domelementtype": "^2.0.1", | ||
3558 | + "entities": "^2.0.0" | ||
3559 | + }, | ||
3560 | + "dependencies": { | ||
3561 | + "domelementtype": { | ||
3562 | + "version": "2.0.1", | ||
3563 | + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", | ||
3564 | + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", | ||
3565 | + "dev": true | ||
3566 | + } | ||
3567 | + } | ||
3568 | + }, | ||
3569 | + "domain-browser": { | ||
3570 | + "version": "1.2.0", | ||
3571 | + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", | ||
3572 | + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", | ||
3573 | + "dev": true | ||
3574 | + }, | ||
3575 | + "domelementtype": { | ||
3576 | + "version": "1.3.1", | ||
3577 | + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", | ||
3578 | + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", | ||
3579 | + "dev": true | ||
3580 | + }, | ||
3581 | + "domexception": { | ||
3582 | + "version": "1.0.1", | ||
3583 | + "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", | ||
3584 | + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", | ||
3585 | + "dev": true, | ||
3586 | + "requires": { | ||
3587 | + "webidl-conversions": "^4.0.2" | ||
3588 | + } | ||
3589 | + }, | ||
3590 | + "domhandler": { | ||
3591 | + "version": "2.4.2", | ||
3592 | + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", | ||
3593 | + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", | ||
3594 | + "dev": true, | ||
3595 | + "requires": { | ||
3596 | + "domelementtype": "1" | ||
3597 | + } | ||
3598 | + }, | ||
3599 | + "domutils": { | ||
3600 | + "version": "1.7.0", | ||
3601 | + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", | ||
3602 | + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", | ||
3603 | + "dev": true, | ||
3604 | + "requires": { | ||
3605 | + "dom-serializer": "0", | ||
3606 | + "domelementtype": "1" | ||
3607 | + } | ||
3608 | + }, | ||
3609 | + "dot-prop": { | ||
3610 | + "version": "5.2.0", | ||
3611 | + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", | ||
3612 | + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", | ||
3613 | + "dev": true, | ||
3614 | + "requires": { | ||
3615 | + "is-obj": "^2.0.0" | ||
3616 | + } | ||
3617 | + }, | ||
3618 | + "dotenv": { | ||
3619 | + "version": "5.0.1", | ||
3620 | + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", | ||
3621 | + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", | ||
3622 | + "dev": true | ||
3623 | + }, | ||
3624 | + "dotenv-expand": { | ||
3625 | + "version": "4.2.0", | ||
3626 | + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", | ||
3627 | + "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", | ||
3628 | + "dev": true | ||
3629 | + }, | ||
3630 | + "duplexer2": { | ||
3631 | + "version": "0.1.4", | ||
3632 | + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", | ||
3633 | + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", | ||
3634 | + "dev": true, | ||
3635 | + "requires": { | ||
3636 | + "readable-stream": "^2.0.2" | ||
3637 | + } | ||
3638 | + }, | ||
3639 | + "ecc-jsbn": { | ||
3640 | + "version": "0.1.2", | ||
3641 | + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", | ||
3642 | + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", | ||
3643 | + "requires": { | ||
3644 | + "jsbn": "~0.1.0", | ||
3645 | + "safer-buffer": "^2.1.0" | ||
3646 | + } | ||
3647 | + }, | ||
3648 | + "editorconfig": { | ||
3649 | + "version": "0.15.3", | ||
3650 | + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", | ||
3651 | + "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==", | ||
3652 | + "dev": true, | ||
3653 | + "requires": { | ||
3654 | + "commander": "^2.19.0", | ||
3655 | + "lru-cache": "^4.1.5", | ||
3656 | + "semver": "^5.6.0", | ||
3657 | + "sigmund": "^1.0.1" | ||
3658 | + } | ||
3659 | + }, | ||
3660 | + "ee-first": { | ||
3661 | + "version": "1.1.1", | ||
3662 | + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | ||
3663 | + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", | ||
3664 | + "dev": true | ||
3665 | + }, | ||
3666 | + "electron-to-chromium": { | ||
3667 | + "version": "1.3.418", | ||
3668 | + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.418.tgz", | ||
3669 | + "integrity": "sha512-i2QrQtHes5fK/F9QGG5XacM5WKEuR322fxTYF9e8O9Gu0mc0WmjjwGpV8c7Htso6Zf2Di18lc3SIPxmMeRFBug==", | ||
3670 | + "dev": true | ||
3671 | + }, | ||
3672 | + "elliptic": { | ||
3673 | + "version": "6.5.2", | ||
3674 | + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", | ||
3675 | + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", | ||
3676 | + "dev": true, | ||
3677 | + "requires": { | ||
3678 | + "bn.js": "^4.4.0", | ||
3679 | + "brorand": "^1.0.1", | ||
3680 | + "hash.js": "^1.0.0", | ||
3681 | + "hmac-drbg": "^1.0.0", | ||
3682 | + "inherits": "^2.0.1", | ||
3683 | + "minimalistic-assert": "^1.0.0", | ||
3684 | + "minimalistic-crypto-utils": "^1.0.0" | ||
3685 | + } | ||
3686 | + }, | ||
3687 | + "elm-hot": { | ||
3688 | + "version": "1.1.1", | ||
3689 | + "resolved": "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.1.tgz", | ||
3690 | + "integrity": "sha512-ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA==", | ||
3691 | + "dev": true | ||
3692 | + }, | ||
3693 | + "emoji-regex": { | ||
3694 | + "version": "7.0.3", | ||
3695 | + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
3696 | + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||
3697 | + "dev": true | ||
3698 | + }, | ||
3699 | + "encodeurl": { | ||
3700 | + "version": "1.0.2", | ||
3701 | + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", | ||
3702 | + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", | ||
3703 | + "dev": true | ||
3704 | + }, | ||
3705 | + "entities": { | ||
3706 | + "version": "2.0.0", | ||
3707 | + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", | ||
3708 | + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", | ||
3709 | + "dev": true | ||
3710 | + }, | ||
3711 | + "error-ex": { | ||
3712 | + "version": "1.3.2", | ||
3713 | + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", | ||
3714 | + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", | ||
3715 | + "dev": true, | ||
3716 | + "requires": { | ||
3717 | + "is-arrayish": "^0.2.1" | ||
3718 | + } | ||
3719 | + }, | ||
3720 | + "es-abstract": { | ||
3721 | + "version": "1.17.5", | ||
3722 | + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", | ||
3723 | + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", | ||
3724 | + "dev": true, | ||
3725 | + "requires": { | ||
3726 | + "es-to-primitive": "^1.2.1", | ||
3727 | + "function-bind": "^1.1.1", | ||
3728 | + "has": "^1.0.3", | ||
3729 | + "has-symbols": "^1.0.1", | ||
3730 | + "is-callable": "^1.1.5", | ||
3731 | + "is-regex": "^1.0.5", | ||
3732 | + "object-inspect": "^1.7.0", | ||
3733 | + "object-keys": "^1.1.1", | ||
3734 | + "object.assign": "^4.1.0", | ||
3735 | + "string.prototype.trimleft": "^2.1.1", | ||
3736 | + "string.prototype.trimright": "^2.1.1" | ||
3737 | + } | ||
3738 | + }, | ||
3739 | + "es-to-primitive": { | ||
3740 | + "version": "1.2.1", | ||
3741 | + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", | ||
3742 | + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", | ||
3743 | + "dev": true, | ||
3744 | + "requires": { | ||
3745 | + "is-callable": "^1.1.4", | ||
3746 | + "is-date-object": "^1.0.1", | ||
3747 | + "is-symbol": "^1.0.2" | ||
3748 | + } | ||
3749 | + }, | ||
3750 | + "escape-html": { | ||
3751 | + "version": "1.0.3", | ||
3752 | + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", | ||
3753 | + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", | ||
3754 | + "dev": true | ||
3755 | + }, | ||
3756 | + "escape-string-regexp": { | ||
3757 | + "version": "1.0.5", | ||
3758 | + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", | ||
3759 | + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", | ||
3760 | + "dev": true | ||
3761 | + }, | ||
3762 | + "escodegen": { | ||
3763 | + "version": "1.9.1", | ||
3764 | + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", | ||
3765 | + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", | ||
3766 | + "dev": true, | ||
3767 | + "requires": { | ||
3768 | + "esprima": "^3.1.3", | ||
3769 | + "estraverse": "^4.2.0", | ||
3770 | + "esutils": "^2.0.2", | ||
3771 | + "optionator": "^0.8.1", | ||
3772 | + "source-map": "~0.6.1" | ||
3773 | + }, | ||
3774 | + "dependencies": { | ||
3775 | + "esprima": { | ||
3776 | + "version": "3.1.3", | ||
3777 | + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", | ||
3778 | + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", | ||
3779 | + "dev": true | ||
3780 | + } | ||
3781 | + } | ||
3782 | + }, | ||
3783 | + "esprima": { | ||
3784 | + "version": "4.0.1", | ||
3785 | + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", | ||
3786 | + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", | ||
3787 | + "dev": true | ||
3788 | + }, | ||
3789 | + "estraverse": { | ||
3790 | + "version": "4.3.0", | ||
3791 | + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", | ||
3792 | + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", | ||
3793 | + "dev": true | ||
3794 | + }, | ||
3795 | + "esutils": { | ||
3796 | + "version": "2.0.3", | ||
3797 | + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", | ||
3798 | + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | ||
3799 | + "dev": true | ||
3800 | + }, | ||
3801 | + "etag": { | ||
3802 | + "version": "1.8.1", | ||
3803 | + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | ||
3804 | + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", | ||
3805 | + "dev": true | ||
3806 | + }, | ||
3807 | + "events": { | ||
3808 | + "version": "3.1.0", | ||
3809 | + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", | ||
3810 | + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", | ||
3811 | + "dev": true | ||
3812 | + }, | ||
3813 | + "evp_bytestokey": { | ||
3814 | + "version": "1.0.3", | ||
3815 | + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", | ||
3816 | + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", | ||
3817 | + "dev": true, | ||
3818 | + "requires": { | ||
3819 | + "md5.js": "^1.3.4", | ||
3820 | + "safe-buffer": "^5.1.1" | ||
3821 | + } | ||
3822 | + }, | ||
3823 | + "expand-brackets": { | ||
3824 | + "version": "2.1.4", | ||
3825 | + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", | ||
3826 | + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", | ||
3827 | + "dev": true, | ||
3828 | + "requires": { | ||
3829 | + "debug": "^2.3.3", | ||
3830 | + "define-property": "^0.2.5", | ||
3831 | + "extend-shallow": "^2.0.1", | ||
3832 | + "posix-character-classes": "^0.1.0", | ||
3833 | + "regex-not": "^1.0.0", | ||
3834 | + "snapdragon": "^0.8.1", | ||
3835 | + "to-regex": "^3.0.1" | ||
3836 | + }, | ||
3837 | + "dependencies": { | ||
3838 | + "debug": { | ||
3839 | + "version": "2.6.9", | ||
3840 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
3841 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
3842 | + "dev": true, | ||
3843 | + "requires": { | ||
3844 | + "ms": "2.0.0" | ||
3845 | + } | ||
3846 | + }, | ||
3847 | + "define-property": { | ||
3848 | + "version": "0.2.5", | ||
3849 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", | ||
3850 | + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", | ||
3851 | + "dev": true, | ||
3852 | + "requires": { | ||
3853 | + "is-descriptor": "^0.1.0" | ||
3854 | + } | ||
3855 | + }, | ||
3856 | + "extend-shallow": { | ||
3857 | + "version": "2.0.1", | ||
3858 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
3859 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
3860 | + "dev": true, | ||
3861 | + "requires": { | ||
3862 | + "is-extendable": "^0.1.0" | ||
3863 | + } | ||
3864 | + }, | ||
3865 | + "ms": { | ||
3866 | + "version": "2.0.0", | ||
3867 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
3868 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
3869 | + "dev": true | ||
3870 | + } | ||
3871 | + } | ||
3872 | + }, | ||
3873 | + "extend": { | ||
3874 | + "version": "3.0.2", | ||
3875 | + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
3876 | + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
3877 | + }, | ||
3878 | + "extend-shallow": { | ||
3879 | + "version": "3.0.2", | ||
3880 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", | ||
3881 | + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", | ||
3882 | + "dev": true, | ||
3883 | + "requires": { | ||
3884 | + "assign-symbols": "^1.0.0", | ||
3885 | + "is-extendable": "^1.0.1" | ||
3886 | + }, | ||
3887 | + "dependencies": { | ||
3888 | + "is-extendable": { | ||
3889 | + "version": "1.0.1", | ||
3890 | + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", | ||
3891 | + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", | ||
3892 | + "dev": true, | ||
3893 | + "requires": { | ||
3894 | + "is-plain-object": "^2.0.4" | ||
3895 | + } | ||
3896 | + } | ||
3897 | + } | ||
3898 | + }, | ||
3899 | + "extglob": { | ||
3900 | + "version": "2.0.4", | ||
3901 | + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", | ||
3902 | + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", | ||
3903 | + "dev": true, | ||
3904 | + "requires": { | ||
3905 | + "array-unique": "^0.3.2", | ||
3906 | + "define-property": "^1.0.0", | ||
3907 | + "expand-brackets": "^2.1.4", | ||
3908 | + "extend-shallow": "^2.0.1", | ||
3909 | + "fragment-cache": "^0.2.1", | ||
3910 | + "regex-not": "^1.0.0", | ||
3911 | + "snapdragon": "^0.8.1", | ||
3912 | + "to-regex": "^3.0.1" | ||
3913 | + }, | ||
3914 | + "dependencies": { | ||
3915 | + "define-property": { | ||
3916 | + "version": "1.0.0", | ||
3917 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", | ||
3918 | + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", | ||
3919 | + "dev": true, | ||
3920 | + "requires": { | ||
3921 | + "is-descriptor": "^1.0.0" | ||
3922 | + } | ||
3923 | + }, | ||
3924 | + "extend-shallow": { | ||
3925 | + "version": "2.0.1", | ||
3926 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
3927 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
3928 | + "dev": true, | ||
3929 | + "requires": { | ||
3930 | + "is-extendable": "^0.1.0" | ||
3931 | + } | ||
3932 | + }, | ||
3933 | + "is-accessor-descriptor": { | ||
3934 | + "version": "1.0.0", | ||
3935 | + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", | ||
3936 | + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", | ||
3937 | + "dev": true, | ||
3938 | + "requires": { | ||
3939 | + "kind-of": "^6.0.0" | ||
3940 | + } | ||
3941 | + }, | ||
3942 | + "is-data-descriptor": { | ||
3943 | + "version": "1.0.0", | ||
3944 | + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", | ||
3945 | + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", | ||
3946 | + "dev": true, | ||
3947 | + "requires": { | ||
3948 | + "kind-of": "^6.0.0" | ||
3949 | + } | ||
3950 | + }, | ||
3951 | + "is-descriptor": { | ||
3952 | + "version": "1.0.2", | ||
3953 | + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", | ||
3954 | + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", | ||
3955 | + "dev": true, | ||
3956 | + "requires": { | ||
3957 | + "is-accessor-descriptor": "^1.0.0", | ||
3958 | + "is-data-descriptor": "^1.0.0", | ||
3959 | + "kind-of": "^6.0.2" | ||
3960 | + } | ||
3961 | + } | ||
3962 | + } | ||
3963 | + }, | ||
3964 | + "extsprintf": { | ||
3965 | + "version": "1.3.0", | ||
3966 | + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", | ||
3967 | + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" | ||
3968 | + }, | ||
3969 | + "falafel": { | ||
3970 | + "version": "2.2.4", | ||
3971 | + "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz", | ||
3972 | + "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==", | ||
3973 | + "dev": true, | ||
3974 | + "requires": { | ||
3975 | + "acorn": "^7.1.1", | ||
3976 | + "foreach": "^2.0.5", | ||
3977 | + "isarray": "^2.0.1", | ||
3978 | + "object-keys": "^1.0.6" | ||
3979 | + }, | ||
3980 | + "dependencies": { | ||
3981 | + "isarray": { | ||
3982 | + "version": "2.0.5", | ||
3983 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | ||
3984 | + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | ||
3985 | + "dev": true | ||
3986 | + } | ||
3987 | + } | ||
3988 | + }, | ||
3989 | + "fast-deep-equal": { | ||
3990 | + "version": "3.1.1", | ||
3991 | + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", | ||
3992 | + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==" | ||
3993 | + }, | ||
3994 | + "fast-glob": { | ||
3995 | + "version": "2.2.7", | ||
3996 | + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", | ||
3997 | + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", | ||
3998 | + "dev": true, | ||
3999 | + "requires": { | ||
4000 | + "@mrmlnc/readdir-enhanced": "^2.2.1", | ||
4001 | + "@nodelib/fs.stat": "^1.1.2", | ||
4002 | + "glob-parent": "^3.1.0", | ||
4003 | + "is-glob": "^4.0.0", | ||
4004 | + "merge2": "^1.2.3", | ||
4005 | + "micromatch": "^3.1.10" | ||
4006 | + } | ||
4007 | + }, | ||
4008 | + "fast-json-stable-stringify": { | ||
4009 | + "version": "2.1.0", | ||
4010 | + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | ||
4011 | + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" | ||
4012 | + }, | ||
4013 | + "fast-levenshtein": { | ||
4014 | + "version": "2.0.6", | ||
4015 | + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | ||
4016 | + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", | ||
4017 | + "dev": true | ||
4018 | + }, | ||
4019 | + "fastparse": { | ||
4020 | + "version": "1.1.2", | ||
4021 | + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", | ||
4022 | + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", | ||
4023 | + "dev": true | ||
4024 | + }, | ||
4025 | + "file-uri-to-path": { | ||
4026 | + "version": "1.0.0", | ||
4027 | + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", | ||
4028 | + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", | ||
4029 | + "dev": true | ||
4030 | + }, | ||
4031 | + "filesize": { | ||
4032 | + "version": "3.6.1", | ||
4033 | + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", | ||
4034 | + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", | ||
4035 | + "dev": true | ||
4036 | + }, | ||
4037 | + "fill-range": { | ||
4038 | + "version": "4.0.0", | ||
4039 | + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", | ||
4040 | + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", | ||
4041 | + "dev": true, | ||
4042 | + "requires": { | ||
4043 | + "extend-shallow": "^2.0.1", | ||
4044 | + "is-number": "^3.0.0", | ||
4045 | + "repeat-string": "^1.6.1", | ||
4046 | + "to-regex-range": "^2.1.0" | ||
4047 | + }, | ||
4048 | + "dependencies": { | ||
4049 | + "extend-shallow": { | ||
4050 | + "version": "2.0.1", | ||
4051 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
4052 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
4053 | + "dev": true, | ||
4054 | + "requires": { | ||
4055 | + "is-extendable": "^0.1.0" | ||
4056 | + } | ||
4057 | + } | ||
4058 | + } | ||
4059 | + }, | ||
4060 | + "find-elm-dependencies": { | ||
4061 | + "version": "2.0.2", | ||
4062 | + "resolved": "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.2.tgz", | ||
4063 | + "integrity": "sha512-nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ==", | ||
4064 | + "dev": true, | ||
4065 | + "requires": { | ||
4066 | + "firstline": "1.2.0", | ||
4067 | + "lodash": "4.17.15" | ||
4068 | + } | ||
4069 | + }, | ||
4070 | + "find-up": { | ||
4071 | + "version": "2.1.0", | ||
4072 | + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", | ||
4073 | + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", | ||
4074 | + "dev": true, | ||
4075 | + "requires": { | ||
4076 | + "locate-path": "^2.0.0" | ||
4077 | + } | ||
4078 | + }, | ||
4079 | + "firstline": { | ||
4080 | + "version": "1.2.0", | ||
4081 | + "resolved": "https://registry.npmjs.org/firstline/-/firstline-1.2.0.tgz", | ||
4082 | + "integrity": "sha1-yfSIbn9/vwr8EtcZQdzgaxkq6gU=", | ||
4083 | + "dev": true | ||
4084 | + }, | ||
4085 | + "for-in": { | ||
4086 | + "version": "1.0.2", | ||
4087 | + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", | ||
4088 | + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", | ||
4089 | + "dev": true | ||
4090 | + }, | ||
4091 | + "foreach": { | ||
4092 | + "version": "2.0.5", | ||
4093 | + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", | ||
4094 | + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", | ||
4095 | + "dev": true | ||
4096 | + }, | ||
4097 | + "forever-agent": { | ||
4098 | + "version": "0.6.1", | ||
4099 | + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", | ||
4100 | + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" | ||
4101 | + }, | ||
4102 | + "form-data": { | ||
4103 | + "version": "2.3.3", | ||
4104 | + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", | ||
4105 | + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", | ||
4106 | + "requires": { | ||
4107 | + "asynckit": "^0.4.0", | ||
4108 | + "combined-stream": "^1.0.6", | ||
4109 | + "mime-types": "^2.1.12" | ||
4110 | + } | ||
4111 | + }, | ||
4112 | + "fragment-cache": { | ||
4113 | + "version": "0.2.1", | ||
4114 | + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", | ||
4115 | + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", | ||
4116 | + "dev": true, | ||
4117 | + "requires": { | ||
4118 | + "map-cache": "^0.2.2" | ||
4119 | + } | ||
4120 | + }, | ||
4121 | + "fresh": { | ||
4122 | + "version": "0.5.2", | ||
4123 | + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | ||
4124 | + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", | ||
4125 | + "dev": true | ||
4126 | + }, | ||
4127 | + "fs.realpath": { | ||
4128 | + "version": "1.0.0", | ||
4129 | + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||
4130 | + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", | ||
4131 | + "dev": true | ||
4132 | + }, | ||
4133 | + "function-bind": { | ||
4134 | + "version": "1.1.1", | ||
4135 | + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", | ||
4136 | + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", | ||
4137 | + "dev": true | ||
4138 | + }, | ||
4139 | + "get-caller-file": { | ||
4140 | + "version": "2.0.5", | ||
4141 | + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", | ||
4142 | + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", | ||
4143 | + "dev": true | ||
4144 | + }, | ||
4145 | + "get-port": { | ||
4146 | + "version": "3.2.0", | ||
4147 | + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", | ||
4148 | + "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=", | ||
4149 | + "dev": true | ||
4150 | + }, | ||
4151 | + "get-value": { | ||
4152 | + "version": "2.0.6", | ||
4153 | + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", | ||
4154 | + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", | ||
4155 | + "dev": true | ||
4156 | + }, | ||
4157 | + "getpass": { | ||
4158 | + "version": "0.1.7", | ||
4159 | + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", | ||
4160 | + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", | ||
4161 | + "requires": { | ||
4162 | + "assert-plus": "^1.0.0" | ||
4163 | + } | ||
4164 | + }, | ||
4165 | + "glob": { | ||
4166 | + "version": "7.1.4", | ||
4167 | + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", | ||
4168 | + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", | ||
4169 | + "dev": true, | ||
4170 | + "requires": { | ||
4171 | + "fs.realpath": "^1.0.0", | ||
4172 | + "inflight": "^1.0.4", | ||
4173 | + "inherits": "2", | ||
4174 | + "minimatch": "^3.0.4", | ||
4175 | + "once": "^1.3.0", | ||
4176 | + "path-is-absolute": "^1.0.0" | ||
4177 | + } | ||
4178 | + }, | ||
4179 | + "glob-parent": { | ||
4180 | + "version": "3.1.0", | ||
4181 | + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", | ||
4182 | + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", | ||
4183 | + "dev": true, | ||
4184 | + "requires": { | ||
4185 | + "is-glob": "^3.1.0", | ||
4186 | + "path-dirname": "^1.0.0" | ||
4187 | + }, | ||
4188 | + "dependencies": { | ||
4189 | + "is-glob": { | ||
4190 | + "version": "3.1.0", | ||
4191 | + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", | ||
4192 | + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", | ||
4193 | + "dev": true, | ||
4194 | + "requires": { | ||
4195 | + "is-extglob": "^2.1.0" | ||
4196 | + } | ||
4197 | + } | ||
4198 | + } | ||
4199 | + }, | ||
4200 | + "glob-to-regexp": { | ||
4201 | + "version": "0.3.0", | ||
4202 | + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", | ||
4203 | + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", | ||
4204 | + "dev": true | ||
4205 | + }, | ||
4206 | + "globals": { | ||
4207 | + "version": "11.12.0", | ||
4208 | + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", | ||
4209 | + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", | ||
4210 | + "dev": true | ||
4211 | + }, | ||
4212 | + "graceful-fs": { | ||
4213 | + "version": "4.2.3", | ||
4214 | + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", | ||
4215 | + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", | ||
4216 | + "dev": true | ||
4217 | + }, | ||
4218 | + "grapheme-breaker": { | ||
4219 | + "version": "0.3.2", | ||
4220 | + "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz", | ||
4221 | + "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=", | ||
4222 | + "dev": true, | ||
4223 | + "requires": { | ||
4224 | + "brfs": "^1.2.0", | ||
4225 | + "unicode-trie": "^0.3.1" | ||
4226 | + } | ||
4227 | + }, | ||
4228 | + "har-schema": { | ||
4229 | + "version": "2.0.0", | ||
4230 | + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", | ||
4231 | + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" | ||
4232 | + }, | ||
4233 | + "har-validator": { | ||
4234 | + "version": "5.1.3", | ||
4235 | + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", | ||
4236 | + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", | ||
4237 | + "requires": { | ||
4238 | + "ajv": "^6.5.5", | ||
4239 | + "har-schema": "^2.0.0" | ||
4240 | + } | ||
4241 | + }, | ||
4242 | + "has": { | ||
4243 | + "version": "1.0.3", | ||
4244 | + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", | ||
4245 | + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", | ||
4246 | + "dev": true, | ||
4247 | + "requires": { | ||
4248 | + "function-bind": "^1.1.1" | ||
4249 | + } | ||
4250 | + }, | ||
4251 | + "has-ansi": { | ||
4252 | + "version": "2.0.0", | ||
4253 | + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", | ||
4254 | + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", | ||
4255 | + "dev": true, | ||
4256 | + "requires": { | ||
4257 | + "ansi-regex": "^2.0.0" | ||
4258 | + }, | ||
4259 | + "dependencies": { | ||
4260 | + "ansi-regex": { | ||
4261 | + "version": "2.1.1", | ||
4262 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", | ||
4263 | + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", | ||
4264 | + "dev": true | ||
4265 | + } | ||
4266 | + } | ||
4267 | + }, | ||
4268 | + "has-flag": { | ||
4269 | + "version": "3.0.0", | ||
4270 | + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | ||
4271 | + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", | ||
4272 | + "dev": true | ||
4273 | + }, | ||
4274 | + "has-symbols": { | ||
4275 | + "version": "1.0.1", | ||
4276 | + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", | ||
4277 | + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", | ||
4278 | + "dev": true | ||
4279 | + }, | ||
4280 | + "has-value": { | ||
4281 | + "version": "1.0.0", | ||
4282 | + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", | ||
4283 | + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", | ||
4284 | + "dev": true, | ||
4285 | + "requires": { | ||
4286 | + "get-value": "^2.0.6", | ||
4287 | + "has-values": "^1.0.0", | ||
4288 | + "isobject": "^3.0.0" | ||
4289 | + } | ||
4290 | + }, | ||
4291 | + "has-values": { | ||
4292 | + "version": "1.0.0", | ||
4293 | + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", | ||
4294 | + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", | ||
4295 | + "dev": true, | ||
4296 | + "requires": { | ||
4297 | + "is-number": "^3.0.0", | ||
4298 | + "kind-of": "^4.0.0" | ||
4299 | + }, | ||
4300 | + "dependencies": { | ||
4301 | + "kind-of": { | ||
4302 | + "version": "4.0.0", | ||
4303 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", | ||
4304 | + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", | ||
4305 | + "dev": true, | ||
4306 | + "requires": { | ||
4307 | + "is-buffer": "^1.1.5" | ||
4308 | + } | ||
4309 | + } | ||
4310 | + } | ||
4311 | + }, | ||
4312 | + "hash-base": { | ||
4313 | + "version": "3.0.4", | ||
4314 | + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", | ||
4315 | + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", | ||
4316 | + "dev": true, | ||
4317 | + "requires": { | ||
4318 | + "inherits": "^2.0.1", | ||
4319 | + "safe-buffer": "^5.0.1" | ||
4320 | + } | ||
4321 | + }, | ||
4322 | + "hash.js": { | ||
4323 | + "version": "1.1.7", | ||
4324 | + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", | ||
4325 | + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", | ||
4326 | + "dev": true, | ||
4327 | + "requires": { | ||
4328 | + "inherits": "^2.0.3", | ||
4329 | + "minimalistic-assert": "^1.0.1" | ||
4330 | + } | ||
4331 | + }, | ||
4332 | + "hex-color-regex": { | ||
4333 | + "version": "1.1.0", | ||
4334 | + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", | ||
4335 | + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", | ||
4336 | + "dev": true | ||
4337 | + }, | ||
4338 | + "hmac-drbg": { | ||
4339 | + "version": "1.0.1", | ||
4340 | + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", | ||
4341 | + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", | ||
4342 | + "dev": true, | ||
4343 | + "requires": { | ||
4344 | + "hash.js": "^1.0.3", | ||
4345 | + "minimalistic-assert": "^1.0.0", | ||
4346 | + "minimalistic-crypto-utils": "^1.0.1" | ||
4347 | + } | ||
4348 | + }, | ||
4349 | + "hsl-regex": { | ||
4350 | + "version": "1.0.0", | ||
4351 | + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", | ||
4352 | + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", | ||
4353 | + "dev": true | ||
4354 | + }, | ||
4355 | + "hsla-regex": { | ||
4356 | + "version": "1.0.0", | ||
4357 | + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", | ||
4358 | + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", | ||
4359 | + "dev": true | ||
4360 | + }, | ||
4361 | + "html-comment-regex": { | ||
4362 | + "version": "1.1.2", | ||
4363 | + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", | ||
4364 | + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", | ||
4365 | + "dev": true | ||
4366 | + }, | ||
4367 | + "html-encoding-sniffer": { | ||
4368 | + "version": "1.0.2", | ||
4369 | + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", | ||
4370 | + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", | ||
4371 | + "dev": true, | ||
4372 | + "requires": { | ||
4373 | + "whatwg-encoding": "^1.0.1" | ||
4374 | + } | ||
4375 | + }, | ||
4376 | + "html-tags": { | ||
4377 | + "version": "1.2.0", | ||
4378 | + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", | ||
4379 | + "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", | ||
4380 | + "dev": true | ||
4381 | + }, | ||
4382 | + "htmlnano": { | ||
4383 | + "version": "0.2.5", | ||
4384 | + "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz", | ||
4385 | + "integrity": "sha512-X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA==", | ||
4386 | + "dev": true, | ||
4387 | + "requires": { | ||
4388 | + "cssnano": "^4.1.10", | ||
4389 | + "normalize-html-whitespace": "^1.0.0", | ||
4390 | + "posthtml": "^0.12.0", | ||
4391 | + "posthtml-render": "^1.1.5", | ||
4392 | + "purgecss": "^1.4.0", | ||
4393 | + "svgo": "^1.3.2", | ||
4394 | + "terser": "^4.3.9", | ||
4395 | + "uncss": "^0.17.2" | ||
4396 | + }, | ||
4397 | + "dependencies": { | ||
4398 | + "posthtml": { | ||
4399 | + "version": "0.12.3", | ||
4400 | + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.12.3.tgz", | ||
4401 | + "integrity": "sha512-Fbpi95+JJyR0tqU7pUy1zTSQFjAsluuwB9pJ1h0jtnGk7n/O2TBtP5nDl9rV0JVACjQ1Lm5wSp4ppChr8u3MhA==", | ||
4402 | + "dev": true, | ||
4403 | + "requires": { | ||
4404 | + "posthtml-parser": "^0.4.2", | ||
4405 | + "posthtml-render": "^1.2.2" | ||
4406 | + } | ||
4407 | + }, | ||
4408 | + "terser": { | ||
4409 | + "version": "4.6.12", | ||
4410 | + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.12.tgz", | ||
4411 | + "integrity": "sha512-fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww==", | ||
4412 | + "dev": true, | ||
4413 | + "requires": { | ||
4414 | + "commander": "^2.20.0", | ||
4415 | + "source-map": "~0.6.1", | ||
4416 | + "source-map-support": "~0.5.12" | ||
4417 | + } | ||
4418 | + } | ||
4419 | + } | ||
4420 | + }, | ||
4421 | + "htmlparser2": { | ||
4422 | + "version": "3.10.1", | ||
4423 | + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", | ||
4424 | + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", | ||
4425 | + "dev": true, | ||
4426 | + "requires": { | ||
4427 | + "domelementtype": "^1.3.1", | ||
4428 | + "domhandler": "^2.3.0", | ||
4429 | + "domutils": "^1.5.1", | ||
4430 | + "entities": "^1.1.1", | ||
4431 | + "inherits": "^2.0.1", | ||
4432 | + "readable-stream": "^3.1.1" | ||
4433 | + }, | ||
4434 | + "dependencies": { | ||
4435 | + "entities": { | ||
4436 | + "version": "1.1.2", | ||
4437 | + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", | ||
4438 | + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", | ||
4439 | + "dev": true | ||
4440 | + }, | ||
4441 | + "readable-stream": { | ||
4442 | + "version": "3.6.0", | ||
4443 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", | ||
4444 | + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", | ||
4445 | + "dev": true, | ||
4446 | + "requires": { | ||
4447 | + "inherits": "^2.0.3", | ||
4448 | + "string_decoder": "^1.1.1", | ||
4449 | + "util-deprecate": "^1.0.1" | ||
4450 | + } | ||
4451 | + } | ||
4452 | + } | ||
4453 | + }, | ||
4454 | + "http-errors": { | ||
4455 | + "version": "1.7.3", | ||
4456 | + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", | ||
4457 | + "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", | ||
4458 | + "dev": true, | ||
4459 | + "requires": { | ||
4460 | + "depd": "~1.1.2", | ||
4461 | + "inherits": "2.0.4", | ||
4462 | + "setprototypeof": "1.1.1", | ||
4463 | + "statuses": ">= 1.5.0 < 2", | ||
4464 | + "toidentifier": "1.0.0" | ||
4465 | + } | ||
4466 | + }, | ||
4467 | + "http-signature": { | ||
4468 | + "version": "1.2.0", | ||
4469 | + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", | ||
4470 | + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", | ||
4471 | + "requires": { | ||
4472 | + "assert-plus": "^1.0.0", | ||
4473 | + "jsprim": "^1.2.2", | ||
4474 | + "sshpk": "^1.7.0" | ||
4475 | + } | ||
4476 | + }, | ||
4477 | + "https-browserify": { | ||
4478 | + "version": "1.0.0", | ||
4479 | + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", | ||
4480 | + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", | ||
4481 | + "dev": true | ||
4482 | + }, | ||
4483 | + "iconv-lite": { | ||
4484 | + "version": "0.4.24", | ||
4485 | + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
4486 | + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
4487 | + "dev": true, | ||
4488 | + "requires": { | ||
4489 | + "safer-buffer": ">= 2.1.2 < 3" | ||
4490 | + } | ||
4491 | + }, | ||
4492 | + "icss-replace-symbols": { | ||
4493 | + "version": "1.1.0", | ||
4494 | + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", | ||
4495 | + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", | ||
4496 | + "dev": true | ||
4497 | + }, | ||
4498 | + "ieee754": { | ||
4499 | + "version": "1.1.13", | ||
4500 | + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", | ||
4501 | + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", | ||
4502 | + "dev": true | ||
4503 | + }, | ||
4504 | + "import-fresh": { | ||
4505 | + "version": "2.0.0", | ||
4506 | + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", | ||
4507 | + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", | ||
4508 | + "dev": true, | ||
4509 | + "requires": { | ||
4510 | + "caller-path": "^2.0.0", | ||
4511 | + "resolve-from": "^3.0.0" | ||
4512 | + } | ||
4513 | + }, | ||
4514 | + "indexes-of": { | ||
4515 | + "version": "1.0.1", | ||
4516 | + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", | ||
4517 | + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", | ||
4518 | + "dev": true | ||
4519 | + }, | ||
4520 | + "inflight": { | ||
4521 | + "version": "1.0.6", | ||
4522 | + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||
4523 | + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", | ||
4524 | + "dev": true, | ||
4525 | + "requires": { | ||
4526 | + "once": "^1.3.0", | ||
4527 | + "wrappy": "1" | ||
4528 | + } | ||
4529 | + }, | ||
4530 | + "inherits": { | ||
4531 | + "version": "2.0.4", | ||
4532 | + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
4533 | + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | ||
4534 | + "dev": true | ||
4535 | + }, | ||
4536 | + "ini": { | ||
4537 | + "version": "1.3.5", | ||
4538 | + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", | ||
4539 | + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", | ||
4540 | + "dev": true | ||
4541 | + }, | ||
4542 | + "invariant": { | ||
4543 | + "version": "2.2.4", | ||
4544 | + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", | ||
4545 | + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", | ||
4546 | + "dev": true, | ||
4547 | + "requires": { | ||
4548 | + "loose-envify": "^1.0.0" | ||
4549 | + } | ||
4550 | + }, | ||
4551 | + "is-absolute-url": { | ||
4552 | + "version": "2.1.0", | ||
4553 | + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", | ||
4554 | + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", | ||
4555 | + "dev": true | ||
4556 | + }, | ||
4557 | + "is-accessor-descriptor": { | ||
4558 | + "version": "0.1.6", | ||
4559 | + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", | ||
4560 | + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", | ||
4561 | + "dev": true, | ||
4562 | + "requires": { | ||
4563 | + "kind-of": "^3.0.2" | ||
4564 | + }, | ||
4565 | + "dependencies": { | ||
4566 | + "kind-of": { | ||
4567 | + "version": "3.2.2", | ||
4568 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
4569 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
4570 | + "dev": true, | ||
4571 | + "requires": { | ||
4572 | + "is-buffer": "^1.1.5" | ||
4573 | + } | ||
4574 | + } | ||
4575 | + } | ||
4576 | + }, | ||
4577 | + "is-arrayish": { | ||
4578 | + "version": "0.2.1", | ||
4579 | + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", | ||
4580 | + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", | ||
4581 | + "dev": true | ||
4582 | + }, | ||
4583 | + "is-binary-path": { | ||
4584 | + "version": "1.0.1", | ||
4585 | + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", | ||
4586 | + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", | ||
4587 | + "dev": true, | ||
4588 | + "requires": { | ||
4589 | + "binary-extensions": "^1.0.0" | ||
4590 | + } | ||
4591 | + }, | ||
4592 | + "is-buffer": { | ||
4593 | + "version": "1.1.6", | ||
4594 | + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", | ||
4595 | + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", | ||
4596 | + "dev": true | ||
4597 | + }, | ||
4598 | + "is-callable": { | ||
4599 | + "version": "1.1.5", | ||
4600 | + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", | ||
4601 | + "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", | ||
4602 | + "dev": true | ||
4603 | + }, | ||
4604 | + "is-color-stop": { | ||
4605 | + "version": "1.1.0", | ||
4606 | + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", | ||
4607 | + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", | ||
4608 | + "dev": true, | ||
4609 | + "requires": { | ||
4610 | + "css-color-names": "^0.0.4", | ||
4611 | + "hex-color-regex": "^1.1.0", | ||
4612 | + "hsl-regex": "^1.0.0", | ||
4613 | + "hsla-regex": "^1.0.0", | ||
4614 | + "rgb-regex": "^1.0.1", | ||
4615 | + "rgba-regex": "^1.0.0" | ||
4616 | + } | ||
4617 | + }, | ||
4618 | + "is-data-descriptor": { | ||
4619 | + "version": "0.1.4", | ||
4620 | + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", | ||
4621 | + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", | ||
4622 | + "dev": true, | ||
4623 | + "requires": { | ||
4624 | + "kind-of": "^3.0.2" | ||
4625 | + }, | ||
4626 | + "dependencies": { | ||
4627 | + "kind-of": { | ||
4628 | + "version": "3.2.2", | ||
4629 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
4630 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
4631 | + "dev": true, | ||
4632 | + "requires": { | ||
4633 | + "is-buffer": "^1.1.5" | ||
4634 | + } | ||
4635 | + } | ||
4636 | + } | ||
4637 | + }, | ||
4638 | + "is-date-object": { | ||
4639 | + "version": "1.0.2", | ||
4640 | + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", | ||
4641 | + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", | ||
4642 | + "dev": true | ||
4643 | + }, | ||
4644 | + "is-descriptor": { | ||
4645 | + "version": "0.1.6", | ||
4646 | + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", | ||
4647 | + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", | ||
4648 | + "dev": true, | ||
4649 | + "requires": { | ||
4650 | + "is-accessor-descriptor": "^0.1.6", | ||
4651 | + "is-data-descriptor": "^0.1.4", | ||
4652 | + "kind-of": "^5.0.0" | ||
4653 | + }, | ||
4654 | + "dependencies": { | ||
4655 | + "kind-of": { | ||
4656 | + "version": "5.1.0", | ||
4657 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", | ||
4658 | + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", | ||
4659 | + "dev": true | ||
4660 | + } | ||
4661 | + } | ||
4662 | + }, | ||
4663 | + "is-directory": { | ||
4664 | + "version": "0.3.1", | ||
4665 | + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", | ||
4666 | + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", | ||
4667 | + "dev": true | ||
4668 | + }, | ||
4669 | + "is-extendable": { | ||
4670 | + "version": "0.1.1", | ||
4671 | + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", | ||
4672 | + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", | ||
4673 | + "dev": true | ||
4674 | + }, | ||
4675 | + "is-extglob": { | ||
4676 | + "version": "2.1.1", | ||
4677 | + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", | ||
4678 | + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", | ||
4679 | + "dev": true | ||
4680 | + }, | ||
4681 | + "is-fullwidth-code-point": { | ||
4682 | + "version": "2.0.0", | ||
4683 | + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
4684 | + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
4685 | + "dev": true | ||
4686 | + }, | ||
4687 | + "is-glob": { | ||
4688 | + "version": "4.0.1", | ||
4689 | + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", | ||
4690 | + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", | ||
4691 | + "dev": true, | ||
4692 | + "requires": { | ||
4693 | + "is-extglob": "^2.1.1" | ||
4694 | + } | ||
4695 | + }, | ||
4696 | + "is-html": { | ||
4697 | + "version": "1.1.0", | ||
4698 | + "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz", | ||
4699 | + "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=", | ||
4700 | + "dev": true, | ||
4701 | + "requires": { | ||
4702 | + "html-tags": "^1.0.0" | ||
4703 | + } | ||
4704 | + }, | ||
4705 | + "is-number": { | ||
4706 | + "version": "3.0.0", | ||
4707 | + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", | ||
4708 | + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", | ||
4709 | + "dev": true, | ||
4710 | + "requires": { | ||
4711 | + "kind-of": "^3.0.2" | ||
4712 | + }, | ||
4713 | + "dependencies": { | ||
4714 | + "kind-of": { | ||
4715 | + "version": "3.2.2", | ||
4716 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
4717 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
4718 | + "dev": true, | ||
4719 | + "requires": { | ||
4720 | + "is-buffer": "^1.1.5" | ||
4721 | + } | ||
4722 | + } | ||
4723 | + } | ||
4724 | + }, | ||
4725 | + "is-obj": { | ||
4726 | + "version": "2.0.0", | ||
4727 | + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", | ||
4728 | + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", | ||
4729 | + "dev": true | ||
4730 | + }, | ||
4731 | + "is-plain-object": { | ||
4732 | + "version": "2.0.4", | ||
4733 | + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", | ||
4734 | + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", | ||
4735 | + "dev": true, | ||
4736 | + "requires": { | ||
4737 | + "isobject": "^3.0.1" | ||
4738 | + } | ||
4739 | + }, | ||
4740 | + "is-regex": { | ||
4741 | + "version": "1.0.5", | ||
4742 | + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", | ||
4743 | + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", | ||
4744 | + "dev": true, | ||
4745 | + "requires": { | ||
4746 | + "has": "^1.0.3" | ||
4747 | + } | ||
4748 | + }, | ||
4749 | + "is-resolvable": { | ||
4750 | + "version": "1.1.0", | ||
4751 | + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", | ||
4752 | + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", | ||
4753 | + "dev": true | ||
4754 | + }, | ||
4755 | + "is-svg": { | ||
4756 | + "version": "3.0.0", | ||
4757 | + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", | ||
4758 | + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", | ||
4759 | + "dev": true, | ||
4760 | + "requires": { | ||
4761 | + "html-comment-regex": "^1.1.0" | ||
4762 | + } | ||
4763 | + }, | ||
4764 | + "is-symbol": { | ||
4765 | + "version": "1.0.3", | ||
4766 | + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", | ||
4767 | + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", | ||
4768 | + "dev": true, | ||
4769 | + "requires": { | ||
4770 | + "has-symbols": "^1.0.1" | ||
4771 | + } | ||
4772 | + }, | ||
4773 | + "is-typedarray": { | ||
4774 | + "version": "1.0.0", | ||
4775 | + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", | ||
4776 | + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" | ||
4777 | + }, | ||
4778 | + "is-url": { | ||
4779 | + "version": "1.2.4", | ||
4780 | + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", | ||
4781 | + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", | ||
4782 | + "dev": true | ||
4783 | + }, | ||
4784 | + "is-windows": { | ||
4785 | + "version": "1.0.2", | ||
4786 | + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", | ||
4787 | + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", | ||
4788 | + "dev": true | ||
4789 | + }, | ||
4790 | + "is-wsl": { | ||
4791 | + "version": "1.1.0", | ||
4792 | + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", | ||
4793 | + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", | ||
4794 | + "dev": true | ||
4795 | + }, | ||
4796 | + "isarray": { | ||
4797 | + "version": "1.0.0", | ||
4798 | + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", | ||
4799 | + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", | ||
4800 | + "dev": true | ||
4801 | + }, | ||
4802 | + "isexe": { | ||
4803 | + "version": "2.0.0", | ||
4804 | + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | ||
4805 | + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | ||
4806 | + "dev": true | ||
4807 | + }, | ||
4808 | + "isobject": { | ||
4809 | + "version": "3.0.1", | ||
4810 | + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", | ||
4811 | + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", | ||
4812 | + "dev": true | ||
4813 | + }, | ||
4814 | + "isstream": { | ||
4815 | + "version": "0.1.2", | ||
4816 | + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", | ||
4817 | + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" | ||
4818 | + }, | ||
4819 | + "js-beautify": { | ||
4820 | + "version": "1.11.0", | ||
4821 | + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz", | ||
4822 | + "integrity": "sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A==", | ||
4823 | + "dev": true, | ||
4824 | + "requires": { | ||
4825 | + "config-chain": "^1.1.12", | ||
4826 | + "editorconfig": "^0.15.3", | ||
4827 | + "glob": "^7.1.3", | ||
4828 | + "mkdirp": "~1.0.3", | ||
4829 | + "nopt": "^4.0.3" | ||
4830 | + }, | ||
4831 | + "dependencies": { | ||
4832 | + "mkdirp": { | ||
4833 | + "version": "1.0.4", | ||
4834 | + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", | ||
4835 | + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", | ||
4836 | + "dev": true | ||
4837 | + } | ||
4838 | + } | ||
4839 | + }, | ||
4840 | + "js-levenshtein": { | ||
4841 | + "version": "1.1.6", | ||
4842 | + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", | ||
4843 | + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", | ||
4844 | + "dev": true | ||
4845 | + }, | ||
4846 | + "js-tokens": { | ||
4847 | + "version": "4.0.0", | ||
4848 | + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | ||
4849 | + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", | ||
4850 | + "dev": true | ||
4851 | + }, | ||
4852 | + "js-yaml": { | ||
4853 | + "version": "3.13.1", | ||
4854 | + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", | ||
4855 | + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", | ||
4856 | + "dev": true, | ||
4857 | + "requires": { | ||
4858 | + "argparse": "^1.0.7", | ||
4859 | + "esprima": "^4.0.0" | ||
4860 | + } | ||
4861 | + }, | ||
4862 | + "jsbn": { | ||
4863 | + "version": "0.1.1", | ||
4864 | + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", | ||
4865 | + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" | ||
4866 | + }, | ||
4867 | + "jsdom": { | ||
4868 | + "version": "14.1.0", | ||
4869 | + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz", | ||
4870 | + "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==", | ||
4871 | + "dev": true, | ||
4872 | + "requires": { | ||
4873 | + "abab": "^2.0.0", | ||
4874 | + "acorn": "^6.0.4", | ||
4875 | + "acorn-globals": "^4.3.0", | ||
4876 | + "array-equal": "^1.0.0", | ||
4877 | + "cssom": "^0.3.4", | ||
4878 | + "cssstyle": "^1.1.1", | ||
4879 | + "data-urls": "^1.1.0", | ||
4880 | + "domexception": "^1.0.1", | ||
4881 | + "escodegen": "^1.11.0", | ||
4882 | + "html-encoding-sniffer": "^1.0.2", | ||
4883 | + "nwsapi": "^2.1.3", | ||
4884 | + "parse5": "5.1.0", | ||
4885 | + "pn": "^1.1.0", | ||
4886 | + "request": "^2.88.0", | ||
4887 | + "request-promise-native": "^1.0.5", | ||
4888 | + "saxes": "^3.1.9", | ||
4889 | + "symbol-tree": "^3.2.2", | ||
4890 | + "tough-cookie": "^2.5.0", | ||
4891 | + "w3c-hr-time": "^1.0.1", | ||
4892 | + "w3c-xmlserializer": "^1.1.2", | ||
4893 | + "webidl-conversions": "^4.0.2", | ||
4894 | + "whatwg-encoding": "^1.0.5", | ||
4895 | + "whatwg-mimetype": "^2.3.0", | ||
4896 | + "whatwg-url": "^7.0.0", | ||
4897 | + "ws": "^6.1.2", | ||
4898 | + "xml-name-validator": "^3.0.0" | ||
4899 | + }, | ||
4900 | + "dependencies": { | ||
4901 | + "acorn": { | ||
4902 | + "version": "6.4.1", | ||
4903 | + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", | ||
4904 | + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", | ||
4905 | + "dev": true | ||
4906 | + }, | ||
4907 | + "escodegen": { | ||
4908 | + "version": "1.14.1", | ||
4909 | + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", | ||
4910 | + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", | ||
4911 | + "dev": true, | ||
4912 | + "requires": { | ||
4913 | + "esprima": "^4.0.1", | ||
4914 | + "estraverse": "^4.2.0", | ||
4915 | + "esutils": "^2.0.2", | ||
4916 | + "optionator": "^0.8.1", | ||
4917 | + "source-map": "~0.6.1" | ||
4918 | + } | ||
4919 | + }, | ||
4920 | + "ws": { | ||
4921 | + "version": "6.2.1", | ||
4922 | + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", | ||
4923 | + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", | ||
4924 | + "dev": true, | ||
4925 | + "requires": { | ||
4926 | + "async-limiter": "~1.0.0" | ||
4927 | + } | ||
4928 | + } | ||
4929 | + } | ||
4930 | + }, | ||
4931 | + "jsesc": { | ||
4932 | + "version": "2.5.2", | ||
4933 | + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", | ||
4934 | + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", | ||
4935 | + "dev": true | ||
4936 | + }, | ||
4937 | + "json-parse-better-errors": { | ||
4938 | + "version": "1.0.2", | ||
4939 | + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", | ||
4940 | + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", | ||
4941 | + "dev": true | ||
4942 | + }, | ||
4943 | + "json-schema": { | ||
4944 | + "version": "0.2.3", | ||
4945 | + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", | ||
4946 | + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" | ||
4947 | + }, | ||
4948 | + "json-schema-traverse": { | ||
4949 | + "version": "0.4.1", | ||
4950 | + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", | ||
4951 | + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" | ||
4952 | + }, | ||
4953 | + "json-stringify-safe": { | ||
4954 | + "version": "5.0.1", | ||
4955 | + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", | ||
4956 | + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" | ||
4957 | + }, | ||
4958 | + "json5": { | ||
4959 | + "version": "1.0.1", | ||
4960 | + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", | ||
4961 | + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", | ||
4962 | + "dev": true, | ||
4963 | + "requires": { | ||
4964 | + "minimist": "^1.2.0" | ||
4965 | + } | ||
4966 | + }, | ||
4967 | + "jsprim": { | ||
4968 | + "version": "1.4.1", | ||
4969 | + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", | ||
4970 | + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", | ||
4971 | + "requires": { | ||
4972 | + "assert-plus": "1.0.0", | ||
4973 | + "extsprintf": "1.3.0", | ||
4974 | + "json-schema": "0.2.3", | ||
4975 | + "verror": "1.10.0" | ||
4976 | + } | ||
4977 | + }, | ||
4978 | + "kind-of": { | ||
4979 | + "version": "6.0.3", | ||
4980 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", | ||
4981 | + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", | ||
4982 | + "dev": true | ||
4983 | + }, | ||
4984 | + "levn": { | ||
4985 | + "version": "0.3.0", | ||
4986 | + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", | ||
4987 | + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", | ||
4988 | + "dev": true, | ||
4989 | + "requires": { | ||
4990 | + "prelude-ls": "~1.1.2", | ||
4991 | + "type-check": "~0.3.2" | ||
4992 | + } | ||
4993 | + }, | ||
4994 | + "locate-path": { | ||
4995 | + "version": "2.0.0", | ||
4996 | + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", | ||
4997 | + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", | ||
4998 | + "dev": true, | ||
4999 | + "requires": { | ||
5000 | + "p-locate": "^2.0.0", | ||
5001 | + "path-exists": "^3.0.0" | ||
5002 | + } | ||
5003 | + }, | ||
5004 | + "lodash": { | ||
5005 | + "version": "4.17.15", | ||
5006 | + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | ||
5007 | + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | ||
5008 | + "dev": true | ||
5009 | + }, | ||
5010 | + "lodash.clone": { | ||
5011 | + "version": "4.5.0", | ||
5012 | + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", | ||
5013 | + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=", | ||
5014 | + "dev": true | ||
5015 | + }, | ||
5016 | + "lodash.memoize": { | ||
5017 | + "version": "4.1.2", | ||
5018 | + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", | ||
5019 | + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", | ||
5020 | + "dev": true | ||
5021 | + }, | ||
5022 | + "lodash.sortby": { | ||
5023 | + "version": "4.7.0", | ||
5024 | + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", | ||
5025 | + "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", | ||
5026 | + "dev": true | ||
5027 | + }, | ||
5028 | + "lodash.uniq": { | ||
5029 | + "version": "4.5.0", | ||
5030 | + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", | ||
5031 | + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", | ||
5032 | + "dev": true | ||
5033 | + }, | ||
5034 | + "log-symbols": { | ||
5035 | + "version": "2.2.0", | ||
5036 | + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", | ||
5037 | + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", | ||
5038 | + "dev": true, | ||
5039 | + "requires": { | ||
5040 | + "chalk": "^2.0.1" | ||
5041 | + } | ||
5042 | + }, | ||
5043 | + "loose-envify": { | ||
5044 | + "version": "1.4.0", | ||
5045 | + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", | ||
5046 | + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", | ||
5047 | + "dev": true, | ||
5048 | + "requires": { | ||
5049 | + "js-tokens": "^3.0.0 || ^4.0.0" | ||
5050 | + } | ||
5051 | + }, | ||
5052 | + "lru-cache": { | ||
5053 | + "version": "4.1.5", | ||
5054 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | ||
5055 | + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | ||
5056 | + "dev": true, | ||
5057 | + "requires": { | ||
5058 | + "pseudomap": "^1.0.2", | ||
5059 | + "yallist": "^2.1.2" | ||
5060 | + } | ||
5061 | + }, | ||
5062 | + "magic-string": { | ||
5063 | + "version": "0.22.5", | ||
5064 | + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", | ||
5065 | + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", | ||
5066 | + "dev": true, | ||
5067 | + "requires": { | ||
5068 | + "vlq": "^0.2.2" | ||
5069 | + } | ||
5070 | + }, | ||
5071 | + "map-cache": { | ||
5072 | + "version": "0.2.2", | ||
5073 | + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", | ||
5074 | + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", | ||
5075 | + "dev": true | ||
5076 | + }, | ||
5077 | + "map-visit": { | ||
5078 | + "version": "1.0.0", | ||
5079 | + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", | ||
5080 | + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", | ||
5081 | + "dev": true, | ||
5082 | + "requires": { | ||
5083 | + "object-visit": "^1.0.0" | ||
5084 | + } | ||
5085 | + }, | ||
5086 | + "md5.js": { | ||
5087 | + "version": "1.3.5", | ||
5088 | + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", | ||
5089 | + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", | ||
5090 | + "dev": true, | ||
5091 | + "requires": { | ||
5092 | + "hash-base": "^3.0.0", | ||
5093 | + "inherits": "^2.0.1", | ||
5094 | + "safe-buffer": "^5.1.2" | ||
5095 | + } | ||
5096 | + }, | ||
5097 | + "mdn-data": { | ||
5098 | + "version": "2.0.4", | ||
5099 | + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", | ||
5100 | + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", | ||
5101 | + "dev": true | ||
5102 | + }, | ||
5103 | + "merge-source-map": { | ||
5104 | + "version": "1.0.4", | ||
5105 | + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz", | ||
5106 | + "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=", | ||
5107 | + "dev": true, | ||
5108 | + "requires": { | ||
5109 | + "source-map": "^0.5.6" | ||
5110 | + }, | ||
5111 | + "dependencies": { | ||
5112 | + "source-map": { | ||
5113 | + "version": "0.5.7", | ||
5114 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
5115 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
5116 | + "dev": true | ||
5117 | + } | ||
5118 | + } | ||
5119 | + }, | ||
5120 | + "merge2": { | ||
5121 | + "version": "1.3.0", | ||
5122 | + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", | ||
5123 | + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", | ||
5124 | + "dev": true | ||
5125 | + }, | ||
5126 | + "micromatch": { | ||
5127 | + "version": "3.1.10", | ||
5128 | + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", | ||
5129 | + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", | ||
5130 | + "dev": true, | ||
5131 | + "requires": { | ||
5132 | + "arr-diff": "^4.0.0", | ||
5133 | + "array-unique": "^0.3.2", | ||
5134 | + "braces": "^2.3.1", | ||
5135 | + "define-property": "^2.0.2", | ||
5136 | + "extend-shallow": "^3.0.2", | ||
5137 | + "extglob": "^2.0.4", | ||
5138 | + "fragment-cache": "^0.2.1", | ||
5139 | + "kind-of": "^6.0.2", | ||
5140 | + "nanomatch": "^1.2.9", | ||
5141 | + "object.pick": "^1.3.0", | ||
5142 | + "regex-not": "^1.0.0", | ||
5143 | + "snapdragon": "^0.8.1", | ||
5144 | + "to-regex": "^3.0.2" | ||
5145 | + } | ||
5146 | + }, | ||
5147 | + "miller-rabin": { | ||
5148 | + "version": "4.0.1", | ||
5149 | + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", | ||
5150 | + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", | ||
5151 | + "dev": true, | ||
5152 | + "requires": { | ||
5153 | + "bn.js": "^4.0.0", | ||
5154 | + "brorand": "^1.0.1" | ||
5155 | + } | ||
5156 | + }, | ||
5157 | + "mime": { | ||
5158 | + "version": "1.6.0", | ||
5159 | + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", | ||
5160 | + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", | ||
5161 | + "dev": true | ||
5162 | + }, | ||
5163 | + "mime-db": { | ||
5164 | + "version": "1.44.0", | ||
5165 | + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", | ||
5166 | + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" | ||
5167 | + }, | ||
5168 | + "mime-types": { | ||
5169 | + "version": "2.1.27", | ||
5170 | + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", | ||
5171 | + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", | ||
5172 | + "requires": { | ||
5173 | + "mime-db": "1.44.0" | ||
5174 | + } | ||
5175 | + }, | ||
5176 | + "mimic-fn": { | ||
5177 | + "version": "1.2.0", | ||
5178 | + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", | ||
5179 | + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", | ||
5180 | + "dev": true | ||
5181 | + }, | ||
5182 | + "minimalistic-assert": { | ||
5183 | + "version": "1.0.1", | ||
5184 | + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", | ||
5185 | + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", | ||
5186 | + "dev": true | ||
5187 | + }, | ||
5188 | + "minimalistic-crypto-utils": { | ||
5189 | + "version": "1.0.1", | ||
5190 | + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", | ||
5191 | + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", | ||
5192 | + "dev": true | ||
5193 | + }, | ||
5194 | + "minimatch": { | ||
5195 | + "version": "3.0.4", | ||
5196 | + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||
5197 | + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||
5198 | + "dev": true, | ||
5199 | + "requires": { | ||
5200 | + "brace-expansion": "^1.1.7" | ||
5201 | + } | ||
5202 | + }, | ||
5203 | + "minimist": { | ||
5204 | + "version": "1.2.5", | ||
5205 | + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", | ||
5206 | + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", | ||
5207 | + "dev": true | ||
5208 | + }, | ||
5209 | + "mixin-deep": { | ||
5210 | + "version": "1.3.2", | ||
5211 | + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", | ||
5212 | + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", | ||
5213 | + "dev": true, | ||
5214 | + "requires": { | ||
5215 | + "for-in": "^1.0.2", | ||
5216 | + "is-extendable": "^1.0.1" | ||
5217 | + }, | ||
5218 | + "dependencies": { | ||
5219 | + "is-extendable": { | ||
5220 | + "version": "1.0.1", | ||
5221 | + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", | ||
5222 | + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", | ||
5223 | + "dev": true, | ||
5224 | + "requires": { | ||
5225 | + "is-plain-object": "^2.0.4" | ||
5226 | + } | ||
5227 | + } | ||
5228 | + } | ||
5229 | + }, | ||
5230 | + "mkdirp": { | ||
5231 | + "version": "0.5.5", | ||
5232 | + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", | ||
5233 | + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", | ||
5234 | + "dev": true, | ||
5235 | + "requires": { | ||
5236 | + "minimist": "^1.2.5" | ||
5237 | + } | ||
5238 | + }, | ||
5239 | + "ms": { | ||
5240 | + "version": "2.1.2", | ||
5241 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
5242 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", | ||
5243 | + "dev": true | ||
5244 | + }, | ||
5245 | + "nan": { | ||
5246 | + "version": "2.14.1", | ||
5247 | + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", | ||
5248 | + "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", | ||
5249 | + "dev": true, | ||
5250 | + "optional": true | ||
5251 | + }, | ||
5252 | + "nanomatch": { | ||
5253 | + "version": "1.2.13", | ||
5254 | + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", | ||
5255 | + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", | ||
5256 | + "dev": true, | ||
5257 | + "requires": { | ||
5258 | + "arr-diff": "^4.0.0", | ||
5259 | + "array-unique": "^0.3.2", | ||
5260 | + "define-property": "^2.0.2", | ||
5261 | + "extend-shallow": "^3.0.2", | ||
5262 | + "fragment-cache": "^0.2.1", | ||
5263 | + "is-windows": "^1.0.2", | ||
5264 | + "kind-of": "^6.0.2", | ||
5265 | + "object.pick": "^1.3.0", | ||
5266 | + "regex-not": "^1.0.0", | ||
5267 | + "snapdragon": "^0.8.1", | ||
5268 | + "to-regex": "^3.0.1" | ||
5269 | + } | ||
5270 | + }, | ||
5271 | + "nice-try": { | ||
5272 | + "version": "1.0.5", | ||
5273 | + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | ||
5274 | + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", | ||
5275 | + "dev": true | ||
5276 | + }, | ||
5277 | + "node-addon-api": { | ||
5278 | + "version": "1.7.1", | ||
5279 | + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz", | ||
5280 | + "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==", | ||
5281 | + "dev": true | ||
5282 | + }, | ||
5283 | + "node-elm-compiler": { | ||
5284 | + "version": "5.0.4", | ||
5285 | + "resolved": "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.4.tgz", | ||
5286 | + "integrity": "sha512-VQsT8QSierYGkHzRed+b4MnccQVF1+qPHunE8jBoU7jD6YpuRqCDPzEoC2zfyEJS80qVnlMZrqobLnyjzX9lJg==", | ||
5287 | + "dev": true, | ||
5288 | + "requires": { | ||
5289 | + "cross-spawn": "6.0.5", | ||
5290 | + "find-elm-dependencies": "2.0.2", | ||
5291 | + "lodash": "4.17.15", | ||
5292 | + "temp": "^0.9.0" | ||
5293 | + } | ||
5294 | + }, | ||
5295 | + "node-forge": { | ||
5296 | + "version": "0.7.6", | ||
5297 | + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz", | ||
5298 | + "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==", | ||
5299 | + "dev": true | ||
5300 | + }, | ||
5301 | + "node-libs-browser": { | ||
5302 | + "version": "2.2.1", | ||
5303 | + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", | ||
5304 | + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", | ||
5305 | + "dev": true, | ||
5306 | + "requires": { | ||
5307 | + "assert": "^1.1.1", | ||
5308 | + "browserify-zlib": "^0.2.0", | ||
5309 | + "buffer": "^4.3.0", | ||
5310 | + "console-browserify": "^1.1.0", | ||
5311 | + "constants-browserify": "^1.0.0", | ||
5312 | + "crypto-browserify": "^3.11.0", | ||
5313 | + "domain-browser": "^1.1.1", | ||
5314 | + "events": "^3.0.0", | ||
5315 | + "https-browserify": "^1.0.0", | ||
5316 | + "os-browserify": "^0.3.0", | ||
5317 | + "path-browserify": "0.0.1", | ||
5318 | + "process": "^0.11.10", | ||
5319 | + "punycode": "^1.2.4", | ||
5320 | + "querystring-es3": "^0.2.0", | ||
5321 | + "readable-stream": "^2.3.3", | ||
5322 | + "stream-browserify": "^2.0.1", | ||
5323 | + "stream-http": "^2.7.2", | ||
5324 | + "string_decoder": "^1.0.0", | ||
5325 | + "timers-browserify": "^2.0.4", | ||
5326 | + "tty-browserify": "0.0.0", | ||
5327 | + "url": "^0.11.0", | ||
5328 | + "util": "^0.11.0", | ||
5329 | + "vm-browserify": "^1.0.1" | ||
5330 | + }, | ||
5331 | + "dependencies": { | ||
5332 | + "punycode": { | ||
5333 | + "version": "1.4.1", | ||
5334 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", | ||
5335 | + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", | ||
5336 | + "dev": true | ||
5337 | + } | ||
5338 | + } | ||
5339 | + }, | ||
5340 | + "node-releases": { | ||
5341 | + "version": "1.1.53", | ||
5342 | + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz", | ||
5343 | + "integrity": "sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==", | ||
5344 | + "dev": true | ||
5345 | + }, | ||
5346 | + "nopt": { | ||
5347 | + "version": "4.0.3", | ||
5348 | + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", | ||
5349 | + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", | ||
5350 | + "dev": true, | ||
5351 | + "requires": { | ||
5352 | + "abbrev": "1", | ||
5353 | + "osenv": "^0.1.4" | ||
5354 | + } | ||
5355 | + }, | ||
5356 | + "normalize-html-whitespace": { | ||
5357 | + "version": "1.0.0", | ||
5358 | + "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz", | ||
5359 | + "integrity": "sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA==", | ||
5360 | + "dev": true | ||
5361 | + }, | ||
5362 | + "normalize-path": { | ||
5363 | + "version": "3.0.0", | ||
5364 | + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", | ||
5365 | + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", | ||
5366 | + "dev": true | ||
5367 | + }, | ||
5368 | + "normalize-url": { | ||
5369 | + "version": "3.3.0", | ||
5370 | + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", | ||
5371 | + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", | ||
5372 | + "dev": true | ||
5373 | + }, | ||
5374 | + "nth-check": { | ||
5375 | + "version": "1.0.2", | ||
5376 | + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", | ||
5377 | + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", | ||
5378 | + "dev": true, | ||
5379 | + "requires": { | ||
5380 | + "boolbase": "~1.0.0" | ||
5381 | + } | ||
5382 | + }, | ||
5383 | + "nwsapi": { | ||
5384 | + "version": "2.2.0", | ||
5385 | + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", | ||
5386 | + "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", | ||
5387 | + "dev": true | ||
5388 | + }, | ||
5389 | + "oauth-sign": { | ||
5390 | + "version": "0.9.0", | ||
5391 | + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", | ||
5392 | + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" | ||
5393 | + }, | ||
5394 | + "object-assign": { | ||
5395 | + "version": "4.1.1", | ||
5396 | + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", | ||
5397 | + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", | ||
5398 | + "dev": true | ||
5399 | + }, | ||
5400 | + "object-copy": { | ||
5401 | + "version": "0.1.0", | ||
5402 | + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", | ||
5403 | + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", | ||
5404 | + "dev": true, | ||
5405 | + "requires": { | ||
5406 | + "copy-descriptor": "^0.1.0", | ||
5407 | + "define-property": "^0.2.5", | ||
5408 | + "kind-of": "^3.0.3" | ||
5409 | + }, | ||
5410 | + "dependencies": { | ||
5411 | + "define-property": { | ||
5412 | + "version": "0.2.5", | ||
5413 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", | ||
5414 | + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", | ||
5415 | + "dev": true, | ||
5416 | + "requires": { | ||
5417 | + "is-descriptor": "^0.1.0" | ||
5418 | + } | ||
5419 | + }, | ||
5420 | + "kind-of": { | ||
5421 | + "version": "3.2.2", | ||
5422 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
5423 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
5424 | + "dev": true, | ||
5425 | + "requires": { | ||
5426 | + "is-buffer": "^1.1.5" | ||
5427 | + } | ||
5428 | + } | ||
5429 | + } | ||
5430 | + }, | ||
5431 | + "object-inspect": { | ||
5432 | + "version": "1.7.0", | ||
5433 | + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", | ||
5434 | + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", | ||
5435 | + "dev": true | ||
5436 | + }, | ||
5437 | + "object-keys": { | ||
5438 | + "version": "1.1.1", | ||
5439 | + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", | ||
5440 | + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", | ||
5441 | + "dev": true | ||
5442 | + }, | ||
5443 | + "object-visit": { | ||
5444 | + "version": "1.0.1", | ||
5445 | + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", | ||
5446 | + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", | ||
5447 | + "dev": true, | ||
5448 | + "requires": { | ||
5449 | + "isobject": "^3.0.0" | ||
5450 | + } | ||
5451 | + }, | ||
5452 | + "object.assign": { | ||
5453 | + "version": "4.1.0", | ||
5454 | + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", | ||
5455 | + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", | ||
5456 | + "dev": true, | ||
5457 | + "requires": { | ||
5458 | + "define-properties": "^1.1.2", | ||
5459 | + "function-bind": "^1.1.1", | ||
5460 | + "has-symbols": "^1.0.0", | ||
5461 | + "object-keys": "^1.0.11" | ||
5462 | + } | ||
5463 | + }, | ||
5464 | + "object.getownpropertydescriptors": { | ||
5465 | + "version": "2.1.0", | ||
5466 | + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", | ||
5467 | + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", | ||
5468 | + "dev": true, | ||
5469 | + "requires": { | ||
5470 | + "define-properties": "^1.1.3", | ||
5471 | + "es-abstract": "^1.17.0-next.1" | ||
5472 | + } | ||
5473 | + }, | ||
5474 | + "object.pick": { | ||
5475 | + "version": "1.3.0", | ||
5476 | + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", | ||
5477 | + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", | ||
5478 | + "dev": true, | ||
5479 | + "requires": { | ||
5480 | + "isobject": "^3.0.1" | ||
5481 | + } | ||
5482 | + }, | ||
5483 | + "object.values": { | ||
5484 | + "version": "1.1.1", | ||
5485 | + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", | ||
5486 | + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", | ||
5487 | + "dev": true, | ||
5488 | + "requires": { | ||
5489 | + "define-properties": "^1.1.3", | ||
5490 | + "es-abstract": "^1.17.0-next.1", | ||
5491 | + "function-bind": "^1.1.1", | ||
5492 | + "has": "^1.0.3" | ||
5493 | + } | ||
5494 | + }, | ||
5495 | + "on-finished": { | ||
5496 | + "version": "2.3.0", | ||
5497 | + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | ||
5498 | + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", | ||
5499 | + "dev": true, | ||
5500 | + "requires": { | ||
5501 | + "ee-first": "1.1.1" | ||
5502 | + } | ||
5503 | + }, | ||
5504 | + "once": { | ||
5505 | + "version": "1.4.0", | ||
5506 | + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | ||
5507 | + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", | ||
5508 | + "dev": true, | ||
5509 | + "requires": { | ||
5510 | + "wrappy": "1" | ||
5511 | + } | ||
5512 | + }, | ||
5513 | + "onetime": { | ||
5514 | + "version": "2.0.1", | ||
5515 | + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", | ||
5516 | + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", | ||
5517 | + "dev": true, | ||
5518 | + "requires": { | ||
5519 | + "mimic-fn": "^1.0.0" | ||
5520 | + } | ||
5521 | + }, | ||
5522 | + "opn": { | ||
5523 | + "version": "5.5.0", | ||
5524 | + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", | ||
5525 | + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", | ||
5526 | + "dev": true, | ||
5527 | + "requires": { | ||
5528 | + "is-wsl": "^1.1.0" | ||
5529 | + } | ||
5530 | + }, | ||
5531 | + "optionator": { | ||
5532 | + "version": "0.8.3", | ||
5533 | + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", | ||
5534 | + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", | ||
5535 | + "dev": true, | ||
5536 | + "requires": { | ||
5537 | + "deep-is": "~0.1.3", | ||
5538 | + "fast-levenshtein": "~2.0.6", | ||
5539 | + "levn": "~0.3.0", | ||
5540 | + "prelude-ls": "~1.1.2", | ||
5541 | + "type-check": "~0.3.2", | ||
5542 | + "word-wrap": "~1.2.3" | ||
5543 | + } | ||
5544 | + }, | ||
5545 | + "ora": { | ||
5546 | + "version": "2.1.0", | ||
5547 | + "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz", | ||
5548 | + "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==", | ||
5549 | + "dev": true, | ||
5550 | + "requires": { | ||
5551 | + "chalk": "^2.3.1", | ||
5552 | + "cli-cursor": "^2.1.0", | ||
5553 | + "cli-spinners": "^1.1.0", | ||
5554 | + "log-symbols": "^2.2.0", | ||
5555 | + "strip-ansi": "^4.0.0", | ||
5556 | + "wcwidth": "^1.0.1" | ||
5557 | + } | ||
5558 | + }, | ||
5559 | + "os-browserify": { | ||
5560 | + "version": "0.3.0", | ||
5561 | + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", | ||
5562 | + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", | ||
5563 | + "dev": true | ||
5564 | + }, | ||
5565 | + "os-homedir": { | ||
5566 | + "version": "1.0.2", | ||
5567 | + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", | ||
5568 | + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", | ||
5569 | + "dev": true | ||
5570 | + }, | ||
5571 | + "os-tmpdir": { | ||
5572 | + "version": "1.0.2", | ||
5573 | + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", | ||
5574 | + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", | ||
5575 | + "dev": true | ||
5576 | + }, | ||
5577 | + "osenv": { | ||
5578 | + "version": "0.1.5", | ||
5579 | + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", | ||
5580 | + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", | ||
5581 | + "dev": true, | ||
5582 | + "requires": { | ||
5583 | + "os-homedir": "^1.0.0", | ||
5584 | + "os-tmpdir": "^1.0.0" | ||
5585 | + } | ||
5586 | + }, | ||
5587 | + "p-limit": { | ||
5588 | + "version": "1.3.0", | ||
5589 | + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", | ||
5590 | + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", | ||
5591 | + "dev": true, | ||
5592 | + "requires": { | ||
5593 | + "p-try": "^1.0.0" | ||
5594 | + } | ||
5595 | + }, | ||
5596 | + "p-locate": { | ||
5597 | + "version": "2.0.0", | ||
5598 | + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", | ||
5599 | + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", | ||
5600 | + "dev": true, | ||
5601 | + "requires": { | ||
5602 | + "p-limit": "^1.1.0" | ||
5603 | + } | ||
5604 | + }, | ||
5605 | + "p-try": { | ||
5606 | + "version": "1.0.0", | ||
5607 | + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", | ||
5608 | + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", | ||
5609 | + "dev": true | ||
5610 | + }, | ||
5611 | + "pako": { | ||
5612 | + "version": "0.2.9", | ||
5613 | + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", | ||
5614 | + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", | ||
5615 | + "dev": true | ||
5616 | + }, | ||
5617 | + "parcel-bundler": { | ||
5618 | + "version": "1.12.3", | ||
5619 | + "resolved": "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.3.tgz", | ||
5620 | + "integrity": "sha512-8bq6lj0hhQeGxD9f9xEkFMXQ3d8TIlf2+isKxoi9bciB0KVEILRGllaPkUgp++5t0anToBh9+tG6ZyInXOC1/A==", | ||
5621 | + "dev": true, | ||
5622 | + "requires": { | ||
5623 | + "@babel/code-frame": "^7.0.0 <7.4.0", | ||
5624 | + "@babel/core": "^7.0.0 <7.4.0", | ||
5625 | + "@babel/generator": "^7.0.0 <7.4.0", | ||
5626 | + "@babel/parser": "^7.0.0 <7.4.0", | ||
5627 | + "@babel/plugin-transform-flow-strip-types": "^7.0.0 <7.4.0", | ||
5628 | + "@babel/plugin-transform-modules-commonjs": "^7.0.0 <7.4.0", | ||
5629 | + "@babel/plugin-transform-react-jsx": "^7.0.0 <7.4.0", | ||
5630 | + "@babel/preset-env": "^7.0.0 <7.4.0", | ||
5631 | + "@babel/runtime": "^7.0.0 <7.4.0", | ||
5632 | + "@babel/template": "^7.0.0 <7.4.0", | ||
5633 | + "@babel/traverse": "^7.0.0 <7.4.0", | ||
5634 | + "@babel/types": "^7.0.0 <7.4.0", | ||
5635 | + "@iarna/toml": "^2.2.0", | ||
5636 | + "@parcel/fs": "^1.11.0", | ||
5637 | + "@parcel/logger": "^1.11.0", | ||
5638 | + "@parcel/utils": "^1.11.0", | ||
5639 | + "@parcel/watcher": "^1.12.0", | ||
5640 | + "@parcel/workers": "^1.11.0", | ||
5641 | + "ansi-to-html": "^0.6.4", | ||
5642 | + "babylon-walk": "^1.0.2", | ||
5643 | + "browserslist": "^4.1.0", | ||
5644 | + "chalk": "^2.1.0", | ||
5645 | + "clone": "^2.1.1", | ||
5646 | + "command-exists": "^1.2.6", | ||
5647 | + "commander": "^2.11.0", | ||
5648 | + "cross-spawn": "^6.0.4", | ||
5649 | + "css-modules-loader-core": "^1.1.0", | ||
5650 | + "cssnano": "^4.0.0", | ||
5651 | + "deasync": "^0.1.14", | ||
5652 | + "dotenv": "^5.0.0", | ||
5653 | + "dotenv-expand": "^4.2.0", | ||
5654 | + "fast-glob": "^2.2.2", | ||
5655 | + "filesize": "^3.6.0", | ||
5656 | + "get-port": "^3.2.0", | ||
5657 | + "htmlnano": "^0.2.2", | ||
5658 | + "is-glob": "^4.0.0", | ||
5659 | + "is-url": "^1.2.2", | ||
5660 | + "js-yaml": "^3.10.0", | ||
5661 | + "json5": "^1.0.1", | ||
5662 | + "micromatch": "^3.0.4", | ||
5663 | + "mkdirp": "^0.5.1", | ||
5664 | + "node-forge": "^0.7.1", | ||
5665 | + "node-libs-browser": "^2.0.0", | ||
5666 | + "opn": "^5.1.0", | ||
5667 | + "postcss": "^7.0.11", | ||
5668 | + "postcss-value-parser": "^3.3.1", | ||
5669 | + "posthtml": "^0.11.2", | ||
5670 | + "posthtml-parser": "^0.4.0", | ||
5671 | + "posthtml-render": "^1.1.3", | ||
5672 | + "resolve": "^1.4.0", | ||
5673 | + "semver": "^5.4.1", | ||
5674 | + "serialize-to-js": "^1.1.1", | ||
5675 | + "serve-static": "^1.12.4", | ||
5676 | + "source-map": "0.6.1", | ||
5677 | + "terser": "^3.7.3", | ||
5678 | + "v8-compile-cache": "^2.0.0", | ||
5679 | + "ws": "^5.1.1" | ||
5680 | + }, | ||
5681 | + "dependencies": { | ||
5682 | + "postcss-value-parser": { | ||
5683 | + "version": "3.3.1", | ||
5684 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5685 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5686 | + "dev": true | ||
5687 | + } | ||
5688 | + } | ||
5689 | + }, | ||
5690 | + "parse-asn1": { | ||
5691 | + "version": "5.1.5", | ||
5692 | + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", | ||
5693 | + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", | ||
5694 | + "dev": true, | ||
5695 | + "requires": { | ||
5696 | + "asn1.js": "^4.0.0", | ||
5697 | + "browserify-aes": "^1.0.0", | ||
5698 | + "create-hash": "^1.1.0", | ||
5699 | + "evp_bytestokey": "^1.0.0", | ||
5700 | + "pbkdf2": "^3.0.3", | ||
5701 | + "safe-buffer": "^5.1.1" | ||
5702 | + } | ||
5703 | + }, | ||
5704 | + "parse-json": { | ||
5705 | + "version": "4.0.0", | ||
5706 | + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", | ||
5707 | + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", | ||
5708 | + "dev": true, | ||
5709 | + "requires": { | ||
5710 | + "error-ex": "^1.3.1", | ||
5711 | + "json-parse-better-errors": "^1.0.1" | ||
5712 | + } | ||
5713 | + }, | ||
5714 | + "parse5": { | ||
5715 | + "version": "5.1.0", | ||
5716 | + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", | ||
5717 | + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", | ||
5718 | + "dev": true | ||
5719 | + }, | ||
5720 | + "parseurl": { | ||
5721 | + "version": "1.3.3", | ||
5722 | + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", | ||
5723 | + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", | ||
5724 | + "dev": true | ||
5725 | + }, | ||
5726 | + "pascalcase": { | ||
5727 | + "version": "0.1.1", | ||
5728 | + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", | ||
5729 | + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", | ||
5730 | + "dev": true | ||
5731 | + }, | ||
5732 | + "path-browserify": { | ||
5733 | + "version": "0.0.1", | ||
5734 | + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", | ||
5735 | + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", | ||
5736 | + "dev": true | ||
5737 | + }, | ||
5738 | + "path-dirname": { | ||
5739 | + "version": "1.0.2", | ||
5740 | + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", | ||
5741 | + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", | ||
5742 | + "dev": true | ||
5743 | + }, | ||
5744 | + "path-exists": { | ||
5745 | + "version": "3.0.0", | ||
5746 | + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
5747 | + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
5748 | + "dev": true | ||
5749 | + }, | ||
5750 | + "path-is-absolute": { | ||
5751 | + "version": "1.0.1", | ||
5752 | + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||
5753 | + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | ||
5754 | + "dev": true | ||
5755 | + }, | ||
5756 | + "path-key": { | ||
5757 | + "version": "2.0.1", | ||
5758 | + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", | ||
5759 | + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", | ||
5760 | + "dev": true | ||
5761 | + }, | ||
5762 | + "path-parse": { | ||
5763 | + "version": "1.0.6", | ||
5764 | + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", | ||
5765 | + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", | ||
5766 | + "dev": true | ||
5767 | + }, | ||
5768 | + "pbkdf2": { | ||
5769 | + "version": "3.0.17", | ||
5770 | + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", | ||
5771 | + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", | ||
5772 | + "dev": true, | ||
5773 | + "requires": { | ||
5774 | + "create-hash": "^1.1.2", | ||
5775 | + "create-hmac": "^1.1.4", | ||
5776 | + "ripemd160": "^2.0.1", | ||
5777 | + "safe-buffer": "^5.0.1", | ||
5778 | + "sha.js": "^2.4.8" | ||
5779 | + } | ||
5780 | + }, | ||
5781 | + "performance-now": { | ||
5782 | + "version": "2.1.0", | ||
5783 | + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", | ||
5784 | + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" | ||
5785 | + }, | ||
5786 | + "physical-cpu-count": { | ||
5787 | + "version": "2.0.0", | ||
5788 | + "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz", | ||
5789 | + "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=", | ||
5790 | + "dev": true | ||
5791 | + }, | ||
5792 | + "pkg-up": { | ||
5793 | + "version": "2.0.0", | ||
5794 | + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", | ||
5795 | + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", | ||
5796 | + "dev": true, | ||
5797 | + "requires": { | ||
5798 | + "find-up": "^2.1.0" | ||
5799 | + } | ||
5800 | + }, | ||
5801 | + "pn": { | ||
5802 | + "version": "1.1.0", | ||
5803 | + "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", | ||
5804 | + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", | ||
5805 | + "dev": true | ||
5806 | + }, | ||
5807 | + "posix-character-classes": { | ||
5808 | + "version": "0.1.1", | ||
5809 | + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", | ||
5810 | + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", | ||
5811 | + "dev": true | ||
5812 | + }, | ||
5813 | + "postcss": { | ||
5814 | + "version": "7.0.27", | ||
5815 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", | ||
5816 | + "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", | ||
5817 | + "dev": true, | ||
5818 | + "requires": { | ||
5819 | + "chalk": "^2.4.2", | ||
5820 | + "source-map": "^0.6.1", | ||
5821 | + "supports-color": "^6.1.0" | ||
5822 | + } | ||
5823 | + }, | ||
5824 | + "postcss-calc": { | ||
5825 | + "version": "7.0.2", | ||
5826 | + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", | ||
5827 | + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", | ||
5828 | + "dev": true, | ||
5829 | + "requires": { | ||
5830 | + "postcss": "^7.0.27", | ||
5831 | + "postcss-selector-parser": "^6.0.2", | ||
5832 | + "postcss-value-parser": "^4.0.2" | ||
5833 | + } | ||
5834 | + }, | ||
5835 | + "postcss-colormin": { | ||
5836 | + "version": "4.0.3", | ||
5837 | + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", | ||
5838 | + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", | ||
5839 | + "dev": true, | ||
5840 | + "requires": { | ||
5841 | + "browserslist": "^4.0.0", | ||
5842 | + "color": "^3.0.0", | ||
5843 | + "has": "^1.0.0", | ||
5844 | + "postcss": "^7.0.0", | ||
5845 | + "postcss-value-parser": "^3.0.0" | ||
5846 | + }, | ||
5847 | + "dependencies": { | ||
5848 | + "postcss-value-parser": { | ||
5849 | + "version": "3.3.1", | ||
5850 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5851 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5852 | + "dev": true | ||
5853 | + } | ||
5854 | + } | ||
5855 | + }, | ||
5856 | + "postcss-convert-values": { | ||
5857 | + "version": "4.0.1", | ||
5858 | + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", | ||
5859 | + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", | ||
5860 | + "dev": true, | ||
5861 | + "requires": { | ||
5862 | + "postcss": "^7.0.0", | ||
5863 | + "postcss-value-parser": "^3.0.0" | ||
5864 | + }, | ||
5865 | + "dependencies": { | ||
5866 | + "postcss-value-parser": { | ||
5867 | + "version": "3.3.1", | ||
5868 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5869 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5870 | + "dev": true | ||
5871 | + } | ||
5872 | + } | ||
5873 | + }, | ||
5874 | + "postcss-discard-comments": { | ||
5875 | + "version": "4.0.2", | ||
5876 | + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", | ||
5877 | + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", | ||
5878 | + "dev": true, | ||
5879 | + "requires": { | ||
5880 | + "postcss": "^7.0.0" | ||
5881 | + } | ||
5882 | + }, | ||
5883 | + "postcss-discard-duplicates": { | ||
5884 | + "version": "4.0.2", | ||
5885 | + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", | ||
5886 | + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", | ||
5887 | + "dev": true, | ||
5888 | + "requires": { | ||
5889 | + "postcss": "^7.0.0" | ||
5890 | + } | ||
5891 | + }, | ||
5892 | + "postcss-discard-empty": { | ||
5893 | + "version": "4.0.1", | ||
5894 | + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", | ||
5895 | + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", | ||
5896 | + "dev": true, | ||
5897 | + "requires": { | ||
5898 | + "postcss": "^7.0.0" | ||
5899 | + } | ||
5900 | + }, | ||
5901 | + "postcss-discard-overridden": { | ||
5902 | + "version": "4.0.1", | ||
5903 | + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", | ||
5904 | + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", | ||
5905 | + "dev": true, | ||
5906 | + "requires": { | ||
5907 | + "postcss": "^7.0.0" | ||
5908 | + } | ||
5909 | + }, | ||
5910 | + "postcss-merge-longhand": { | ||
5911 | + "version": "4.0.11", | ||
5912 | + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", | ||
5913 | + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", | ||
5914 | + "dev": true, | ||
5915 | + "requires": { | ||
5916 | + "css-color-names": "0.0.4", | ||
5917 | + "postcss": "^7.0.0", | ||
5918 | + "postcss-value-parser": "^3.0.0", | ||
5919 | + "stylehacks": "^4.0.0" | ||
5920 | + }, | ||
5921 | + "dependencies": { | ||
5922 | + "postcss-value-parser": { | ||
5923 | + "version": "3.3.1", | ||
5924 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5925 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5926 | + "dev": true | ||
5927 | + } | ||
5928 | + } | ||
5929 | + }, | ||
5930 | + "postcss-merge-rules": { | ||
5931 | + "version": "4.0.3", | ||
5932 | + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", | ||
5933 | + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", | ||
5934 | + "dev": true, | ||
5935 | + "requires": { | ||
5936 | + "browserslist": "^4.0.0", | ||
5937 | + "caniuse-api": "^3.0.0", | ||
5938 | + "cssnano-util-same-parent": "^4.0.0", | ||
5939 | + "postcss": "^7.0.0", | ||
5940 | + "postcss-selector-parser": "^3.0.0", | ||
5941 | + "vendors": "^1.0.0" | ||
5942 | + }, | ||
5943 | + "dependencies": { | ||
5944 | + "postcss-selector-parser": { | ||
5945 | + "version": "3.1.2", | ||
5946 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", | ||
5947 | + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", | ||
5948 | + "dev": true, | ||
5949 | + "requires": { | ||
5950 | + "dot-prop": "^5.2.0", | ||
5951 | + "indexes-of": "^1.0.1", | ||
5952 | + "uniq": "^1.0.1" | ||
5953 | + } | ||
5954 | + } | ||
5955 | + } | ||
5956 | + }, | ||
5957 | + "postcss-minify-font-values": { | ||
5958 | + "version": "4.0.2", | ||
5959 | + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", | ||
5960 | + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", | ||
5961 | + "dev": true, | ||
5962 | + "requires": { | ||
5963 | + "postcss": "^7.0.0", | ||
5964 | + "postcss-value-parser": "^3.0.0" | ||
5965 | + }, | ||
5966 | + "dependencies": { | ||
5967 | + "postcss-value-parser": { | ||
5968 | + "version": "3.3.1", | ||
5969 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5970 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5971 | + "dev": true | ||
5972 | + } | ||
5973 | + } | ||
5974 | + }, | ||
5975 | + "postcss-minify-gradients": { | ||
5976 | + "version": "4.0.2", | ||
5977 | + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", | ||
5978 | + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", | ||
5979 | + "dev": true, | ||
5980 | + "requires": { | ||
5981 | + "cssnano-util-get-arguments": "^4.0.0", | ||
5982 | + "is-color-stop": "^1.0.0", | ||
5983 | + "postcss": "^7.0.0", | ||
5984 | + "postcss-value-parser": "^3.0.0" | ||
5985 | + }, | ||
5986 | + "dependencies": { | ||
5987 | + "postcss-value-parser": { | ||
5988 | + "version": "3.3.1", | ||
5989 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
5990 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
5991 | + "dev": true | ||
5992 | + } | ||
5993 | + } | ||
5994 | + }, | ||
5995 | + "postcss-minify-params": { | ||
5996 | + "version": "4.0.2", | ||
5997 | + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", | ||
5998 | + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", | ||
5999 | + "dev": true, | ||
6000 | + "requires": { | ||
6001 | + "alphanum-sort": "^1.0.0", | ||
6002 | + "browserslist": "^4.0.0", | ||
6003 | + "cssnano-util-get-arguments": "^4.0.0", | ||
6004 | + "postcss": "^7.0.0", | ||
6005 | + "postcss-value-parser": "^3.0.0", | ||
6006 | + "uniqs": "^2.0.0" | ||
6007 | + }, | ||
6008 | + "dependencies": { | ||
6009 | + "postcss-value-parser": { | ||
6010 | + "version": "3.3.1", | ||
6011 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6012 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6013 | + "dev": true | ||
6014 | + } | ||
6015 | + } | ||
6016 | + }, | ||
6017 | + "postcss-minify-selectors": { | ||
6018 | + "version": "4.0.2", | ||
6019 | + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", | ||
6020 | + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", | ||
6021 | + "dev": true, | ||
6022 | + "requires": { | ||
6023 | + "alphanum-sort": "^1.0.0", | ||
6024 | + "has": "^1.0.0", | ||
6025 | + "postcss": "^7.0.0", | ||
6026 | + "postcss-selector-parser": "^3.0.0" | ||
6027 | + }, | ||
6028 | + "dependencies": { | ||
6029 | + "postcss-selector-parser": { | ||
6030 | + "version": "3.1.2", | ||
6031 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", | ||
6032 | + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", | ||
6033 | + "dev": true, | ||
6034 | + "requires": { | ||
6035 | + "dot-prop": "^5.2.0", | ||
6036 | + "indexes-of": "^1.0.1", | ||
6037 | + "uniq": "^1.0.1" | ||
6038 | + } | ||
6039 | + } | ||
6040 | + } | ||
6041 | + }, | ||
6042 | + "postcss-modules-extract-imports": { | ||
6043 | + "version": "1.1.0", | ||
6044 | + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", | ||
6045 | + "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", | ||
6046 | + "dev": true, | ||
6047 | + "requires": { | ||
6048 | + "postcss": "^6.0.1" | ||
6049 | + }, | ||
6050 | + "dependencies": { | ||
6051 | + "postcss": { | ||
6052 | + "version": "6.0.23", | ||
6053 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | ||
6054 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | ||
6055 | + "dev": true, | ||
6056 | + "requires": { | ||
6057 | + "chalk": "^2.4.1", | ||
6058 | + "source-map": "^0.6.1", | ||
6059 | + "supports-color": "^5.4.0" | ||
6060 | + } | ||
6061 | + }, | ||
6062 | + "supports-color": { | ||
6063 | + "version": "5.5.0", | ||
6064 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
6065 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
6066 | + "dev": true, | ||
6067 | + "requires": { | ||
6068 | + "has-flag": "^3.0.0" | ||
6069 | + } | ||
6070 | + } | ||
6071 | + } | ||
6072 | + }, | ||
6073 | + "postcss-modules-local-by-default": { | ||
6074 | + "version": "1.2.0", | ||
6075 | + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", | ||
6076 | + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", | ||
6077 | + "dev": true, | ||
6078 | + "requires": { | ||
6079 | + "css-selector-tokenizer": "^0.7.0", | ||
6080 | + "postcss": "^6.0.1" | ||
6081 | + }, | ||
6082 | + "dependencies": { | ||
6083 | + "postcss": { | ||
6084 | + "version": "6.0.23", | ||
6085 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | ||
6086 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | ||
6087 | + "dev": true, | ||
6088 | + "requires": { | ||
6089 | + "chalk": "^2.4.1", | ||
6090 | + "source-map": "^0.6.1", | ||
6091 | + "supports-color": "^5.4.0" | ||
6092 | + } | ||
6093 | + }, | ||
6094 | + "supports-color": { | ||
6095 | + "version": "5.5.0", | ||
6096 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
6097 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
6098 | + "dev": true, | ||
6099 | + "requires": { | ||
6100 | + "has-flag": "^3.0.0" | ||
6101 | + } | ||
6102 | + } | ||
6103 | + } | ||
6104 | + }, | ||
6105 | + "postcss-modules-scope": { | ||
6106 | + "version": "1.1.0", | ||
6107 | + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", | ||
6108 | + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", | ||
6109 | + "dev": true, | ||
6110 | + "requires": { | ||
6111 | + "css-selector-tokenizer": "^0.7.0", | ||
6112 | + "postcss": "^6.0.1" | ||
6113 | + }, | ||
6114 | + "dependencies": { | ||
6115 | + "postcss": { | ||
6116 | + "version": "6.0.23", | ||
6117 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | ||
6118 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | ||
6119 | + "dev": true, | ||
6120 | + "requires": { | ||
6121 | + "chalk": "^2.4.1", | ||
6122 | + "source-map": "^0.6.1", | ||
6123 | + "supports-color": "^5.4.0" | ||
6124 | + } | ||
6125 | + }, | ||
6126 | + "supports-color": { | ||
6127 | + "version": "5.5.0", | ||
6128 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
6129 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
6130 | + "dev": true, | ||
6131 | + "requires": { | ||
6132 | + "has-flag": "^3.0.0" | ||
6133 | + } | ||
6134 | + } | ||
6135 | + } | ||
6136 | + }, | ||
6137 | + "postcss-modules-values": { | ||
6138 | + "version": "1.3.0", | ||
6139 | + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", | ||
6140 | + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", | ||
6141 | + "dev": true, | ||
6142 | + "requires": { | ||
6143 | + "icss-replace-symbols": "^1.1.0", | ||
6144 | + "postcss": "^6.0.1" | ||
6145 | + }, | ||
6146 | + "dependencies": { | ||
6147 | + "postcss": { | ||
6148 | + "version": "6.0.23", | ||
6149 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | ||
6150 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | ||
6151 | + "dev": true, | ||
6152 | + "requires": { | ||
6153 | + "chalk": "^2.4.1", | ||
6154 | + "source-map": "^0.6.1", | ||
6155 | + "supports-color": "^5.4.0" | ||
6156 | + } | ||
6157 | + }, | ||
6158 | + "supports-color": { | ||
6159 | + "version": "5.5.0", | ||
6160 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", | ||
6161 | + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", | ||
6162 | + "dev": true, | ||
6163 | + "requires": { | ||
6164 | + "has-flag": "^3.0.0" | ||
6165 | + } | ||
6166 | + } | ||
6167 | + } | ||
6168 | + }, | ||
6169 | + "postcss-normalize-charset": { | ||
6170 | + "version": "4.0.1", | ||
6171 | + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", | ||
6172 | + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", | ||
6173 | + "dev": true, | ||
6174 | + "requires": { | ||
6175 | + "postcss": "^7.0.0" | ||
6176 | + } | ||
6177 | + }, | ||
6178 | + "postcss-normalize-display-values": { | ||
6179 | + "version": "4.0.2", | ||
6180 | + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", | ||
6181 | + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", | ||
6182 | + "dev": true, | ||
6183 | + "requires": { | ||
6184 | + "cssnano-util-get-match": "^4.0.0", | ||
6185 | + "postcss": "^7.0.0", | ||
6186 | + "postcss-value-parser": "^3.0.0" | ||
6187 | + }, | ||
6188 | + "dependencies": { | ||
6189 | + "postcss-value-parser": { | ||
6190 | + "version": "3.3.1", | ||
6191 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6192 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6193 | + "dev": true | ||
6194 | + } | ||
6195 | + } | ||
6196 | + }, | ||
6197 | + "postcss-normalize-positions": { | ||
6198 | + "version": "4.0.2", | ||
6199 | + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", | ||
6200 | + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", | ||
6201 | + "dev": true, | ||
6202 | + "requires": { | ||
6203 | + "cssnano-util-get-arguments": "^4.0.0", | ||
6204 | + "has": "^1.0.0", | ||
6205 | + "postcss": "^7.0.0", | ||
6206 | + "postcss-value-parser": "^3.0.0" | ||
6207 | + }, | ||
6208 | + "dependencies": { | ||
6209 | + "postcss-value-parser": { | ||
6210 | + "version": "3.3.1", | ||
6211 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6212 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6213 | + "dev": true | ||
6214 | + } | ||
6215 | + } | ||
6216 | + }, | ||
6217 | + "postcss-normalize-repeat-style": { | ||
6218 | + "version": "4.0.2", | ||
6219 | + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", | ||
6220 | + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", | ||
6221 | + "dev": true, | ||
6222 | + "requires": { | ||
6223 | + "cssnano-util-get-arguments": "^4.0.0", | ||
6224 | + "cssnano-util-get-match": "^4.0.0", | ||
6225 | + "postcss": "^7.0.0", | ||
6226 | + "postcss-value-parser": "^3.0.0" | ||
6227 | + }, | ||
6228 | + "dependencies": { | ||
6229 | + "postcss-value-parser": { | ||
6230 | + "version": "3.3.1", | ||
6231 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6232 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6233 | + "dev": true | ||
6234 | + } | ||
6235 | + } | ||
6236 | + }, | ||
6237 | + "postcss-normalize-string": { | ||
6238 | + "version": "4.0.2", | ||
6239 | + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", | ||
6240 | + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", | ||
6241 | + "dev": true, | ||
6242 | + "requires": { | ||
6243 | + "has": "^1.0.0", | ||
6244 | + "postcss": "^7.0.0", | ||
6245 | + "postcss-value-parser": "^3.0.0" | ||
6246 | + }, | ||
6247 | + "dependencies": { | ||
6248 | + "postcss-value-parser": { | ||
6249 | + "version": "3.3.1", | ||
6250 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6251 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6252 | + "dev": true | ||
6253 | + } | ||
6254 | + } | ||
6255 | + }, | ||
6256 | + "postcss-normalize-timing-functions": { | ||
6257 | + "version": "4.0.2", | ||
6258 | + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", | ||
6259 | + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", | ||
6260 | + "dev": true, | ||
6261 | + "requires": { | ||
6262 | + "cssnano-util-get-match": "^4.0.0", | ||
6263 | + "postcss": "^7.0.0", | ||
6264 | + "postcss-value-parser": "^3.0.0" | ||
6265 | + }, | ||
6266 | + "dependencies": { | ||
6267 | + "postcss-value-parser": { | ||
6268 | + "version": "3.3.1", | ||
6269 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6270 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6271 | + "dev": true | ||
6272 | + } | ||
6273 | + } | ||
6274 | + }, | ||
6275 | + "postcss-normalize-unicode": { | ||
6276 | + "version": "4.0.1", | ||
6277 | + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", | ||
6278 | + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", | ||
6279 | + "dev": true, | ||
6280 | + "requires": { | ||
6281 | + "browserslist": "^4.0.0", | ||
6282 | + "postcss": "^7.0.0", | ||
6283 | + "postcss-value-parser": "^3.0.0" | ||
6284 | + }, | ||
6285 | + "dependencies": { | ||
6286 | + "postcss-value-parser": { | ||
6287 | + "version": "3.3.1", | ||
6288 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6289 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6290 | + "dev": true | ||
6291 | + } | ||
6292 | + } | ||
6293 | + }, | ||
6294 | + "postcss-normalize-url": { | ||
6295 | + "version": "4.0.1", | ||
6296 | + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", | ||
6297 | + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", | ||
6298 | + "dev": true, | ||
6299 | + "requires": { | ||
6300 | + "is-absolute-url": "^2.0.0", | ||
6301 | + "normalize-url": "^3.0.0", | ||
6302 | + "postcss": "^7.0.0", | ||
6303 | + "postcss-value-parser": "^3.0.0" | ||
6304 | + }, | ||
6305 | + "dependencies": { | ||
6306 | + "postcss-value-parser": { | ||
6307 | + "version": "3.3.1", | ||
6308 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6309 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6310 | + "dev": true | ||
6311 | + } | ||
6312 | + } | ||
6313 | + }, | ||
6314 | + "postcss-normalize-whitespace": { | ||
6315 | + "version": "4.0.2", | ||
6316 | + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", | ||
6317 | + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", | ||
6318 | + "dev": true, | ||
6319 | + "requires": { | ||
6320 | + "postcss": "^7.0.0", | ||
6321 | + "postcss-value-parser": "^3.0.0" | ||
6322 | + }, | ||
6323 | + "dependencies": { | ||
6324 | + "postcss-value-parser": { | ||
6325 | + "version": "3.3.1", | ||
6326 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6327 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6328 | + "dev": true | ||
6329 | + } | ||
6330 | + } | ||
6331 | + }, | ||
6332 | + "postcss-ordered-values": { | ||
6333 | + "version": "4.1.2", | ||
6334 | + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", | ||
6335 | + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", | ||
6336 | + "dev": true, | ||
6337 | + "requires": { | ||
6338 | + "cssnano-util-get-arguments": "^4.0.0", | ||
6339 | + "postcss": "^7.0.0", | ||
6340 | + "postcss-value-parser": "^3.0.0" | ||
6341 | + }, | ||
6342 | + "dependencies": { | ||
6343 | + "postcss-value-parser": { | ||
6344 | + "version": "3.3.1", | ||
6345 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6346 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6347 | + "dev": true | ||
6348 | + } | ||
6349 | + } | ||
6350 | + }, | ||
6351 | + "postcss-reduce-initial": { | ||
6352 | + "version": "4.0.3", | ||
6353 | + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", | ||
6354 | + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", | ||
6355 | + "dev": true, | ||
6356 | + "requires": { | ||
6357 | + "browserslist": "^4.0.0", | ||
6358 | + "caniuse-api": "^3.0.0", | ||
6359 | + "has": "^1.0.0", | ||
6360 | + "postcss": "^7.0.0" | ||
6361 | + } | ||
6362 | + }, | ||
6363 | + "postcss-reduce-transforms": { | ||
6364 | + "version": "4.0.2", | ||
6365 | + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", | ||
6366 | + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", | ||
6367 | + "dev": true, | ||
6368 | + "requires": { | ||
6369 | + "cssnano-util-get-match": "^4.0.0", | ||
6370 | + "has": "^1.0.0", | ||
6371 | + "postcss": "^7.0.0", | ||
6372 | + "postcss-value-parser": "^3.0.0" | ||
6373 | + }, | ||
6374 | + "dependencies": { | ||
6375 | + "postcss-value-parser": { | ||
6376 | + "version": "3.3.1", | ||
6377 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6378 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6379 | + "dev": true | ||
6380 | + } | ||
6381 | + } | ||
6382 | + }, | ||
6383 | + "postcss-selector-parser": { | ||
6384 | + "version": "6.0.2", | ||
6385 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", | ||
6386 | + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", | ||
6387 | + "dev": true, | ||
6388 | + "requires": { | ||
6389 | + "cssesc": "^3.0.0", | ||
6390 | + "indexes-of": "^1.0.1", | ||
6391 | + "uniq": "^1.0.1" | ||
6392 | + } | ||
6393 | + }, | ||
6394 | + "postcss-svgo": { | ||
6395 | + "version": "4.0.2", | ||
6396 | + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", | ||
6397 | + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", | ||
6398 | + "dev": true, | ||
6399 | + "requires": { | ||
6400 | + "is-svg": "^3.0.0", | ||
6401 | + "postcss": "^7.0.0", | ||
6402 | + "postcss-value-parser": "^3.0.0", | ||
6403 | + "svgo": "^1.0.0" | ||
6404 | + }, | ||
6405 | + "dependencies": { | ||
6406 | + "postcss-value-parser": { | ||
6407 | + "version": "3.3.1", | ||
6408 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", | ||
6409 | + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", | ||
6410 | + "dev": true | ||
6411 | + } | ||
6412 | + } | ||
6413 | + }, | ||
6414 | + "postcss-unique-selectors": { | ||
6415 | + "version": "4.0.1", | ||
6416 | + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", | ||
6417 | + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", | ||
6418 | + "dev": true, | ||
6419 | + "requires": { | ||
6420 | + "alphanum-sort": "^1.0.0", | ||
6421 | + "postcss": "^7.0.0", | ||
6422 | + "uniqs": "^2.0.0" | ||
6423 | + } | ||
6424 | + }, | ||
6425 | + "postcss-value-parser": { | ||
6426 | + "version": "4.0.3", | ||
6427 | + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz", | ||
6428 | + "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==", | ||
6429 | + "dev": true | ||
6430 | + }, | ||
6431 | + "posthtml": { | ||
6432 | + "version": "0.11.6", | ||
6433 | + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz", | ||
6434 | + "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==", | ||
6435 | + "dev": true, | ||
6436 | + "requires": { | ||
6437 | + "posthtml-parser": "^0.4.1", | ||
6438 | + "posthtml-render": "^1.1.5" | ||
6439 | + } | ||
6440 | + }, | ||
6441 | + "posthtml-parser": { | ||
6442 | + "version": "0.4.2", | ||
6443 | + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz", | ||
6444 | + "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==", | ||
6445 | + "dev": true, | ||
6446 | + "requires": { | ||
6447 | + "htmlparser2": "^3.9.2" | ||
6448 | + } | ||
6449 | + }, | ||
6450 | + "posthtml-render": { | ||
6451 | + "version": "1.2.2", | ||
6452 | + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.2.2.tgz", | ||
6453 | + "integrity": "sha512-MbIXTWwAfJ9qET6Zl29UNwJcDJEEz9Zkr5oDhiujitJa7YBJwEpbkX2cmuklCDxubTMoRWpid3q8DrSyGnUUzQ==", | ||
6454 | + "dev": true | ||
6455 | + }, | ||
6456 | + "prelude-ls": { | ||
6457 | + "version": "1.1.2", | ||
6458 | + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", | ||
6459 | + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", | ||
6460 | + "dev": true | ||
6461 | + }, | ||
6462 | + "private": { | ||
6463 | + "version": "0.1.8", | ||
6464 | + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", | ||
6465 | + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", | ||
6466 | + "dev": true | ||
6467 | + }, | ||
6468 | + "process": { | ||
6469 | + "version": "0.11.10", | ||
6470 | + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", | ||
6471 | + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", | ||
6472 | + "dev": true | ||
6473 | + }, | ||
6474 | + "process-nextick-args": { | ||
6475 | + "version": "2.0.1", | ||
6476 | + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", | ||
6477 | + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", | ||
6478 | + "dev": true | ||
6479 | + }, | ||
6480 | + "proto-list": { | ||
6481 | + "version": "1.2.4", | ||
6482 | + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", | ||
6483 | + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", | ||
6484 | + "dev": true | ||
6485 | + }, | ||
6486 | + "pseudomap": { | ||
6487 | + "version": "1.0.2", | ||
6488 | + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | ||
6489 | + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", | ||
6490 | + "dev": true | ||
6491 | + }, | ||
6492 | + "psl": { | ||
6493 | + "version": "1.8.0", | ||
6494 | + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", | ||
6495 | + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" | ||
6496 | + }, | ||
6497 | + "public-encrypt": { | ||
6498 | + "version": "4.0.3", | ||
6499 | + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", | ||
6500 | + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", | ||
6501 | + "dev": true, | ||
6502 | + "requires": { | ||
6503 | + "bn.js": "^4.1.0", | ||
6504 | + "browserify-rsa": "^4.0.0", | ||
6505 | + "create-hash": "^1.1.0", | ||
6506 | + "parse-asn1": "^5.0.0", | ||
6507 | + "randombytes": "^2.0.1", | ||
6508 | + "safe-buffer": "^5.1.2" | ||
6509 | + } | ||
6510 | + }, | ||
6511 | + "punycode": { | ||
6512 | + "version": "2.1.1", | ||
6513 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", | ||
6514 | + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" | ||
6515 | + }, | ||
6516 | + "purgecss": { | ||
6517 | + "version": "1.4.2", | ||
6518 | + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz", | ||
6519 | + "integrity": "sha512-hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw==", | ||
6520 | + "dev": true, | ||
6521 | + "requires": { | ||
6522 | + "glob": "^7.1.3", | ||
6523 | + "postcss": "^7.0.14", | ||
6524 | + "postcss-selector-parser": "^6.0.0", | ||
6525 | + "yargs": "^14.0.0" | ||
6526 | + } | ||
6527 | + }, | ||
6528 | + "q": { | ||
6529 | + "version": "1.5.1", | ||
6530 | + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", | ||
6531 | + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", | ||
6532 | + "dev": true | ||
6533 | + }, | ||
6534 | + "qs": { | ||
6535 | + "version": "6.5.2", | ||
6536 | + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", | ||
6537 | + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" | ||
6538 | + }, | ||
6539 | + "querystring": { | ||
6540 | + "version": "0.2.0", | ||
6541 | + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", | ||
6542 | + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", | ||
6543 | + "dev": true | ||
6544 | + }, | ||
6545 | + "querystring-es3": { | ||
6546 | + "version": "0.2.1", | ||
6547 | + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", | ||
6548 | + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", | ||
6549 | + "dev": true | ||
6550 | + }, | ||
6551 | + "quote-stream": { | ||
6552 | + "version": "1.0.2", | ||
6553 | + "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", | ||
6554 | + "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", | ||
6555 | + "dev": true, | ||
6556 | + "requires": { | ||
6557 | + "buffer-equal": "0.0.1", | ||
6558 | + "minimist": "^1.1.3", | ||
6559 | + "through2": "^2.0.0" | ||
6560 | + } | ||
6561 | + }, | ||
6562 | + "randombytes": { | ||
6563 | + "version": "2.1.0", | ||
6564 | + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | ||
6565 | + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", | ||
6566 | + "dev": true, | ||
6567 | + "requires": { | ||
6568 | + "safe-buffer": "^5.1.0" | ||
6569 | + } | ||
6570 | + }, | ||
6571 | + "randomfill": { | ||
6572 | + "version": "1.0.4", | ||
6573 | + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", | ||
6574 | + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", | ||
6575 | + "dev": true, | ||
6576 | + "requires": { | ||
6577 | + "randombytes": "^2.0.5", | ||
6578 | + "safe-buffer": "^5.1.0" | ||
6579 | + } | ||
6580 | + }, | ||
6581 | + "range-parser": { | ||
6582 | + "version": "1.2.1", | ||
6583 | + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", | ||
6584 | + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", | ||
6585 | + "dev": true | ||
6586 | + }, | ||
6587 | + "readable-stream": { | ||
6588 | + "version": "2.3.7", | ||
6589 | + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", | ||
6590 | + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", | ||
6591 | + "dev": true, | ||
6592 | + "requires": { | ||
6593 | + "core-util-is": "~1.0.0", | ||
6594 | + "inherits": "~2.0.3", | ||
6595 | + "isarray": "~1.0.0", | ||
6596 | + "process-nextick-args": "~2.0.0", | ||
6597 | + "safe-buffer": "~5.1.1", | ||
6598 | + "string_decoder": "~1.1.1", | ||
6599 | + "util-deprecate": "~1.0.1" | ||
6600 | + } | ||
6601 | + }, | ||
6602 | + "readdirp": { | ||
6603 | + "version": "2.2.1", | ||
6604 | + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", | ||
6605 | + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", | ||
6606 | + "dev": true, | ||
6607 | + "requires": { | ||
6608 | + "graceful-fs": "^4.1.11", | ||
6609 | + "micromatch": "^3.1.10", | ||
6610 | + "readable-stream": "^2.0.2" | ||
6611 | + } | ||
6612 | + }, | ||
6613 | + "regenerate": { | ||
6614 | + "version": "1.4.0", | ||
6615 | + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", | ||
6616 | + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", | ||
6617 | + "dev": true | ||
6618 | + }, | ||
6619 | + "regenerate-unicode-properties": { | ||
6620 | + "version": "8.2.0", | ||
6621 | + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", | ||
6622 | + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", | ||
6623 | + "dev": true, | ||
6624 | + "requires": { | ||
6625 | + "regenerate": "^1.4.0" | ||
6626 | + } | ||
6627 | + }, | ||
6628 | + "regenerator-runtime": { | ||
6629 | + "version": "0.13.5", | ||
6630 | + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", | ||
6631 | + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", | ||
6632 | + "dev": true | ||
6633 | + }, | ||
6634 | + "regenerator-transform": { | ||
6635 | + "version": "0.14.4", | ||
6636 | + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", | ||
6637 | + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", | ||
6638 | + "dev": true, | ||
6639 | + "requires": { | ||
6640 | + "@babel/runtime": "^7.8.4", | ||
6641 | + "private": "^0.1.8" | ||
6642 | + }, | ||
6643 | + "dependencies": { | ||
6644 | + "@babel/runtime": { | ||
6645 | + "version": "7.9.2", | ||
6646 | + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz", | ||
6647 | + "integrity": "sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q==", | ||
6648 | + "dev": true, | ||
6649 | + "requires": { | ||
6650 | + "regenerator-runtime": "^0.13.4" | ||
6651 | + } | ||
6652 | + } | ||
6653 | + } | ||
6654 | + }, | ||
6655 | + "regex-not": { | ||
6656 | + "version": "1.0.2", | ||
6657 | + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", | ||
6658 | + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", | ||
6659 | + "dev": true, | ||
6660 | + "requires": { | ||
6661 | + "extend-shallow": "^3.0.2", | ||
6662 | + "safe-regex": "^1.1.0" | ||
6663 | + } | ||
6664 | + }, | ||
6665 | + "regexpu-core": { | ||
6666 | + "version": "4.7.0", | ||
6667 | + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", | ||
6668 | + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", | ||
6669 | + "dev": true, | ||
6670 | + "requires": { | ||
6671 | + "regenerate": "^1.4.0", | ||
6672 | + "regenerate-unicode-properties": "^8.2.0", | ||
6673 | + "regjsgen": "^0.5.1", | ||
6674 | + "regjsparser": "^0.6.4", | ||
6675 | + "unicode-match-property-ecmascript": "^1.0.4", | ||
6676 | + "unicode-match-property-value-ecmascript": "^1.2.0" | ||
6677 | + } | ||
6678 | + }, | ||
6679 | + "regjsgen": { | ||
6680 | + "version": "0.5.1", | ||
6681 | + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", | ||
6682 | + "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", | ||
6683 | + "dev": true | ||
6684 | + }, | ||
6685 | + "regjsparser": { | ||
6686 | + "version": "0.6.4", | ||
6687 | + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", | ||
6688 | + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", | ||
6689 | + "dev": true, | ||
6690 | + "requires": { | ||
6691 | + "jsesc": "~0.5.0" | ||
6692 | + }, | ||
6693 | + "dependencies": { | ||
6694 | + "jsesc": { | ||
6695 | + "version": "0.5.0", | ||
6696 | + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", | ||
6697 | + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", | ||
6698 | + "dev": true | ||
6699 | + } | ||
6700 | + } | ||
6701 | + }, | ||
6702 | + "remove-trailing-separator": { | ||
6703 | + "version": "1.1.0", | ||
6704 | + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", | ||
6705 | + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", | ||
6706 | + "dev": true | ||
6707 | + }, | ||
6708 | + "repeat-element": { | ||
6709 | + "version": "1.1.3", | ||
6710 | + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", | ||
6711 | + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", | ||
6712 | + "dev": true | ||
6713 | + }, | ||
6714 | + "repeat-string": { | ||
6715 | + "version": "1.6.1", | ||
6716 | + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", | ||
6717 | + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", | ||
6718 | + "dev": true | ||
6719 | + }, | ||
6720 | + "request": { | ||
6721 | + "version": "2.88.2", | ||
6722 | + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", | ||
6723 | + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", | ||
6724 | + "requires": { | ||
6725 | + "aws-sign2": "~0.7.0", | ||
6726 | + "aws4": "^1.8.0", | ||
6727 | + "caseless": "~0.12.0", | ||
6728 | + "combined-stream": "~1.0.6", | ||
6729 | + "extend": "~3.0.2", | ||
6730 | + "forever-agent": "~0.6.1", | ||
6731 | + "form-data": "~2.3.2", | ||
6732 | + "har-validator": "~5.1.3", | ||
6733 | + "http-signature": "~1.2.0", | ||
6734 | + "is-typedarray": "~1.0.0", | ||
6735 | + "isstream": "~0.1.2", | ||
6736 | + "json-stringify-safe": "~5.0.1", | ||
6737 | + "mime-types": "~2.1.19", | ||
6738 | + "oauth-sign": "~0.9.0", | ||
6739 | + "performance-now": "^2.1.0", | ||
6740 | + "qs": "~6.5.2", | ||
6741 | + "safe-buffer": "^5.1.2", | ||
6742 | + "tough-cookie": "~2.5.0", | ||
6743 | + "tunnel-agent": "^0.6.0", | ||
6744 | + "uuid": "^3.3.2" | ||
6745 | + } | ||
6746 | + }, | ||
6747 | + "request-promise-core": { | ||
6748 | + "version": "1.1.3", | ||
6749 | + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", | ||
6750 | + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", | ||
6751 | + "dev": true, | ||
6752 | + "requires": { | ||
6753 | + "lodash": "^4.17.15" | ||
6754 | + } | ||
6755 | + }, | ||
6756 | + "request-promise-native": { | ||
6757 | + "version": "1.0.8", | ||
6758 | + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", | ||
6759 | + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", | ||
6760 | + "dev": true, | ||
6761 | + "requires": { | ||
6762 | + "request-promise-core": "1.1.3", | ||
6763 | + "stealthy-require": "^1.1.1", | ||
6764 | + "tough-cookie": "^2.3.3" | ||
6765 | + } | ||
6766 | + }, | ||
6767 | + "require-directory": { | ||
6768 | + "version": "2.1.1", | ||
6769 | + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", | ||
6770 | + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", | ||
6771 | + "dev": true | ||
6772 | + }, | ||
6773 | + "require-main-filename": { | ||
6774 | + "version": "2.0.0", | ||
6775 | + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", | ||
6776 | + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", | ||
6777 | + "dev": true | ||
6778 | + }, | ||
6779 | + "resolve": { | ||
6780 | + "version": "1.17.0", | ||
6781 | + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", | ||
6782 | + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", | ||
6783 | + "dev": true, | ||
6784 | + "requires": { | ||
6785 | + "path-parse": "^1.0.6" | ||
6786 | + } | ||
6787 | + }, | ||
6788 | + "resolve-from": { | ||
6789 | + "version": "3.0.0", | ||
6790 | + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", | ||
6791 | + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", | ||
6792 | + "dev": true | ||
6793 | + }, | ||
6794 | + "resolve-url": { | ||
6795 | + "version": "0.2.1", | ||
6796 | + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", | ||
6797 | + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", | ||
6798 | + "dev": true | ||
6799 | + }, | ||
6800 | + "restore-cursor": { | ||
6801 | + "version": "2.0.0", | ||
6802 | + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", | ||
6803 | + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", | ||
6804 | + "dev": true, | ||
6805 | + "requires": { | ||
6806 | + "onetime": "^2.0.0", | ||
6807 | + "signal-exit": "^3.0.2" | ||
6808 | + } | ||
6809 | + }, | ||
6810 | + "ret": { | ||
6811 | + "version": "0.1.15", | ||
6812 | + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", | ||
6813 | + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", | ||
6814 | + "dev": true | ||
6815 | + }, | ||
6816 | + "rgb-regex": { | ||
6817 | + "version": "1.0.1", | ||
6818 | + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", | ||
6819 | + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", | ||
6820 | + "dev": true | ||
6821 | + }, | ||
6822 | + "rgba-regex": { | ||
6823 | + "version": "1.0.0", | ||
6824 | + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", | ||
6825 | + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", | ||
6826 | + "dev": true | ||
6827 | + }, | ||
6828 | + "rimraf": { | ||
6829 | + "version": "2.6.3", | ||
6830 | + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | ||
6831 | + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | ||
6832 | + "dev": true, | ||
6833 | + "requires": { | ||
6834 | + "glob": "^7.1.3" | ||
6835 | + } | ||
6836 | + }, | ||
6837 | + "ripemd160": { | ||
6838 | + "version": "2.0.2", | ||
6839 | + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", | ||
6840 | + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", | ||
6841 | + "dev": true, | ||
6842 | + "requires": { | ||
6843 | + "hash-base": "^3.0.0", | ||
6844 | + "inherits": "^2.0.1" | ||
6845 | + } | ||
6846 | + }, | ||
6847 | + "safe-buffer": { | ||
6848 | + "version": "5.1.2", | ||
6849 | + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", | ||
6850 | + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" | ||
6851 | + }, | ||
6852 | + "safe-regex": { | ||
6853 | + "version": "1.1.0", | ||
6854 | + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", | ||
6855 | + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", | ||
6856 | + "dev": true, | ||
6857 | + "requires": { | ||
6858 | + "ret": "~0.1.10" | ||
6859 | + } | ||
6860 | + }, | ||
6861 | + "safer-buffer": { | ||
6862 | + "version": "2.1.2", | ||
6863 | + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
6864 | + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" | ||
6865 | + }, | ||
6866 | + "safer-eval": { | ||
6867 | + "version": "1.3.6", | ||
6868 | + "resolved": "https://registry.npmjs.org/safer-eval/-/safer-eval-1.3.6.tgz", | ||
6869 | + "integrity": "sha512-DN9tBsZgtUOHODzSfO1nGCLhZtxc7Qq/d8/2SNxQZ9muYXZspSh1fO7HOsrf4lcelBNviAJLCxB/ggmG+jV1aw==", | ||
6870 | + "dev": true, | ||
6871 | + "requires": { | ||
6872 | + "clones": "^1.2.0" | ||
6873 | + } | ||
6874 | + }, | ||
6875 | + "sax": { | ||
6876 | + "version": "1.2.4", | ||
6877 | + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", | ||
6878 | + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", | ||
6879 | + "dev": true | ||
6880 | + }, | ||
6881 | + "saxes": { | ||
6882 | + "version": "3.1.11", | ||
6883 | + "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz", | ||
6884 | + "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==", | ||
6885 | + "dev": true, | ||
6886 | + "requires": { | ||
6887 | + "xmlchars": "^2.1.1" | ||
6888 | + } | ||
6889 | + }, | ||
6890 | + "semver": { | ||
6891 | + "version": "5.7.1", | ||
6892 | + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
6893 | + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||
6894 | + "dev": true | ||
6895 | + }, | ||
6896 | + "send": { | ||
6897 | + "version": "0.17.1", | ||
6898 | + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", | ||
6899 | + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", | ||
6900 | + "dev": true, | ||
6901 | + "requires": { | ||
6902 | + "debug": "2.6.9", | ||
6903 | + "depd": "~1.1.2", | ||
6904 | + "destroy": "~1.0.4", | ||
6905 | + "encodeurl": "~1.0.2", | ||
6906 | + "escape-html": "~1.0.3", | ||
6907 | + "etag": "~1.8.1", | ||
6908 | + "fresh": "0.5.2", | ||
6909 | + "http-errors": "~1.7.2", | ||
6910 | + "mime": "1.6.0", | ||
6911 | + "ms": "2.1.1", | ||
6912 | + "on-finished": "~2.3.0", | ||
6913 | + "range-parser": "~1.2.1", | ||
6914 | + "statuses": "~1.5.0" | ||
6915 | + }, | ||
6916 | + "dependencies": { | ||
6917 | + "debug": { | ||
6918 | + "version": "2.6.9", | ||
6919 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
6920 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
6921 | + "dev": true, | ||
6922 | + "requires": { | ||
6923 | + "ms": "2.0.0" | ||
6924 | + }, | ||
6925 | + "dependencies": { | ||
6926 | + "ms": { | ||
6927 | + "version": "2.0.0", | ||
6928 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
6929 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
6930 | + "dev": true | ||
6931 | + } | ||
6932 | + } | ||
6933 | + }, | ||
6934 | + "ms": { | ||
6935 | + "version": "2.1.1", | ||
6936 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", | ||
6937 | + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", | ||
6938 | + "dev": true | ||
6939 | + } | ||
6940 | + } | ||
6941 | + }, | ||
6942 | + "serialize-to-js": { | ||
6943 | + "version": "1.2.2", | ||
6944 | + "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-1.2.2.tgz", | ||
6945 | + "integrity": "sha512-mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q==", | ||
6946 | + "dev": true, | ||
6947 | + "requires": { | ||
6948 | + "js-beautify": "^1.8.9", | ||
6949 | + "safer-eval": "^1.3.0" | ||
6950 | + } | ||
6951 | + }, | ||
6952 | + "serve-static": { | ||
6953 | + "version": "1.14.1", | ||
6954 | + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", | ||
6955 | + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", | ||
6956 | + "dev": true, | ||
6957 | + "requires": { | ||
6958 | + "encodeurl": "~1.0.2", | ||
6959 | + "escape-html": "~1.0.3", | ||
6960 | + "parseurl": "~1.3.3", | ||
6961 | + "send": "0.17.1" | ||
6962 | + } | ||
6963 | + }, | ||
6964 | + "set-blocking": { | ||
6965 | + "version": "2.0.0", | ||
6966 | + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", | ||
6967 | + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", | ||
6968 | + "dev": true | ||
6969 | + }, | ||
6970 | + "set-value": { | ||
6971 | + "version": "2.0.1", | ||
6972 | + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", | ||
6973 | + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", | ||
6974 | + "dev": true, | ||
6975 | + "requires": { | ||
6976 | + "extend-shallow": "^2.0.1", | ||
6977 | + "is-extendable": "^0.1.1", | ||
6978 | + "is-plain-object": "^2.0.3", | ||
6979 | + "split-string": "^3.0.1" | ||
6980 | + }, | ||
6981 | + "dependencies": { | ||
6982 | + "extend-shallow": { | ||
6983 | + "version": "2.0.1", | ||
6984 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
6985 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
6986 | + "dev": true, | ||
6987 | + "requires": { | ||
6988 | + "is-extendable": "^0.1.0" | ||
6989 | + } | ||
6990 | + } | ||
6991 | + } | ||
6992 | + }, | ||
6993 | + "setimmediate": { | ||
6994 | + "version": "1.0.5", | ||
6995 | + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", | ||
6996 | + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", | ||
6997 | + "dev": true | ||
6998 | + }, | ||
6999 | + "setprototypeof": { | ||
7000 | + "version": "1.1.1", | ||
7001 | + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", | ||
7002 | + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", | ||
7003 | + "dev": true | ||
7004 | + }, | ||
7005 | + "sha.js": { | ||
7006 | + "version": "2.4.11", | ||
7007 | + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", | ||
7008 | + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", | ||
7009 | + "dev": true, | ||
7010 | + "requires": { | ||
7011 | + "inherits": "^2.0.1", | ||
7012 | + "safe-buffer": "^5.0.1" | ||
7013 | + } | ||
7014 | + }, | ||
7015 | + "shallow-copy": { | ||
7016 | + "version": "0.0.1", | ||
7017 | + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", | ||
7018 | + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", | ||
7019 | + "dev": true | ||
7020 | + }, | ||
7021 | + "shebang-command": { | ||
7022 | + "version": "1.2.0", | ||
7023 | + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", | ||
7024 | + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", | ||
7025 | + "dev": true, | ||
7026 | + "requires": { | ||
7027 | + "shebang-regex": "^1.0.0" | ||
7028 | + } | ||
7029 | + }, | ||
7030 | + "shebang-regex": { | ||
7031 | + "version": "1.0.0", | ||
7032 | + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", | ||
7033 | + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", | ||
7034 | + "dev": true | ||
7035 | + }, | ||
7036 | + "sigmund": { | ||
7037 | + "version": "1.0.1", | ||
7038 | + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", | ||
7039 | + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", | ||
7040 | + "dev": true | ||
7041 | + }, | ||
7042 | + "signal-exit": { | ||
7043 | + "version": "3.0.3", | ||
7044 | + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", | ||
7045 | + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", | ||
7046 | + "dev": true | ||
7047 | + }, | ||
7048 | + "simple-swizzle": { | ||
7049 | + "version": "0.2.2", | ||
7050 | + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", | ||
7051 | + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", | ||
7052 | + "dev": true, | ||
7053 | + "requires": { | ||
7054 | + "is-arrayish": "^0.3.1" | ||
7055 | + }, | ||
7056 | + "dependencies": { | ||
7057 | + "is-arrayish": { | ||
7058 | + "version": "0.3.2", | ||
7059 | + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", | ||
7060 | + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", | ||
7061 | + "dev": true | ||
7062 | + } | ||
7063 | + } | ||
7064 | + }, | ||
7065 | + "snapdragon": { | ||
7066 | + "version": "0.8.2", | ||
7067 | + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", | ||
7068 | + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", | ||
7069 | + "dev": true, | ||
7070 | + "requires": { | ||
7071 | + "base": "^0.11.1", | ||
7072 | + "debug": "^2.2.0", | ||
7073 | + "define-property": "^0.2.5", | ||
7074 | + "extend-shallow": "^2.0.1", | ||
7075 | + "map-cache": "^0.2.2", | ||
7076 | + "source-map": "^0.5.6", | ||
7077 | + "source-map-resolve": "^0.5.0", | ||
7078 | + "use": "^3.1.0" | ||
7079 | + }, | ||
7080 | + "dependencies": { | ||
7081 | + "debug": { | ||
7082 | + "version": "2.6.9", | ||
7083 | + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", | ||
7084 | + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", | ||
7085 | + "dev": true, | ||
7086 | + "requires": { | ||
7087 | + "ms": "2.0.0" | ||
7088 | + } | ||
7089 | + }, | ||
7090 | + "define-property": { | ||
7091 | + "version": "0.2.5", | ||
7092 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", | ||
7093 | + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", | ||
7094 | + "dev": true, | ||
7095 | + "requires": { | ||
7096 | + "is-descriptor": "^0.1.0" | ||
7097 | + } | ||
7098 | + }, | ||
7099 | + "extend-shallow": { | ||
7100 | + "version": "2.0.1", | ||
7101 | + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||
7102 | + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||
7103 | + "dev": true, | ||
7104 | + "requires": { | ||
7105 | + "is-extendable": "^0.1.0" | ||
7106 | + } | ||
7107 | + }, | ||
7108 | + "ms": { | ||
7109 | + "version": "2.0.0", | ||
7110 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", | ||
7111 | + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", | ||
7112 | + "dev": true | ||
7113 | + }, | ||
7114 | + "source-map": { | ||
7115 | + "version": "0.5.7", | ||
7116 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | ||
7117 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | ||
7118 | + "dev": true | ||
7119 | + } | ||
7120 | + } | ||
7121 | + }, | ||
7122 | + "snapdragon-node": { | ||
7123 | + "version": "2.1.1", | ||
7124 | + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", | ||
7125 | + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", | ||
7126 | + "dev": true, | ||
7127 | + "requires": { | ||
7128 | + "define-property": "^1.0.0", | ||
7129 | + "isobject": "^3.0.0", | ||
7130 | + "snapdragon-util": "^3.0.1" | ||
7131 | + }, | ||
7132 | + "dependencies": { | ||
7133 | + "define-property": { | ||
7134 | + "version": "1.0.0", | ||
7135 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", | ||
7136 | + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", | ||
7137 | + "dev": true, | ||
7138 | + "requires": { | ||
7139 | + "is-descriptor": "^1.0.0" | ||
7140 | + } | ||
7141 | + }, | ||
7142 | + "is-accessor-descriptor": { | ||
7143 | + "version": "1.0.0", | ||
7144 | + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", | ||
7145 | + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", | ||
7146 | + "dev": true, | ||
7147 | + "requires": { | ||
7148 | + "kind-of": "^6.0.0" | ||
7149 | + } | ||
7150 | + }, | ||
7151 | + "is-data-descriptor": { | ||
7152 | + "version": "1.0.0", | ||
7153 | + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", | ||
7154 | + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", | ||
7155 | + "dev": true, | ||
7156 | + "requires": { | ||
7157 | + "kind-of": "^6.0.0" | ||
7158 | + } | ||
7159 | + }, | ||
7160 | + "is-descriptor": { | ||
7161 | + "version": "1.0.2", | ||
7162 | + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", | ||
7163 | + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", | ||
7164 | + "dev": true, | ||
7165 | + "requires": { | ||
7166 | + "is-accessor-descriptor": "^1.0.0", | ||
7167 | + "is-data-descriptor": "^1.0.0", | ||
7168 | + "kind-of": "^6.0.2" | ||
7169 | + } | ||
7170 | + } | ||
7171 | + } | ||
7172 | + }, | ||
7173 | + "snapdragon-util": { | ||
7174 | + "version": "3.0.1", | ||
7175 | + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", | ||
7176 | + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", | ||
7177 | + "dev": true, | ||
7178 | + "requires": { | ||
7179 | + "kind-of": "^3.2.0" | ||
7180 | + }, | ||
7181 | + "dependencies": { | ||
7182 | + "kind-of": { | ||
7183 | + "version": "3.2.2", | ||
7184 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
7185 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
7186 | + "dev": true, | ||
7187 | + "requires": { | ||
7188 | + "is-buffer": "^1.1.5" | ||
7189 | + } | ||
7190 | + } | ||
7191 | + } | ||
7192 | + }, | ||
7193 | + "source-map": { | ||
7194 | + "version": "0.6.1", | ||
7195 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | ||
7196 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | ||
7197 | + "dev": true | ||
7198 | + }, | ||
7199 | + "source-map-resolve": { | ||
7200 | + "version": "0.5.3", | ||
7201 | + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", | ||
7202 | + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", | ||
7203 | + "dev": true, | ||
7204 | + "requires": { | ||
7205 | + "atob": "^2.1.2", | ||
7206 | + "decode-uri-component": "^0.2.0", | ||
7207 | + "resolve-url": "^0.2.1", | ||
7208 | + "source-map-url": "^0.4.0", | ||
7209 | + "urix": "^0.1.0" | ||
7210 | + } | ||
7211 | + }, | ||
7212 | + "source-map-support": { | ||
7213 | + "version": "0.5.19", | ||
7214 | + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", | ||
7215 | + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", | ||
7216 | + "dev": true, | ||
7217 | + "requires": { | ||
7218 | + "buffer-from": "^1.0.0", | ||
7219 | + "source-map": "^0.6.0" | ||
7220 | + } | ||
7221 | + }, | ||
7222 | + "source-map-url": { | ||
7223 | + "version": "0.4.0", | ||
7224 | + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", | ||
7225 | + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", | ||
7226 | + "dev": true | ||
7227 | + }, | ||
7228 | + "split-string": { | ||
7229 | + "version": "3.1.0", | ||
7230 | + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", | ||
7231 | + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", | ||
7232 | + "dev": true, | ||
7233 | + "requires": { | ||
7234 | + "extend-shallow": "^3.0.0" | ||
7235 | + } | ||
7236 | + }, | ||
7237 | + "sprintf-js": { | ||
7238 | + "version": "1.0.3", | ||
7239 | + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", | ||
7240 | + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", | ||
7241 | + "dev": true | ||
7242 | + }, | ||
7243 | + "sshpk": { | ||
7244 | + "version": "1.16.1", | ||
7245 | + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", | ||
7246 | + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", | ||
7247 | + "requires": { | ||
7248 | + "asn1": "~0.2.3", | ||
7249 | + "assert-plus": "^1.0.0", | ||
7250 | + "bcrypt-pbkdf": "^1.0.0", | ||
7251 | + "dashdash": "^1.12.0", | ||
7252 | + "ecc-jsbn": "~0.1.1", | ||
7253 | + "getpass": "^0.1.1", | ||
7254 | + "jsbn": "~0.1.0", | ||
7255 | + "safer-buffer": "^2.0.2", | ||
7256 | + "tweetnacl": "~0.14.0" | ||
7257 | + } | ||
7258 | + }, | ||
7259 | + "stable": { | ||
7260 | + "version": "0.1.8", | ||
7261 | + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", | ||
7262 | + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", | ||
7263 | + "dev": true | ||
7264 | + }, | ||
7265 | + "static-eval": { | ||
7266 | + "version": "2.0.5", | ||
7267 | + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.5.tgz", | ||
7268 | + "integrity": "sha512-nNbV6LbGtMBgv7e9LFkt5JV8RVlRsyJrphfAt9tOtBBW/SfnzZDf2KnS72an8e434A+9e/BmJuTxeGPvrAK7KA==", | ||
7269 | + "dev": true, | ||
7270 | + "requires": { | ||
7271 | + "escodegen": "^1.11.1" | ||
7272 | + }, | ||
7273 | + "dependencies": { | ||
7274 | + "escodegen": { | ||
7275 | + "version": "1.14.1", | ||
7276 | + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz", | ||
7277 | + "integrity": "sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ==", | ||
7278 | + "dev": true, | ||
7279 | + "requires": { | ||
7280 | + "esprima": "^4.0.1", | ||
7281 | + "estraverse": "^4.2.0", | ||
7282 | + "esutils": "^2.0.2", | ||
7283 | + "optionator": "^0.8.1", | ||
7284 | + "source-map": "~0.6.1" | ||
7285 | + } | ||
7286 | + } | ||
7287 | + } | ||
7288 | + }, | ||
7289 | + "static-extend": { | ||
7290 | + "version": "0.1.2", | ||
7291 | + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", | ||
7292 | + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", | ||
7293 | + "dev": true, | ||
7294 | + "requires": { | ||
7295 | + "define-property": "^0.2.5", | ||
7296 | + "object-copy": "^0.1.0" | ||
7297 | + }, | ||
7298 | + "dependencies": { | ||
7299 | + "define-property": { | ||
7300 | + "version": "0.2.5", | ||
7301 | + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", | ||
7302 | + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", | ||
7303 | + "dev": true, | ||
7304 | + "requires": { | ||
7305 | + "is-descriptor": "^0.1.0" | ||
7306 | + } | ||
7307 | + } | ||
7308 | + } | ||
7309 | + }, | ||
7310 | + "static-module": { | ||
7311 | + "version": "2.2.5", | ||
7312 | + "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz", | ||
7313 | + "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==", | ||
7314 | + "dev": true, | ||
7315 | + "requires": { | ||
7316 | + "concat-stream": "~1.6.0", | ||
7317 | + "convert-source-map": "^1.5.1", | ||
7318 | + "duplexer2": "~0.1.4", | ||
7319 | + "escodegen": "~1.9.0", | ||
7320 | + "falafel": "^2.1.0", | ||
7321 | + "has": "^1.0.1", | ||
7322 | + "magic-string": "^0.22.4", | ||
7323 | + "merge-source-map": "1.0.4", | ||
7324 | + "object-inspect": "~1.4.0", | ||
7325 | + "quote-stream": "~1.0.2", | ||
7326 | + "readable-stream": "~2.3.3", | ||
7327 | + "shallow-copy": "~0.0.1", | ||
7328 | + "static-eval": "^2.0.0", | ||
7329 | + "through2": "~2.0.3" | ||
7330 | + }, | ||
7331 | + "dependencies": { | ||
7332 | + "object-inspect": { | ||
7333 | + "version": "1.4.1", | ||
7334 | + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz", | ||
7335 | + "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==", | ||
7336 | + "dev": true | ||
7337 | + } | ||
7338 | + } | ||
7339 | + }, | ||
7340 | + "statuses": { | ||
7341 | + "version": "1.5.0", | ||
7342 | + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", | ||
7343 | + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", | ||
7344 | + "dev": true | ||
7345 | + }, | ||
7346 | + "stealthy-require": { | ||
7347 | + "version": "1.1.1", | ||
7348 | + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", | ||
7349 | + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", | ||
7350 | + "dev": true | ||
7351 | + }, | ||
7352 | + "stream-browserify": { | ||
7353 | + "version": "2.0.2", | ||
7354 | + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", | ||
7355 | + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", | ||
7356 | + "dev": true, | ||
7357 | + "requires": { | ||
7358 | + "inherits": "~2.0.1", | ||
7359 | + "readable-stream": "^2.0.2" | ||
7360 | + } | ||
7361 | + }, | ||
7362 | + "stream-http": { | ||
7363 | + "version": "2.8.3", | ||
7364 | + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", | ||
7365 | + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", | ||
7366 | + "dev": true, | ||
7367 | + "requires": { | ||
7368 | + "builtin-status-codes": "^3.0.0", | ||
7369 | + "inherits": "^2.0.1", | ||
7370 | + "readable-stream": "^2.3.6", | ||
7371 | + "to-arraybuffer": "^1.0.0", | ||
7372 | + "xtend": "^4.0.0" | ||
7373 | + } | ||
7374 | + }, | ||
7375 | + "string-width": { | ||
7376 | + "version": "3.1.0", | ||
7377 | + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
7378 | + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
7379 | + "dev": true, | ||
7380 | + "requires": { | ||
7381 | + "emoji-regex": "^7.0.1", | ||
7382 | + "is-fullwidth-code-point": "^2.0.0", | ||
7383 | + "strip-ansi": "^5.1.0" | ||
7384 | + }, | ||
7385 | + "dependencies": { | ||
7386 | + "ansi-regex": { | ||
7387 | + "version": "4.1.0", | ||
7388 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
7389 | + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
7390 | + "dev": true | ||
7391 | + }, | ||
7392 | + "strip-ansi": { | ||
7393 | + "version": "5.2.0", | ||
7394 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
7395 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
7396 | + "dev": true, | ||
7397 | + "requires": { | ||
7398 | + "ansi-regex": "^4.1.0" | ||
7399 | + } | ||
7400 | + } | ||
7401 | + } | ||
7402 | + }, | ||
7403 | + "string.prototype.trimend": { | ||
7404 | + "version": "1.0.1", | ||
7405 | + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", | ||
7406 | + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", | ||
7407 | + "dev": true, | ||
7408 | + "requires": { | ||
7409 | + "define-properties": "^1.1.3", | ||
7410 | + "es-abstract": "^1.17.5" | ||
7411 | + } | ||
7412 | + }, | ||
7413 | + "string.prototype.trimleft": { | ||
7414 | + "version": "2.1.2", | ||
7415 | + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", | ||
7416 | + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", | ||
7417 | + "dev": true, | ||
7418 | + "requires": { | ||
7419 | + "define-properties": "^1.1.3", | ||
7420 | + "es-abstract": "^1.17.5", | ||
7421 | + "string.prototype.trimstart": "^1.0.0" | ||
7422 | + } | ||
7423 | + }, | ||
7424 | + "string.prototype.trimright": { | ||
7425 | + "version": "2.1.2", | ||
7426 | + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", | ||
7427 | + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", | ||
7428 | + "dev": true, | ||
7429 | + "requires": { | ||
7430 | + "define-properties": "^1.1.3", | ||
7431 | + "es-abstract": "^1.17.5", | ||
7432 | + "string.prototype.trimend": "^1.0.0" | ||
7433 | + } | ||
7434 | + }, | ||
7435 | + "string.prototype.trimstart": { | ||
7436 | + "version": "1.0.1", | ||
7437 | + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", | ||
7438 | + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", | ||
7439 | + "dev": true, | ||
7440 | + "requires": { | ||
7441 | + "define-properties": "^1.1.3", | ||
7442 | + "es-abstract": "^1.17.5" | ||
7443 | + } | ||
7444 | + }, | ||
7445 | + "string_decoder": { | ||
7446 | + "version": "1.1.1", | ||
7447 | + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", | ||
7448 | + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", | ||
7449 | + "dev": true, | ||
7450 | + "requires": { | ||
7451 | + "safe-buffer": "~5.1.0" | ||
7452 | + } | ||
7453 | + }, | ||
7454 | + "strip-ansi": { | ||
7455 | + "version": "4.0.0", | ||
7456 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", | ||
7457 | + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", | ||
7458 | + "dev": true, | ||
7459 | + "requires": { | ||
7460 | + "ansi-regex": "^3.0.0" | ||
7461 | + } | ||
7462 | + }, | ||
7463 | + "stylehacks": { | ||
7464 | + "version": "4.0.3", | ||
7465 | + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", | ||
7466 | + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", | ||
7467 | + "dev": true, | ||
7468 | + "requires": { | ||
7469 | + "browserslist": "^4.0.0", | ||
7470 | + "postcss": "^7.0.0", | ||
7471 | + "postcss-selector-parser": "^3.0.0" | ||
7472 | + }, | ||
7473 | + "dependencies": { | ||
7474 | + "postcss-selector-parser": { | ||
7475 | + "version": "3.1.2", | ||
7476 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", | ||
7477 | + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", | ||
7478 | + "dev": true, | ||
7479 | + "requires": { | ||
7480 | + "dot-prop": "^5.2.0", | ||
7481 | + "indexes-of": "^1.0.1", | ||
7482 | + "uniq": "^1.0.1" | ||
7483 | + } | ||
7484 | + } | ||
7485 | + } | ||
7486 | + }, | ||
7487 | + "supports-color": { | ||
7488 | + "version": "6.1.0", | ||
7489 | + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", | ||
7490 | + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", | ||
7491 | + "dev": true, | ||
7492 | + "requires": { | ||
7493 | + "has-flag": "^3.0.0" | ||
7494 | + } | ||
7495 | + }, | ||
7496 | + "svgo": { | ||
7497 | + "version": "1.3.2", | ||
7498 | + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", | ||
7499 | + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", | ||
7500 | + "dev": true, | ||
7501 | + "requires": { | ||
7502 | + "chalk": "^2.4.1", | ||
7503 | + "coa": "^2.0.2", | ||
7504 | + "css-select": "^2.0.0", | ||
7505 | + "css-select-base-adapter": "^0.1.1", | ||
7506 | + "css-tree": "1.0.0-alpha.37", | ||
7507 | + "csso": "^4.0.2", | ||
7508 | + "js-yaml": "^3.13.1", | ||
7509 | + "mkdirp": "~0.5.1", | ||
7510 | + "object.values": "^1.1.0", | ||
7511 | + "sax": "~1.2.4", | ||
7512 | + "stable": "^0.1.8", | ||
7513 | + "unquote": "~1.1.1", | ||
7514 | + "util.promisify": "~1.0.0" | ||
7515 | + } | ||
7516 | + }, | ||
7517 | + "symbol-tree": { | ||
7518 | + "version": "3.2.4", | ||
7519 | + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", | ||
7520 | + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", | ||
7521 | + "dev": true | ||
7522 | + }, | ||
7523 | + "temp": { | ||
7524 | + "version": "0.9.0", | ||
7525 | + "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz", | ||
7526 | + "integrity": "sha512-YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==", | ||
7527 | + "dev": true, | ||
7528 | + "requires": { | ||
7529 | + "rimraf": "~2.6.2" | ||
7530 | + } | ||
7531 | + }, | ||
7532 | + "terser": { | ||
7533 | + "version": "3.17.0", | ||
7534 | + "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz", | ||
7535 | + "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==", | ||
7536 | + "dev": true, | ||
7537 | + "requires": { | ||
7538 | + "commander": "^2.19.0", | ||
7539 | + "source-map": "~0.6.1", | ||
7540 | + "source-map-support": "~0.5.10" | ||
7541 | + } | ||
7542 | + }, | ||
7543 | + "through2": { | ||
7544 | + "version": "2.0.5", | ||
7545 | + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", | ||
7546 | + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", | ||
7547 | + "dev": true, | ||
7548 | + "requires": { | ||
7549 | + "readable-stream": "~2.3.6", | ||
7550 | + "xtend": "~4.0.1" | ||
7551 | + } | ||
7552 | + }, | ||
7553 | + "timers-browserify": { | ||
7554 | + "version": "2.0.11", | ||
7555 | + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", | ||
7556 | + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", | ||
7557 | + "dev": true, | ||
7558 | + "requires": { | ||
7559 | + "setimmediate": "^1.0.4" | ||
7560 | + } | ||
7561 | + }, | ||
7562 | + "timsort": { | ||
7563 | + "version": "0.3.0", | ||
7564 | + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", | ||
7565 | + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", | ||
7566 | + "dev": true | ||
7567 | + }, | ||
7568 | + "tiny-inflate": { | ||
7569 | + "version": "1.0.3", | ||
7570 | + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", | ||
7571 | + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", | ||
7572 | + "dev": true | ||
7573 | + }, | ||
7574 | + "to-arraybuffer": { | ||
7575 | + "version": "1.0.1", | ||
7576 | + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", | ||
7577 | + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", | ||
7578 | + "dev": true | ||
7579 | + }, | ||
7580 | + "to-fast-properties": { | ||
7581 | + "version": "2.0.0", | ||
7582 | + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", | ||
7583 | + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", | ||
7584 | + "dev": true | ||
7585 | + }, | ||
7586 | + "to-object-path": { | ||
7587 | + "version": "0.3.0", | ||
7588 | + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", | ||
7589 | + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", | ||
7590 | + "dev": true, | ||
7591 | + "requires": { | ||
7592 | + "kind-of": "^3.0.2" | ||
7593 | + }, | ||
7594 | + "dependencies": { | ||
7595 | + "kind-of": { | ||
7596 | + "version": "3.2.2", | ||
7597 | + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||
7598 | + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||
7599 | + "dev": true, | ||
7600 | + "requires": { | ||
7601 | + "is-buffer": "^1.1.5" | ||
7602 | + } | ||
7603 | + } | ||
7604 | + } | ||
7605 | + }, | ||
7606 | + "to-regex": { | ||
7607 | + "version": "3.0.2", | ||
7608 | + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", | ||
7609 | + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", | ||
7610 | + "dev": true, | ||
7611 | + "requires": { | ||
7612 | + "define-property": "^2.0.2", | ||
7613 | + "extend-shallow": "^3.0.2", | ||
7614 | + "regex-not": "^1.0.2", | ||
7615 | + "safe-regex": "^1.1.0" | ||
7616 | + } | ||
7617 | + }, | ||
7618 | + "to-regex-range": { | ||
7619 | + "version": "2.1.1", | ||
7620 | + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", | ||
7621 | + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", | ||
7622 | + "dev": true, | ||
7623 | + "requires": { | ||
7624 | + "is-number": "^3.0.0", | ||
7625 | + "repeat-string": "^1.6.1" | ||
7626 | + } | ||
7627 | + }, | ||
7628 | + "toidentifier": { | ||
7629 | + "version": "1.0.0", | ||
7630 | + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||
7631 | + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", | ||
7632 | "dev": true | ||
7633 | }, | ||
7634 | - "brace-expansion": { | ||
7635 | - "version": "1.1.11", | ||
7636 | - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", | ||
7637 | - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", | ||
7638 | + "tough-cookie": { | ||
7639 | + "version": "2.5.0", | ||
7640 | + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", | ||
7641 | + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", | ||
7642 | + "requires": { | ||
7643 | + "psl": "^1.1.28", | ||
7644 | + "punycode": "^2.1.1" | ||
7645 | + } | ||
7646 | + }, | ||
7647 | + "tr46": { | ||
7648 | + "version": "1.0.1", | ||
7649 | + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", | ||
7650 | + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", | ||
7651 | "dev": true, | ||
7652 | "requires": { | ||
7653 | - "balanced-match": "^1.0.0", | ||
7654 | - "concat-map": "0.0.1" | ||
7655 | + "punycode": "^2.1.0" | ||
7656 | } | ||
7657 | }, | ||
7658 | - "concat-map": { | ||
7659 | - "version": "0.0.1", | ||
7660 | - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", | ||
7661 | - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", | ||
7662 | + "trim-right": { | ||
7663 | + "version": "1.0.1", | ||
7664 | + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", | ||
7665 | + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", | ||
7666 | "dev": true | ||
7667 | }, | ||
7668 | - "cross-spawn": { | ||
7669 | - "version": "6.0.5", | ||
7670 | - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", | ||
7671 | - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", | ||
7672 | + "tty-browserify": { | ||
7673 | + "version": "0.0.0", | ||
7674 | + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", | ||
7675 | + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", | ||
7676 | + "dev": true | ||
7677 | + }, | ||
7678 | + "tunnel-agent": { | ||
7679 | + "version": "0.6.0", | ||
7680 | + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", | ||
7681 | + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", | ||
7682 | + "requires": { | ||
7683 | + "safe-buffer": "^5.0.1" | ||
7684 | + } | ||
7685 | + }, | ||
7686 | + "tweetnacl": { | ||
7687 | + "version": "0.14.5", | ||
7688 | + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", | ||
7689 | + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" | ||
7690 | + }, | ||
7691 | + "type-check": { | ||
7692 | + "version": "0.3.2", | ||
7693 | + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", | ||
7694 | + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", | ||
7695 | "dev": true, | ||
7696 | "requires": { | ||
7697 | - "nice-try": "^1.0.4", | ||
7698 | - "path-key": "^2.0.1", | ||
7699 | - "semver": "^5.5.0", | ||
7700 | - "shebang-command": "^1.2.0", | ||
7701 | - "which": "^1.2.9" | ||
7702 | + "prelude-ls": "~1.1.2" | ||
7703 | } | ||
7704 | }, | ||
7705 | - "elm-hot": { | ||
7706 | - "version": "1.1.1", | ||
7707 | - "resolved": "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.1.tgz", | ||
7708 | - "integrity": "sha512-ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA==", | ||
7709 | + "typedarray": { | ||
7710 | + "version": "0.0.6", | ||
7711 | + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", | ||
7712 | + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", | ||
7713 | "dev": true | ||
7714 | }, | ||
7715 | - "find-elm-dependencies": { | ||
7716 | - "version": "2.0.2", | ||
7717 | - "resolved": "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.2.tgz", | ||
7718 | - "integrity": "sha512-nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ==", | ||
7719 | + "uncss": { | ||
7720 | + "version": "0.17.3", | ||
7721 | + "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz", | ||
7722 | + "integrity": "sha512-ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog==", | ||
7723 | "dev": true, | ||
7724 | "requires": { | ||
7725 | - "firstline": "1.2.0", | ||
7726 | - "lodash": "4.17.15" | ||
7727 | + "commander": "^2.20.0", | ||
7728 | + "glob": "^7.1.4", | ||
7729 | + "is-absolute-url": "^3.0.1", | ||
7730 | + "is-html": "^1.1.0", | ||
7731 | + "jsdom": "^14.1.0", | ||
7732 | + "lodash": "^4.17.15", | ||
7733 | + "postcss": "^7.0.17", | ||
7734 | + "postcss-selector-parser": "6.0.2", | ||
7735 | + "request": "^2.88.0" | ||
7736 | + }, | ||
7737 | + "dependencies": { | ||
7738 | + "is-absolute-url": { | ||
7739 | + "version": "3.0.3", | ||
7740 | + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", | ||
7741 | + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", | ||
7742 | + "dev": true | ||
7743 | + } | ||
7744 | } | ||
7745 | }, | ||
7746 | - "firstline": { | ||
7747 | + "unicode-canonical-property-names-ecmascript": { | ||
7748 | + "version": "1.0.4", | ||
7749 | + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", | ||
7750 | + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", | ||
7751 | + "dev": true | ||
7752 | + }, | ||
7753 | + "unicode-match-property-ecmascript": { | ||
7754 | + "version": "1.0.4", | ||
7755 | + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", | ||
7756 | + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", | ||
7757 | + "dev": true, | ||
7758 | + "requires": { | ||
7759 | + "unicode-canonical-property-names-ecmascript": "^1.0.4", | ||
7760 | + "unicode-property-aliases-ecmascript": "^1.0.4" | ||
7761 | + } | ||
7762 | + }, | ||
7763 | + "unicode-match-property-value-ecmascript": { | ||
7764 | "version": "1.2.0", | ||
7765 | - "resolved": "https://registry.npmjs.org/firstline/-/firstline-1.2.0.tgz", | ||
7766 | - "integrity": "sha1-yfSIbn9/vwr8EtcZQdzgaxkq6gU=", | ||
7767 | + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", | ||
7768 | + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", | ||
7769 | "dev": true | ||
7770 | }, | ||
7771 | - "fs.realpath": { | ||
7772 | - "version": "1.0.0", | ||
7773 | - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", | ||
7774 | - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", | ||
7775 | + "unicode-property-aliases-ecmascript": { | ||
7776 | + "version": "1.1.0", | ||
7777 | + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", | ||
7778 | + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", | ||
7779 | "dev": true | ||
7780 | }, | ||
7781 | - "glob": { | ||
7782 | - "version": "7.1.4", | ||
7783 | - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", | ||
7784 | - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", | ||
7785 | + "unicode-trie": { | ||
7786 | + "version": "0.3.1", | ||
7787 | + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz", | ||
7788 | + "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=", | ||
7789 | "dev": true, | ||
7790 | "requires": { | ||
7791 | - "fs.realpath": "^1.0.0", | ||
7792 | - "inflight": "^1.0.4", | ||
7793 | - "inherits": "2", | ||
7794 | - "minimatch": "^3.0.4", | ||
7795 | - "once": "^1.3.0", | ||
7796 | - "path-is-absolute": "^1.0.0" | ||
7797 | + "pako": "^0.2.5", | ||
7798 | + "tiny-inflate": "^1.0.0" | ||
7799 | } | ||
7800 | }, | ||
7801 | - "inflight": { | ||
7802 | - "version": "1.0.6", | ||
7803 | - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", | ||
7804 | - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", | ||
7805 | + "union-value": { | ||
7806 | + "version": "1.0.1", | ||
7807 | + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", | ||
7808 | + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", | ||
7809 | "dev": true, | ||
7810 | "requires": { | ||
7811 | - "once": "^1.3.0", | ||
7812 | - "wrappy": "1" | ||
7813 | + "arr-union": "^3.1.0", | ||
7814 | + "get-value": "^2.0.6", | ||
7815 | + "is-extendable": "^0.1.1", | ||
7816 | + "set-value": "^2.0.1" | ||
7817 | } | ||
7818 | }, | ||
7819 | - "inherits": { | ||
7820 | - "version": "2.0.4", | ||
7821 | - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", | ||
7822 | - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | ||
7823 | + "uniq": { | ||
7824 | + "version": "1.0.1", | ||
7825 | + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", | ||
7826 | + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", | ||
7827 | "dev": true | ||
7828 | }, | ||
7829 | - "isexe": { | ||
7830 | + "uniqs": { | ||
7831 | "version": "2.0.0", | ||
7832 | - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | ||
7833 | - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | ||
7834 | + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", | ||
7835 | + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", | ||
7836 | "dev": true | ||
7837 | }, | ||
7838 | - "lodash": { | ||
7839 | - "version": "4.17.15", | ||
7840 | - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | ||
7841 | - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | ||
7842 | + "unquote": { | ||
7843 | + "version": "1.1.1", | ||
7844 | + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", | ||
7845 | + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", | ||
7846 | "dev": true | ||
7847 | }, | ||
7848 | - "minimatch": { | ||
7849 | - "version": "3.0.4", | ||
7850 | - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | ||
7851 | - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", | ||
7852 | + "unset-value": { | ||
7853 | + "version": "1.0.0", | ||
7854 | + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", | ||
7855 | + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", | ||
7856 | "dev": true, | ||
7857 | "requires": { | ||
7858 | - "brace-expansion": "^1.1.7" | ||
7859 | + "has-value": "^0.3.1", | ||
7860 | + "isobject": "^3.0.0" | ||
7861 | + }, | ||
7862 | + "dependencies": { | ||
7863 | + "has-value": { | ||
7864 | + "version": "0.3.1", | ||
7865 | + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", | ||
7866 | + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", | ||
7867 | + "dev": true, | ||
7868 | + "requires": { | ||
7869 | + "get-value": "^2.0.3", | ||
7870 | + "has-values": "^0.1.4", | ||
7871 | + "isobject": "^2.0.0" | ||
7872 | + }, | ||
7873 | + "dependencies": { | ||
7874 | + "isobject": { | ||
7875 | + "version": "2.1.0", | ||
7876 | + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", | ||
7877 | + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", | ||
7878 | + "dev": true, | ||
7879 | + "requires": { | ||
7880 | + "isarray": "1.0.0" | ||
7881 | + } | ||
7882 | + } | ||
7883 | + } | ||
7884 | + }, | ||
7885 | + "has-values": { | ||
7886 | + "version": "0.1.4", | ||
7887 | + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", | ||
7888 | + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", | ||
7889 | + "dev": true | ||
7890 | + } | ||
7891 | } | ||
7892 | }, | ||
7893 | - "nice-try": { | ||
7894 | - "version": "1.0.5", | ||
7895 | - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", | ||
7896 | - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", | ||
7897 | + "upath": { | ||
7898 | + "version": "1.2.0", | ||
7899 | + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", | ||
7900 | + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", | ||
7901 | "dev": true | ||
7902 | }, | ||
7903 | - "node-elm-compiler": { | ||
7904 | - "version": "5.0.4", | ||
7905 | - "resolved": "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.4.tgz", | ||
7906 | - "integrity": "sha512-VQsT8QSierYGkHzRed+b4MnccQVF1+qPHunE8jBoU7jD6YpuRqCDPzEoC2zfyEJS80qVnlMZrqobLnyjzX9lJg==", | ||
7907 | + "uri-js": { | ||
7908 | + "version": "4.2.2", | ||
7909 | + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", | ||
7910 | + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", | ||
7911 | + "requires": { | ||
7912 | + "punycode": "^2.1.0" | ||
7913 | + } | ||
7914 | + }, | ||
7915 | + "urix": { | ||
7916 | + "version": "0.1.0", | ||
7917 | + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", | ||
7918 | + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", | ||
7919 | + "dev": true | ||
7920 | + }, | ||
7921 | + "url": { | ||
7922 | + "version": "0.11.0", | ||
7923 | + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", | ||
7924 | + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", | ||
7925 | "dev": true, | ||
7926 | "requires": { | ||
7927 | - "cross-spawn": "6.0.5", | ||
7928 | - "find-elm-dependencies": "2.0.2", | ||
7929 | - "lodash": "4.17.15", | ||
7930 | - "temp": "^0.9.0" | ||
7931 | + "punycode": "1.3.2", | ||
7932 | + "querystring": "0.2.0" | ||
7933 | + }, | ||
7934 | + "dependencies": { | ||
7935 | + "punycode": { | ||
7936 | + "version": "1.3.2", | ||
7937 | + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", | ||
7938 | + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", | ||
7939 | + "dev": true | ||
7940 | + } | ||
7941 | } | ||
7942 | }, | ||
7943 | - "once": { | ||
7944 | - "version": "1.4.0", | ||
7945 | - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | ||
7946 | - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", | ||
7947 | + "use": { | ||
7948 | + "version": "3.1.1", | ||
7949 | + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", | ||
7950 | + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", | ||
7951 | + "dev": true | ||
7952 | + }, | ||
7953 | + "util": { | ||
7954 | + "version": "0.11.1", | ||
7955 | + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", | ||
7956 | + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", | ||
7957 | "dev": true, | ||
7958 | "requires": { | ||
7959 | - "wrappy": "1" | ||
7960 | + "inherits": "2.0.3" | ||
7961 | + }, | ||
7962 | + "dependencies": { | ||
7963 | + "inherits": { | ||
7964 | + "version": "2.0.3", | ||
7965 | + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", | ||
7966 | + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", | ||
7967 | + "dev": true | ||
7968 | + } | ||
7969 | } | ||
7970 | }, | ||
7971 | - "path-is-absolute": { | ||
7972 | + "util-deprecate": { | ||
7973 | + "version": "1.0.2", | ||
7974 | + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", | ||
7975 | + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", | ||
7976 | + "dev": true | ||
7977 | + }, | ||
7978 | + "util.promisify": { | ||
7979 | "version": "1.0.1", | ||
7980 | - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | ||
7981 | - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", | ||
7982 | + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", | ||
7983 | + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", | ||
7984 | + "dev": true, | ||
7985 | + "requires": { | ||
7986 | + "define-properties": "^1.1.3", | ||
7987 | + "es-abstract": "^1.17.2", | ||
7988 | + "has-symbols": "^1.0.1", | ||
7989 | + "object.getownpropertydescriptors": "^2.1.0" | ||
7990 | + } | ||
7991 | + }, | ||
7992 | + "uuid": { | ||
7993 | + "version": "3.4.0", | ||
7994 | + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", | ||
7995 | + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" | ||
7996 | + }, | ||
7997 | + "v8-compile-cache": { | ||
7998 | + "version": "2.1.0", | ||
7999 | + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", | ||
8000 | + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", | ||
8001 | "dev": true | ||
8002 | }, | ||
8003 | - "path-key": { | ||
8004 | - "version": "2.0.1", | ||
8005 | - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", | ||
8006 | - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", | ||
8007 | + "vendors": { | ||
8008 | + "version": "1.0.4", | ||
8009 | + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", | ||
8010 | + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", | ||
8011 | "dev": true | ||
8012 | }, | ||
8013 | - "rimraf": { | ||
8014 | - "version": "2.6.3", | ||
8015 | - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | ||
8016 | - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", | ||
8017 | + "verror": { | ||
8018 | + "version": "1.10.0", | ||
8019 | + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", | ||
8020 | + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", | ||
8021 | + "requires": { | ||
8022 | + "assert-plus": "^1.0.0", | ||
8023 | + "core-util-is": "1.0.2", | ||
8024 | + "extsprintf": "^1.2.0" | ||
8025 | + } | ||
8026 | + }, | ||
8027 | + "vlq": { | ||
8028 | + "version": "0.2.3", | ||
8029 | + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", | ||
8030 | + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", | ||
8031 | + "dev": true | ||
8032 | + }, | ||
8033 | + "vm-browserify": { | ||
8034 | + "version": "1.1.2", | ||
8035 | + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", | ||
8036 | + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", | ||
8037 | + "dev": true | ||
8038 | + }, | ||
8039 | + "w3c-hr-time": { | ||
8040 | + "version": "1.0.2", | ||
8041 | + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", | ||
8042 | + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", | ||
8043 | "dev": true, | ||
8044 | "requires": { | ||
8045 | - "glob": "^7.1.3" | ||
8046 | + "browser-process-hrtime": "^1.0.0" | ||
8047 | } | ||
8048 | }, | ||
8049 | - "semver": { | ||
8050 | - "version": "5.7.1", | ||
8051 | - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
8052 | - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||
8053 | + "w3c-xmlserializer": { | ||
8054 | + "version": "1.1.2", | ||
8055 | + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz", | ||
8056 | + "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==", | ||
8057 | + "dev": true, | ||
8058 | + "requires": { | ||
8059 | + "domexception": "^1.0.1", | ||
8060 | + "webidl-conversions": "^4.0.2", | ||
8061 | + "xml-name-validator": "^3.0.0" | ||
8062 | + } | ||
8063 | + }, | ||
8064 | + "wcwidth": { | ||
8065 | + "version": "1.0.1", | ||
8066 | + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", | ||
8067 | + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", | ||
8068 | + "dev": true, | ||
8069 | + "requires": { | ||
8070 | + "defaults": "^1.0.3" | ||
8071 | + } | ||
8072 | + }, | ||
8073 | + "webidl-conversions": { | ||
8074 | + "version": "4.0.2", | ||
8075 | + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", | ||
8076 | + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", | ||
8077 | "dev": true | ||
8078 | }, | ||
8079 | - "shebang-command": { | ||
8080 | - "version": "1.2.0", | ||
8081 | - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", | ||
8082 | - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", | ||
8083 | + "whatwg-encoding": { | ||
8084 | + "version": "1.0.5", | ||
8085 | + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", | ||
8086 | + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", | ||
8087 | "dev": true, | ||
8088 | "requires": { | ||
8089 | - "shebang-regex": "^1.0.0" | ||
8090 | + "iconv-lite": "0.4.24" | ||
8091 | } | ||
8092 | }, | ||
8093 | - "shebang-regex": { | ||
8094 | - "version": "1.0.0", | ||
8095 | - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", | ||
8096 | - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", | ||
8097 | + "whatwg-mimetype": { | ||
8098 | + "version": "2.3.0", | ||
8099 | + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", | ||
8100 | + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", | ||
8101 | "dev": true | ||
8102 | }, | ||
8103 | - "temp": { | ||
8104 | - "version": "0.9.0", | ||
8105 | - "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz", | ||
8106 | - "integrity": "sha512-YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ==", | ||
8107 | + "whatwg-url": { | ||
8108 | + "version": "7.1.0", | ||
8109 | + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", | ||
8110 | + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", | ||
8111 | "dev": true, | ||
8112 | "requires": { | ||
8113 | - "rimraf": "~2.6.2" | ||
8114 | + "lodash.sortby": "^4.7.0", | ||
8115 | + "tr46": "^1.0.1", | ||
8116 | + "webidl-conversions": "^4.0.2" | ||
8117 | } | ||
8118 | }, | ||
8119 | "which": { | ||
8120 | @@ -205,11 +7972,164 @@ | ||
8121 | "isexe": "^2.0.0" | ||
8122 | } | ||
8123 | }, | ||
8124 | + "which-module": { | ||
8125 | + "version": "2.0.0", | ||
8126 | + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", | ||
8127 | + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", | ||
8128 | + "dev": true | ||
8129 | + }, | ||
8130 | + "word-wrap": { | ||
8131 | + "version": "1.2.3", | ||
8132 | + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", | ||
8133 | + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", | ||
8134 | + "dev": true | ||
8135 | + }, | ||
8136 | + "wrap-ansi": { | ||
8137 | + "version": "5.1.0", | ||
8138 | + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", | ||
8139 | + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", | ||
8140 | + "dev": true, | ||
8141 | + "requires": { | ||
8142 | + "ansi-styles": "^3.2.0", | ||
8143 | + "string-width": "^3.0.0", | ||
8144 | + "strip-ansi": "^5.0.0" | ||
8145 | + }, | ||
8146 | + "dependencies": { | ||
8147 | + "ansi-regex": { | ||
8148 | + "version": "4.1.0", | ||
8149 | + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
8150 | + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
8151 | + "dev": true | ||
8152 | + }, | ||
8153 | + "strip-ansi": { | ||
8154 | + "version": "5.2.0", | ||
8155 | + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
8156 | + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
8157 | + "dev": true, | ||
8158 | + "requires": { | ||
8159 | + "ansi-regex": "^4.1.0" | ||
8160 | + } | ||
8161 | + } | ||
8162 | + } | ||
8163 | + }, | ||
8164 | "wrappy": { | ||
8165 | "version": "1.0.2", | ||
8166 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", | ||
8167 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", | ||
8168 | "dev": true | ||
8169 | + }, | ||
8170 | + "ws": { | ||
8171 | + "version": "5.2.2", | ||
8172 | + "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz", | ||
8173 | + "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==", | ||
8174 | + "dev": true, | ||
8175 | + "requires": { | ||
8176 | + "async-limiter": "~1.0.0" | ||
8177 | + } | ||
8178 | + }, | ||
8179 | + "xml-name-validator": { | ||
8180 | + "version": "3.0.0", | ||
8181 | + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", | ||
8182 | + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", | ||
8183 | + "dev": true | ||
8184 | + }, | ||
8185 | + "xmlchars": { | ||
8186 | + "version": "2.2.0", | ||
8187 | + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", | ||
8188 | + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", | ||
8189 | + "dev": true | ||
8190 | + }, | ||
8191 | + "xtend": { | ||
8192 | + "version": "4.0.2", | ||
8193 | + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", | ||
8194 | + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", | ||
8195 | + "dev": true | ||
8196 | + }, | ||
8197 | + "y18n": { | ||
8198 | + "version": "4.0.0", | ||
8199 | + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", | ||
8200 | + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", | ||
8201 | + "dev": true | ||
8202 | + }, | ||
8203 | + "yallist": { | ||
8204 | + "version": "2.1.2", | ||
8205 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | ||
8206 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", | ||
8207 | + "dev": true | ||
8208 | + }, | ||
8209 | + "yargs": { | ||
8210 | + "version": "14.2.3", | ||
8211 | + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz", | ||
8212 | + "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==", | ||
8213 | + "dev": true, | ||
8214 | + "requires": { | ||
8215 | + "cliui": "^5.0.0", | ||
8216 | + "decamelize": "^1.2.0", | ||
8217 | + "find-up": "^3.0.0", | ||
8218 | + "get-caller-file": "^2.0.1", | ||
8219 | + "require-directory": "^2.1.1", | ||
8220 | + "require-main-filename": "^2.0.0", | ||
8221 | + "set-blocking": "^2.0.0", | ||
8222 | + "string-width": "^3.0.0", | ||
8223 | + "which-module": "^2.0.0", | ||
8224 | + "y18n": "^4.0.0", | ||
8225 | + "yargs-parser": "^15.0.1" | ||
8226 | + }, | ||
8227 | + "dependencies": { | ||
8228 | + "find-up": { | ||
8229 | + "version": "3.0.0", | ||
8230 | + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", | ||
8231 | + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", | ||
8232 | + "dev": true, | ||
8233 | + "requires": { | ||
8234 | + "locate-path": "^3.0.0" | ||
8235 | + } | ||
8236 | + }, | ||
8237 | + "locate-path": { | ||
8238 | + "version": "3.0.0", | ||
8239 | + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | ||
8240 | + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", | ||
8241 | + "dev": true, | ||
8242 | + "requires": { | ||
8243 | + "p-locate": "^3.0.0", | ||
8244 | + "path-exists": "^3.0.0" | ||
8245 | + } | ||
8246 | + }, | ||
8247 | + "p-limit": { | ||
8248 | + "version": "2.3.0", | ||
8249 | + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", | ||
8250 | + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", | ||
8251 | + "dev": true, | ||
8252 | + "requires": { | ||
8253 | + "p-try": "^2.0.0" | ||
8254 | + } | ||
8255 | + }, | ||
8256 | + "p-locate": { | ||
8257 | + "version": "3.0.0", | ||
8258 | + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", | ||
8259 | + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", | ||
8260 | + "dev": true, | ||
8261 | + "requires": { | ||
8262 | + "p-limit": "^2.0.0" | ||
8263 | + } | ||
8264 | + }, | ||
8265 | + "p-try": { | ||
8266 | + "version": "2.2.0", | ||
8267 | + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", | ||
8268 | + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", | ||
8269 | + "dev": true | ||
8270 | + } | ||
8271 | + } | ||
8272 | + }, | ||
8273 | + "yargs-parser": { | ||
8274 | + "version": "15.0.1", | ||
8275 | + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz", | ||
8276 | + "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==", | ||
8277 | + "dev": true, | ||
8278 | + "requires": { | ||
8279 | + "camelcase": "^5.0.0", | ||
8280 | + "decamelize": "^1.2.0" | ||
8281 | + } | ||
8282 | } | ||
8283 | } | ||
8284 | } | ||
8285 | diff --git a/src/Api.elm b/src/Api.elm | ||
8286 | index 82e5f6c..bd8c516 100644 | ||
8287 | --- a/src/Api.elm | ||
8288 | +++ b/src/Api.elm | ||
8289 | @@ -36,7 +36,7 @@ init url = | ||
8290 | { url | host = "api.codenamesgreen.com", path = "", query = Nothing, fragment = Nothing } | ||
8291 | |||
8292 | _ -> | ||
8293 | - { url | host = "api." ++ url.host, path = "", query = Nothing, fragment = Nothing } | ||
8294 | + { url | host = url.host, path = "/api", query = Nothing, fragment = Nothing } | ||
8295 | in | ||
8296 | { baseUrl = baseUrl } | ||
8297 | |||
8298 | @@ -80,7 +80,7 @@ type alias Index = | ||
8299 | |||
8300 | endpointUrl : Url.Url -> String -> String | ||
8301 | endpointUrl baseUrl path = | ||
8302 | - { baseUrl | path = path } | ||
8303 | + { baseUrl | path = baseUrl.path ++ path } | ||
8304 | |> Url.toString | ||
8305 | |||
8306 | |||
diff --git a/systems/eldiron/websites/games/codenames/default.nix b/systems/eldiron/websites/games/codenames/default.nix new file mode 100644 index 0000000..7f09cc3 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/default.nix | |||
@@ -0,0 +1,76 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | let | ||
3 | greenapid = pkgs.callPackage ./greenapid.nix {}; | ||
4 | frontend = pkgs.callPackage ./frontend.nix { nodeEnv = pkgs.callPackage pkgs.mylibs.nodeEnv {}; }; | ||
5 | wordlists = pkgs.runCommand "wordlists" {} '' | ||
6 | mkdir -p $out | ||
7 | cp -r ${./wordlists} $out/wordlists | ||
8 | ''; | ||
9 | cfg = config.myServices.websites.games.codenames; | ||
10 | in | ||
11 | { | ||
12 | options.myServices.websites.games.codenames.enable = lib.mkEnableOption "Enable Codenames game"; | ||
13 | config = lib.mkIf cfg.enable { | ||
14 | myServices.dns.zones."immae.eu".subdomains.games.subdomains.codenames = with config.myServices.dns.helpers; | ||
15 | ips servers.eldiron.ips.main; | ||
16 | |||
17 | myServices.chatonsProperties.services.codenames = { | ||
18 | file.datetime = "2022-08-27T14:08:00"; | ||
19 | service = { | ||
20 | name = "Codenames Green"; | ||
21 | description = "Co-op codenames app"; | ||
22 | website = "https://codenames.games.immae.eu/"; | ||
23 | logo = "https://codenames.games.immae.eu/images/apple-touch-icon.png"; | ||
24 | status.level = "OK"; | ||
25 | status.description = "OK"; | ||
26 | registration."" = ["NONE"]; | ||
27 | registration.load = "OPEN"; | ||
28 | install.type = "PACKAGE"; | ||
29 | }; | ||
30 | software = { | ||
31 | name = "Codenames Green"; | ||
32 | website = "https://www.codenamesgreen.com/"; | ||
33 | license.url = "https://github.com/jbowens/codenamesgreen/blob/master/package.json"; | ||
34 | license.name = "MIT"; | ||
35 | version = greenapid.version; | ||
36 | source.url = "https://github.com/jbowens/codenamesgreen"; | ||
37 | }; | ||
38 | }; | ||
39 | systemd.services.codenames_api = { | ||
40 | description = "Api for codenames game"; | ||
41 | wantedBy = [ "multi-user.target" ]; | ||
42 | script = "${greenapid}/bin/greenapid"; | ||
43 | postStart = '' | ||
44 | sleep 5; | ||
45 | chown :wwwrun /run/codenamesgreen/socket.sock | ||
46 | chmod g+w /run/codenamesgreen/socket.sock | ||
47 | ''; | ||
48 | serviceConfig = { | ||
49 | User = "codenames"; | ||
50 | DynamicUser = true; | ||
51 | SupplementaryGroups = [ "wwwrun" ]; | ||
52 | Type = "simple"; | ||
53 | RuntimeDirectory = "codenamesgreen"; | ||
54 | WorkingDirectory = builtins.toString wordlists; | ||
55 | }; | ||
56 | }; | ||
57 | |||
58 | security.acme.certs.games.domain = "games.immae.eu"; | ||
59 | security.acme.certs.games.extraDomainNames = [ "codenames.games.immae.eu" ]; | ||
60 | services.websites.env.tools.vhostConfs.games_codenames = { | ||
61 | certName = "games"; | ||
62 | hosts = [ "codenames.games.immae.eu" ]; | ||
63 | root = frontend; | ||
64 | extraConfig = [ | ||
65 | '' | ||
66 | ProxyPass /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/ | ||
67 | ProxyPassReverse /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/ | ||
68 | |||
69 | <Directory ${frontend}> | ||
70 | FallbackResource index.html | ||
71 | </Directory> | ||
72 | '' | ||
73 | ]; | ||
74 | }; | ||
75 | }; | ||
76 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/deps.nix b/systems/eldiron/websites/games/codenames/deps.nix new file mode 100644 index 0000000..fddec2e --- /dev/null +++ b/systems/eldiron/websites/games/codenames/deps.nix | |||
@@ -0,0 +1,11 @@ | |||
1 | [ | ||
2 | { | ||
3 | goPackagePath = "github.com/jbowens/dictionary"; | ||
4 | fetch = { | ||
5 | type = "git"; | ||
6 | url = "https://github.com/jbowens/dictionary"; | ||
7 | rev = "229cf68df1a675e7a2462c4028d7df4abfd98854"; | ||
8 | sha256 = "0gyg3xcx4xqx6w8id2dq5s280mdfhs6yc9flg2jbj8jff040s28w"; | ||
9 | }; | ||
10 | } | ||
11 | ] | ||
diff --git a/systems/eldiron/websites/games/codenames/elm-srcs.nix b/systems/eldiron/websites/games/codenames/elm-srcs.nix new file mode 100644 index 0000000..031e7ff --- /dev/null +++ b/systems/eldiron/websites/games/codenames/elm-srcs.nix | |||
@@ -0,0 +1,77 @@ | |||
1 | { | ||
2 | |||
3 | "elm/json" = { | ||
4 | sha256 = "0kjwrz195z84kwywaxhhlnpl3p251qlbm5iz6byd6jky2crmyqyh"; | ||
5 | version = "1.1.3"; | ||
6 | }; | ||
7 | |||
8 | "perzanko/elm-loading" = { | ||
9 | sha256 = "0fs7ly4jib4gwhh157g91hgjryqja096i6jhbsq7qb4k4r3c5l80"; | ||
10 | version = "2.0.4"; | ||
11 | }; | ||
12 | |||
13 | "elm/html" = { | ||
14 | sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; | ||
15 | version = "1.0.0"; | ||
16 | }; | ||
17 | |||
18 | "elm/browser" = { | ||
19 | sha256 = "1zlmx672glg7fdgkvh5jm47y85pv7pdfr5mkhg6x7ar6k000vyka"; | ||
20 | version = "1.0.1"; | ||
21 | }; | ||
22 | |||
23 | "elm/core" = { | ||
24 | sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as"; | ||
25 | version = "1.0.2"; | ||
26 | }; | ||
27 | |||
28 | "elm/url" = { | ||
29 | sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; | ||
30 | version = "1.0.0"; | ||
31 | }; | ||
32 | |||
33 | "elm/http" = { | ||
34 | sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1"; | ||
35 | version = "2.0.0"; | ||
36 | }; | ||
37 | |||
38 | "elm/bytes" = { | ||
39 | sha256 = "02ywbf52akvxclpxwj9n04jydajcbsbcbsnjs53yjc5lwck3abwj"; | ||
40 | version = "1.0.8"; | ||
41 | }; | ||
42 | |||
43 | "elm/file" = { | ||
44 | sha256 = "1rljcb41dl97myidyjih2yliyzddkr2m7n74x7gg46rcw4jl0ny8"; | ||
45 | version = "1.0.5"; | ||
46 | }; | ||
47 | |||
48 | "rtfeldman/elm-hex" = { | ||
49 | sha256 = "1y0aa16asvwdqmgbskh5iba6psp43lkcjjw9mgzj3gsrg33lp00d"; | ||
50 | version = "1.0.0"; | ||
51 | }; | ||
52 | |||
53 | "rtfeldman/elm-css" = { | ||
54 | sha256 = "0nxiyxyw3kw55whkpwhrcgc0dr6a8zlm2nqvsaqdw6mzkykg0ba6"; | ||
55 | version = "16.1.0"; | ||
56 | }; | ||
57 | |||
58 | "elm/time" = { | ||
59 | sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; | ||
60 | version = "1.0.0"; | ||
61 | }; | ||
62 | |||
63 | "elm/virtual-dom" = { | ||
64 | sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg"; | ||
65 | version = "1.0.2"; | ||
66 | }; | ||
67 | |||
68 | "elm-explorations/test" = { | ||
69 | sha256 = "0rpynrm9irgzyynd1bws0xspww5lnwv7w7998750jb8kcrw39h0n"; | ||
70 | version = "1.0.0"; | ||
71 | }; | ||
72 | |||
73 | "elm/random" = { | ||
74 | sha256 = "138n2455wdjwa657w6sjq18wx2r0k60ibpc4frhbqr50sncxrfdl"; | ||
75 | version = "1.0.0"; | ||
76 | }; | ||
77 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/frontend.nix b/systems/eldiron/websites/games/codenames/frontend.nix new file mode 100644 index 0000000..0f29070 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/frontend.nix | |||
@@ -0,0 +1,22 @@ | |||
1 | { callPackage, runCommand, nodejs, utillinux, nodeEnv, nodePackages, elmPackages }: | ||
2 | let | ||
3 | codenamesgreen_packages = callPackage ./node-packages.nix { inherit nodeEnv; }; | ||
4 | in | ||
5 | runCommand "frontend" { | ||
6 | buildInputs = [ | ||
7 | nodejs utillinux nodePackages.parcel-bundler elmPackages.elm | ||
8 | ]; | ||
9 | } '' | ||
10 | cp -a ${codenamesgreen_packages.package}/lib/node_modules/codenamesgreen . | ||
11 | chmod -R u+w codenamesgreen | ||
12 | cd codenamesgreen | ||
13 | ${elmPackages.fetchElmDeps { | ||
14 | elmPackages = import ./elm-srcs.nix; | ||
15 | registryDat = ./registry.dat; | ||
16 | elmVersion = elmPackages.elm.version; | ||
17 | }} | ||
18 | npx parcel build src/index.html | ||
19 | cp -a dist $out | ||
20 | cp -R src/images $out | ||
21 | cp src/robots.txt $out | ||
22 | '' | ||
diff --git a/systems/eldiron/websites/games/codenames/greenapid.nix b/systems/eldiron/websites/games/codenames/greenapid.nix new file mode 100644 index 0000000..52bda3b --- /dev/null +++ b/systems/eldiron/websites/games/codenames/greenapid.nix | |||
@@ -0,0 +1,18 @@ | |||
1 | { buildGoPackage, fetchFromGitHub, socket ? "/run/codenamesgreen/socket.sock" }: | ||
2 | buildGoPackage rec { | ||
3 | pname = "greenapid"; | ||
4 | version = "master-6d014d0"; | ||
5 | |||
6 | goPackagePath = "github.com/jbowens/codenamesgreen"; | ||
7 | subPackages = [ "cmd/greenapid" ]; | ||
8 | |||
9 | src = fetchFromGitHub { | ||
10 | owner = "jbowens"; | ||
11 | repo = "codenamesgreen"; | ||
12 | rev = "6d014d0df14bee72495e01f12885ef31cba3bd6b"; | ||
13 | sha256 = "0bkaf52rnjw792q0755in4k5jbcrmgq06cl03fdl6zdr8kq2mhm0"; | ||
14 | }; | ||
15 | |||
16 | patches = [ ./greenapid.patch ]; | ||
17 | goDeps = ./deps.nix; | ||
18 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/greenapid.patch b/systems/eldiron/websites/games/codenames/greenapid.patch new file mode 100644 index 0000000..21a9fad --- /dev/null +++ b/systems/eldiron/websites/games/codenames/greenapid.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | diff --git a/cmd/greenapid/main.go b/cmd/greenapid/main.go | ||
2 | index 86499e9..1589323 100644 | ||
3 | --- a/cmd/greenapid/main.go | ||
4 | +++ b/cmd/greenapid/main.go | ||
5 | @@ -1,6 +1,7 @@ | ||
6 | package main | ||
7 | |||
8 | import ( | ||
9 | + "net" | ||
10 | "net/http" | ||
11 | |||
12 | "github.com/jbowens/codenamesgreen/gameapi" | ||
13 | @@ -13,6 +14,12 @@ func main() { | ||
14 | } | ||
15 | |||
16 | h := gameapi.Handler(wordLists) | ||
17 | - err = http.ListenAndServe(":8080", h) | ||
18 | + server := &http.Server{Handler: h} | ||
19 | + ln, err := net.Listen("unix", "/run/codenamesgreen/socket.sock") | ||
20 | + if err != nil { | ||
21 | + panic(err) | ||
22 | + } | ||
23 | + | ||
24 | + err = server.Serve(ln) | ||
25 | panic(err) | ||
26 | } | ||
27 | diff --git a/gameapi/handler.go b/gameapi/handler.go | ||
28 | index d67cf94..108e7e1 100644 | ||
29 | --- a/gameapi/handler.go | ||
30 | +++ b/gameapi/handler.go | ||
31 | @@ -101,7 +101,7 @@ func (h *handler) handleIndex(rw http.ResponseWriter, req *http.Request) { | ||
32 | for { | ||
33 | w1 := strings.ToLower(h.allWords[h.rand.Int63n(int64(len(h.allWords)))]) | ||
34 | w2 := strings.ToLower(h.allWords[h.rand.Int63n(int64(len(h.allWords)))]) | ||
35 | - id := fmt.Sprintf("%s-%s", w1, w2) | ||
36 | + id = fmt.Sprintf("%s-%s", w1, w2) | ||
37 | if _, ok := h.games[id]; !ok { | ||
38 | break | ||
39 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/immae-assets.patch b/systems/eldiron/websites/games/codenames/immae-assets.patch new file mode 100644 index 0000000..c53ab97 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/immae-assets.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | diff --git a/src/index.html b/src/index.html | ||
2 | index 2559a37..84a0d64 100644 | ||
3 | --- a/src/index.html | ||
4 | +++ b/src/index.html | ||
5 | @@ -6,8 +6,8 @@ | ||
6 | <meta name="description" content="Online cooperative codenames game. Play with two or more players."> | ||
7 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> | ||
8 | <meta name="theme-color" content="#ffffff"> | ||
9 | - <link href="https://fonts.googleapis.com/css?family=Exo+2&display=swap" rel="stylesheet"> | ||
10 | - <link href="https://unpkg.com/ionicons@4.5.10-0/dist/css/ionicons.min.css" rel="stylesheet"> | ||
11 | + <link href="https://assets.immae.eu/fonts/Exo2_swap/font.css" rel="stylesheet"> | ||
12 | + <link href="https://assets.immae.eu/ionicons/4.5.10-0/dist/css/ionicons.min.css" rel="stylesheet"> | ||
13 | <link rel="manifest" href="/codenames.manifest"> | ||
14 | <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png"> | ||
15 | <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"> | ||
diff --git a/systems/eldiron/websites/games/codenames/node-packages.nix b/systems/eldiron/websites/games/codenames/node-packages.nix new file mode 100644 index 0000000..1fb2db3 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/node-packages.nix | |||
@@ -0,0 +1,7622 @@ | |||
1 | # This file has been generated by node2nix 1.8.0. Do not edit! | ||
2 | |||
3 | {nodeEnv, fetchurl, fetchgit, fetchFromGitHub, runCommand, globalBuildInputs ? []}: | ||
4 | |||
5 | let | ||
6 | sources = { | ||
7 | "@babel/code-frame-7.0.0" = { | ||
8 | name = "_at_babel_slash_code-frame"; | ||
9 | packageName = "@babel/code-frame"; | ||
10 | version = "7.0.0"; | ||
11 | src = fetchurl { | ||
12 | url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz"; | ||
13 | sha512 = "OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA=="; | ||
14 | }; | ||
15 | }; | ||
16 | "@babel/code-frame-7.8.3" = { | ||
17 | name = "_at_babel_slash_code-frame"; | ||
18 | packageName = "@babel/code-frame"; | ||
19 | version = "7.8.3"; | ||
20 | src = fetchurl { | ||
21 | url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz"; | ||
22 | sha512 = "a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g=="; | ||
23 | }; | ||
24 | }; | ||
25 | "@babel/core-7.3.4" = { | ||
26 | name = "_at_babel_slash_core"; | ||
27 | packageName = "@babel/core"; | ||
28 | version = "7.3.4"; | ||
29 | src = fetchurl { | ||
30 | url = "https://registry.npmjs.org/@babel/core/-/core-7.3.4.tgz"; | ||
31 | sha512 = "jRsuseXBo9pN197KnDwhhaaBzyZr2oIcLHHTt2oDdQrej5Qp57dCCJafWx5ivU8/alEYDpssYqv1MUqcxwQlrA=="; | ||
32 | }; | ||
33 | }; | ||
34 | "@babel/generator-7.3.4" = { | ||
35 | name = "_at_babel_slash_generator"; | ||
36 | packageName = "@babel/generator"; | ||
37 | version = "7.3.4"; | ||
38 | src = fetchurl { | ||
39 | url = "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz"; | ||
40 | sha512 = "8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg=="; | ||
41 | }; | ||
42 | }; | ||
43 | "@babel/generator-7.9.5" = { | ||
44 | name = "_at_babel_slash_generator"; | ||
45 | packageName = "@babel/generator"; | ||
46 | version = "7.9.5"; | ||
47 | src = fetchurl { | ||
48 | url = "https://registry.npmjs.org/@babel/generator/-/generator-7.9.5.tgz"; | ||
49 | sha512 = "GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ=="; | ||
50 | }; | ||
51 | }; | ||
52 | "@babel/helper-annotate-as-pure-7.8.3" = { | ||
53 | name = "_at_babel_slash_helper-annotate-as-pure"; | ||
54 | packageName = "@babel/helper-annotate-as-pure"; | ||
55 | version = "7.8.3"; | ||
56 | src = fetchurl { | ||
57 | url = "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz"; | ||
58 | sha512 = "6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw=="; | ||
59 | }; | ||
60 | }; | ||
61 | "@babel/helper-builder-binary-assignment-operator-visitor-7.8.3" = { | ||
62 | name = "_at_babel_slash_helper-builder-binary-assignment-operator-visitor"; | ||
63 | packageName = "@babel/helper-builder-binary-assignment-operator-visitor"; | ||
64 | version = "7.8.3"; | ||
65 | src = fetchurl { | ||
66 | url = "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz"; | ||
67 | sha512 = "5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw=="; | ||
68 | }; | ||
69 | }; | ||
70 | "@babel/helper-builder-react-jsx-7.9.0" = { | ||
71 | name = "_at_babel_slash_helper-builder-react-jsx"; | ||
72 | packageName = "@babel/helper-builder-react-jsx"; | ||
73 | version = "7.9.0"; | ||
74 | src = fetchurl { | ||
75 | url = "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz"; | ||
76 | sha512 = "weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw=="; | ||
77 | }; | ||
78 | }; | ||
79 | "@babel/helper-create-regexp-features-plugin-7.8.8" = { | ||
80 | name = "_at_babel_slash_helper-create-regexp-features-plugin"; | ||
81 | packageName = "@babel/helper-create-regexp-features-plugin"; | ||
82 | version = "7.8.8"; | ||
83 | src = fetchurl { | ||
84 | url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz"; | ||
85 | sha512 = "LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg=="; | ||
86 | }; | ||
87 | }; | ||
88 | "@babel/helper-define-map-7.8.3" = { | ||
89 | name = "_at_babel_slash_helper-define-map"; | ||
90 | packageName = "@babel/helper-define-map"; | ||
91 | version = "7.8.3"; | ||
92 | src = fetchurl { | ||
93 | url = "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz"; | ||
94 | sha512 = "PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g=="; | ||
95 | }; | ||
96 | }; | ||
97 | "@babel/helper-explode-assignable-expression-7.8.3" = { | ||
98 | name = "_at_babel_slash_helper-explode-assignable-expression"; | ||
99 | packageName = "@babel/helper-explode-assignable-expression"; | ||
100 | version = "7.8.3"; | ||
101 | src = fetchurl { | ||
102 | url = "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz"; | ||
103 | sha512 = "N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw=="; | ||
104 | }; | ||
105 | }; | ||
106 | "@babel/helper-function-name-7.9.5" = { | ||
107 | name = "_at_babel_slash_helper-function-name"; | ||
108 | packageName = "@babel/helper-function-name"; | ||
109 | version = "7.9.5"; | ||
110 | src = fetchurl { | ||
111 | url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz"; | ||
112 | sha512 = "JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw=="; | ||
113 | }; | ||
114 | }; | ||
115 | "@babel/helper-get-function-arity-7.8.3" = { | ||
116 | name = "_at_babel_slash_helper-get-function-arity"; | ||
117 | packageName = "@babel/helper-get-function-arity"; | ||
118 | version = "7.8.3"; | ||
119 | src = fetchurl { | ||
120 | url = "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz"; | ||
121 | sha512 = "FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA=="; | ||
122 | }; | ||
123 | }; | ||
124 | "@babel/helper-hoist-variables-7.8.3" = { | ||
125 | name = "_at_babel_slash_helper-hoist-variables"; | ||
126 | packageName = "@babel/helper-hoist-variables"; | ||
127 | version = "7.8.3"; | ||
128 | src = fetchurl { | ||
129 | url = "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz"; | ||
130 | sha512 = "ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg=="; | ||
131 | }; | ||
132 | }; | ||
133 | "@babel/helper-member-expression-to-functions-7.8.3" = { | ||
134 | name = "_at_babel_slash_helper-member-expression-to-functions"; | ||
135 | packageName = "@babel/helper-member-expression-to-functions"; | ||
136 | version = "7.8.3"; | ||
137 | src = fetchurl { | ||
138 | url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz"; | ||
139 | sha512 = "fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA=="; | ||
140 | }; | ||
141 | }; | ||
142 | "@babel/helper-module-imports-7.8.3" = { | ||
143 | name = "_at_babel_slash_helper-module-imports"; | ||
144 | packageName = "@babel/helper-module-imports"; | ||
145 | version = "7.8.3"; | ||
146 | src = fetchurl { | ||
147 | url = "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz"; | ||
148 | sha512 = "R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg=="; | ||
149 | }; | ||
150 | }; | ||
151 | "@babel/helper-module-transforms-7.9.0" = { | ||
152 | name = "_at_babel_slash_helper-module-transforms"; | ||
153 | packageName = "@babel/helper-module-transforms"; | ||
154 | version = "7.9.0"; | ||
155 | src = fetchurl { | ||
156 | url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz"; | ||
157 | sha512 = "0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA=="; | ||
158 | }; | ||
159 | }; | ||
160 | "@babel/helper-optimise-call-expression-7.8.3" = { | ||
161 | name = "_at_babel_slash_helper-optimise-call-expression"; | ||
162 | packageName = "@babel/helper-optimise-call-expression"; | ||
163 | version = "7.8.3"; | ||
164 | src = fetchurl { | ||
165 | url = "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz"; | ||
166 | sha512 = "Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ=="; | ||
167 | }; | ||
168 | }; | ||
169 | "@babel/helper-plugin-utils-7.8.3" = { | ||
170 | name = "_at_babel_slash_helper-plugin-utils"; | ||
171 | packageName = "@babel/helper-plugin-utils"; | ||
172 | version = "7.8.3"; | ||
173 | src = fetchurl { | ||
174 | url = "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz"; | ||
175 | sha512 = "j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ=="; | ||
176 | }; | ||
177 | }; | ||
178 | "@babel/helper-regex-7.8.3" = { | ||
179 | name = "_at_babel_slash_helper-regex"; | ||
180 | packageName = "@babel/helper-regex"; | ||
181 | version = "7.8.3"; | ||
182 | src = fetchurl { | ||
183 | url = "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz"; | ||
184 | sha512 = "BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ=="; | ||
185 | }; | ||
186 | }; | ||
187 | "@babel/helper-remap-async-to-generator-7.8.3" = { | ||
188 | name = "_at_babel_slash_helper-remap-async-to-generator"; | ||
189 | packageName = "@babel/helper-remap-async-to-generator"; | ||
190 | version = "7.8.3"; | ||
191 | src = fetchurl { | ||
192 | url = "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz"; | ||
193 | sha512 = "kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA=="; | ||
194 | }; | ||
195 | }; | ||
196 | "@babel/helper-replace-supers-7.8.6" = { | ||
197 | name = "_at_babel_slash_helper-replace-supers"; | ||
198 | packageName = "@babel/helper-replace-supers"; | ||
199 | version = "7.8.6"; | ||
200 | src = fetchurl { | ||
201 | url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz"; | ||
202 | sha512 = "PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA=="; | ||
203 | }; | ||
204 | }; | ||
205 | "@babel/helper-simple-access-7.8.3" = { | ||
206 | name = "_at_babel_slash_helper-simple-access"; | ||
207 | packageName = "@babel/helper-simple-access"; | ||
208 | version = "7.8.3"; | ||
209 | src = fetchurl { | ||
210 | url = "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz"; | ||
211 | sha512 = "VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw=="; | ||
212 | }; | ||
213 | }; | ||
214 | "@babel/helper-split-export-declaration-7.8.3" = { | ||
215 | name = "_at_babel_slash_helper-split-export-declaration"; | ||
216 | packageName = "@babel/helper-split-export-declaration"; | ||
217 | version = "7.8.3"; | ||
218 | src = fetchurl { | ||
219 | url = "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz"; | ||
220 | sha512 = "3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA=="; | ||
221 | }; | ||
222 | }; | ||
223 | "@babel/helper-validator-identifier-7.9.5" = { | ||
224 | name = "_at_babel_slash_helper-validator-identifier"; | ||
225 | packageName = "@babel/helper-validator-identifier"; | ||
226 | version = "7.9.5"; | ||
227 | src = fetchurl { | ||
228 | url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz"; | ||
229 | sha512 = "/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g=="; | ||
230 | }; | ||
231 | }; | ||
232 | "@babel/helper-wrap-function-7.8.3" = { | ||
233 | name = "_at_babel_slash_helper-wrap-function"; | ||
234 | packageName = "@babel/helper-wrap-function"; | ||
235 | version = "7.8.3"; | ||
236 | src = fetchurl { | ||
237 | url = "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz"; | ||
238 | sha512 = "LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ=="; | ||
239 | }; | ||
240 | }; | ||
241 | "@babel/helpers-7.9.2" = { | ||
242 | name = "_at_babel_slash_helpers"; | ||
243 | packageName = "@babel/helpers"; | ||
244 | version = "7.9.2"; | ||
245 | src = fetchurl { | ||
246 | url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz"; | ||
247 | sha512 = "JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA=="; | ||
248 | }; | ||
249 | }; | ||
250 | "@babel/highlight-7.9.0" = { | ||
251 | name = "_at_babel_slash_highlight"; | ||
252 | packageName = "@babel/highlight"; | ||
253 | version = "7.9.0"; | ||
254 | src = fetchurl { | ||
255 | url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz"; | ||
256 | sha512 = "lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ=="; | ||
257 | }; | ||
258 | }; | ||
259 | "@babel/parser-7.3.4" = { | ||
260 | name = "_at_babel_slash_parser"; | ||
261 | packageName = "@babel/parser"; | ||
262 | version = "7.3.4"; | ||
263 | src = fetchurl { | ||
264 | url = "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz"; | ||
265 | sha512 = "tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ=="; | ||
266 | }; | ||
267 | }; | ||
268 | "@babel/parser-7.9.4" = { | ||
269 | name = "_at_babel_slash_parser"; | ||
270 | packageName = "@babel/parser"; | ||
271 | version = "7.9.4"; | ||
272 | src = fetchurl { | ||
273 | url = "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz"; | ||
274 | sha512 = "bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA=="; | ||
275 | }; | ||
276 | }; | ||
277 | "@babel/plugin-proposal-async-generator-functions-7.8.3" = { | ||
278 | name = "_at_babel_slash_plugin-proposal-async-generator-functions"; | ||
279 | packageName = "@babel/plugin-proposal-async-generator-functions"; | ||
280 | version = "7.8.3"; | ||
281 | src = fetchurl { | ||
282 | url = "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz"; | ||
283 | sha512 = "NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw=="; | ||
284 | }; | ||
285 | }; | ||
286 | "@babel/plugin-proposal-json-strings-7.8.3" = { | ||
287 | name = "_at_babel_slash_plugin-proposal-json-strings"; | ||
288 | packageName = "@babel/plugin-proposal-json-strings"; | ||
289 | version = "7.8.3"; | ||
290 | src = fetchurl { | ||
291 | url = "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz"; | ||
292 | sha512 = "KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q=="; | ||
293 | }; | ||
294 | }; | ||
295 | "@babel/plugin-proposal-object-rest-spread-7.9.5" = { | ||
296 | name = "_at_babel_slash_plugin-proposal-object-rest-spread"; | ||
297 | packageName = "@babel/plugin-proposal-object-rest-spread"; | ||
298 | version = "7.9.5"; | ||
299 | src = fetchurl { | ||
300 | url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.5.tgz"; | ||
301 | sha512 = "VP2oXvAf7KCYTthbUHwBlewbl1Iq059f6seJGsxMizaCdgHIeczOr7FBqELhSqfkIl04Fi8okzWzl63UKbQmmg=="; | ||
302 | }; | ||
303 | }; | ||
304 | "@babel/plugin-proposal-optional-catch-binding-7.8.3" = { | ||
305 | name = "_at_babel_slash_plugin-proposal-optional-catch-binding"; | ||
306 | packageName = "@babel/plugin-proposal-optional-catch-binding"; | ||
307 | version = "7.8.3"; | ||
308 | src = fetchurl { | ||
309 | url = "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz"; | ||
310 | sha512 = "0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw=="; | ||
311 | }; | ||
312 | }; | ||
313 | "@babel/plugin-proposal-unicode-property-regex-7.8.8" = { | ||
314 | name = "_at_babel_slash_plugin-proposal-unicode-property-regex"; | ||
315 | packageName = "@babel/plugin-proposal-unicode-property-regex"; | ||
316 | version = "7.8.8"; | ||
317 | src = fetchurl { | ||
318 | url = "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz"; | ||
319 | sha512 = "EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A=="; | ||
320 | }; | ||
321 | }; | ||
322 | "@babel/plugin-syntax-async-generators-7.8.4" = { | ||
323 | name = "_at_babel_slash_plugin-syntax-async-generators"; | ||
324 | packageName = "@babel/plugin-syntax-async-generators"; | ||
325 | version = "7.8.4"; | ||
326 | src = fetchurl { | ||
327 | url = "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"; | ||
328 | sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw=="; | ||
329 | }; | ||
330 | }; | ||
331 | "@babel/plugin-syntax-flow-7.8.3" = { | ||
332 | name = "_at_babel_slash_plugin-syntax-flow"; | ||
333 | packageName = "@babel/plugin-syntax-flow"; | ||
334 | version = "7.8.3"; | ||
335 | src = fetchurl { | ||
336 | url = "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz"; | ||
337 | sha512 = "innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg=="; | ||
338 | }; | ||
339 | }; | ||
340 | "@babel/plugin-syntax-json-strings-7.8.3" = { | ||
341 | name = "_at_babel_slash_plugin-syntax-json-strings"; | ||
342 | packageName = "@babel/plugin-syntax-json-strings"; | ||
343 | version = "7.8.3"; | ||
344 | src = fetchurl { | ||
345 | url = "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"; | ||
346 | sha512 = "lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA=="; | ||
347 | }; | ||
348 | }; | ||
349 | "@babel/plugin-syntax-jsx-7.8.3" = { | ||
350 | name = "_at_babel_slash_plugin-syntax-jsx"; | ||
351 | packageName = "@babel/plugin-syntax-jsx"; | ||
352 | version = "7.8.3"; | ||
353 | src = fetchurl { | ||
354 | url = "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz"; | ||
355 | sha512 = "WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A=="; | ||
356 | }; | ||
357 | }; | ||
358 | "@babel/plugin-syntax-object-rest-spread-7.8.3" = { | ||
359 | name = "_at_babel_slash_plugin-syntax-object-rest-spread"; | ||
360 | packageName = "@babel/plugin-syntax-object-rest-spread"; | ||
361 | version = "7.8.3"; | ||
362 | src = fetchurl { | ||
363 | url = "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"; | ||
364 | sha512 = "XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA=="; | ||
365 | }; | ||
366 | }; | ||
367 | "@babel/plugin-syntax-optional-catch-binding-7.8.3" = { | ||
368 | name = "_at_babel_slash_plugin-syntax-optional-catch-binding"; | ||
369 | packageName = "@babel/plugin-syntax-optional-catch-binding"; | ||
370 | version = "7.8.3"; | ||
371 | src = fetchurl { | ||
372 | url = "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"; | ||
373 | sha512 = "6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q=="; | ||
374 | }; | ||
375 | }; | ||
376 | "@babel/plugin-transform-arrow-functions-7.8.3" = { | ||
377 | name = "_at_babel_slash_plugin-transform-arrow-functions"; | ||
378 | packageName = "@babel/plugin-transform-arrow-functions"; | ||
379 | version = "7.8.3"; | ||
380 | src = fetchurl { | ||
381 | url = "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz"; | ||
382 | sha512 = "0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg=="; | ||
383 | }; | ||
384 | }; | ||
385 | "@babel/plugin-transform-async-to-generator-7.8.3" = { | ||
386 | name = "_at_babel_slash_plugin-transform-async-to-generator"; | ||
387 | packageName = "@babel/plugin-transform-async-to-generator"; | ||
388 | version = "7.8.3"; | ||
389 | src = fetchurl { | ||
390 | url = "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz"; | ||
391 | sha512 = "imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ=="; | ||
392 | }; | ||
393 | }; | ||
394 | "@babel/plugin-transform-block-scoped-functions-7.8.3" = { | ||
395 | name = "_at_babel_slash_plugin-transform-block-scoped-functions"; | ||
396 | packageName = "@babel/plugin-transform-block-scoped-functions"; | ||
397 | version = "7.8.3"; | ||
398 | src = fetchurl { | ||
399 | url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz"; | ||
400 | sha512 = "vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg=="; | ||
401 | }; | ||
402 | }; | ||
403 | "@babel/plugin-transform-block-scoping-7.8.3" = { | ||
404 | name = "_at_babel_slash_plugin-transform-block-scoping"; | ||
405 | packageName = "@babel/plugin-transform-block-scoping"; | ||
406 | version = "7.8.3"; | ||
407 | src = fetchurl { | ||
408 | url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz"; | ||
409 | sha512 = "pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w=="; | ||
410 | }; | ||
411 | }; | ||
412 | "@babel/plugin-transform-classes-7.9.5" = { | ||
413 | name = "_at_babel_slash_plugin-transform-classes"; | ||
414 | packageName = "@babel/plugin-transform-classes"; | ||
415 | version = "7.9.5"; | ||
416 | src = fetchurl { | ||
417 | url = "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz"; | ||
418 | sha512 = "x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg=="; | ||
419 | }; | ||
420 | }; | ||
421 | "@babel/plugin-transform-computed-properties-7.8.3" = { | ||
422 | name = "_at_babel_slash_plugin-transform-computed-properties"; | ||
423 | packageName = "@babel/plugin-transform-computed-properties"; | ||
424 | version = "7.8.3"; | ||
425 | src = fetchurl { | ||
426 | url = "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz"; | ||
427 | sha512 = "O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA=="; | ||
428 | }; | ||
429 | }; | ||
430 | "@babel/plugin-transform-destructuring-7.9.5" = { | ||
431 | name = "_at_babel_slash_plugin-transform-destructuring"; | ||
432 | packageName = "@babel/plugin-transform-destructuring"; | ||
433 | version = "7.9.5"; | ||
434 | src = fetchurl { | ||
435 | url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz"; | ||
436 | sha512 = "j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q=="; | ||
437 | }; | ||
438 | }; | ||
439 | "@babel/plugin-transform-dotall-regex-7.8.3" = { | ||
440 | name = "_at_babel_slash_plugin-transform-dotall-regex"; | ||
441 | packageName = "@babel/plugin-transform-dotall-regex"; | ||
442 | version = "7.8.3"; | ||
443 | src = fetchurl { | ||
444 | url = "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz"; | ||
445 | sha512 = "kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw=="; | ||
446 | }; | ||
447 | }; | ||
448 | "@babel/plugin-transform-duplicate-keys-7.8.3" = { | ||
449 | name = "_at_babel_slash_plugin-transform-duplicate-keys"; | ||
450 | packageName = "@babel/plugin-transform-duplicate-keys"; | ||
451 | version = "7.8.3"; | ||
452 | src = fetchurl { | ||
453 | url = "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz"; | ||
454 | sha512 = "s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ=="; | ||
455 | }; | ||
456 | }; | ||
457 | "@babel/plugin-transform-exponentiation-operator-7.8.3" = { | ||
458 | name = "_at_babel_slash_plugin-transform-exponentiation-operator"; | ||
459 | packageName = "@babel/plugin-transform-exponentiation-operator"; | ||
460 | version = "7.8.3"; | ||
461 | src = fetchurl { | ||
462 | url = "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz"; | ||
463 | sha512 = "zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ=="; | ||
464 | }; | ||
465 | }; | ||
466 | "@babel/plugin-transform-flow-strip-types-7.3.4" = { | ||
467 | name = "_at_babel_slash_plugin-transform-flow-strip-types"; | ||
468 | packageName = "@babel/plugin-transform-flow-strip-types"; | ||
469 | version = "7.3.4"; | ||
470 | src = fetchurl { | ||
471 | url = "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.3.4.tgz"; | ||
472 | sha512 = "PmQC9R7DwpBFA+7ATKMyzViz3zCaMNouzZMPZN2K5PnbBbtL3AXFYTkDk+Hey5crQq2A90UG5Uthz0mel+XZrA=="; | ||
473 | }; | ||
474 | }; | ||
475 | "@babel/plugin-transform-for-of-7.9.0" = { | ||
476 | name = "_at_babel_slash_plugin-transform-for-of"; | ||
477 | packageName = "@babel/plugin-transform-for-of"; | ||
478 | version = "7.9.0"; | ||
479 | src = fetchurl { | ||
480 | url = "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz"; | ||
481 | sha512 = "lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ=="; | ||
482 | }; | ||
483 | }; | ||
484 | "@babel/plugin-transform-function-name-7.8.3" = { | ||
485 | name = "_at_babel_slash_plugin-transform-function-name"; | ||
486 | packageName = "@babel/plugin-transform-function-name"; | ||
487 | version = "7.8.3"; | ||
488 | src = fetchurl { | ||
489 | url = "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz"; | ||
490 | sha512 = "rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ=="; | ||
491 | }; | ||
492 | }; | ||
493 | "@babel/plugin-transform-literals-7.8.3" = { | ||
494 | name = "_at_babel_slash_plugin-transform-literals"; | ||
495 | packageName = "@babel/plugin-transform-literals"; | ||
496 | version = "7.8.3"; | ||
497 | src = fetchurl { | ||
498 | url = "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz"; | ||
499 | sha512 = "3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A=="; | ||
500 | }; | ||
501 | }; | ||
502 | "@babel/plugin-transform-modules-amd-7.9.0" = { | ||
503 | name = "_at_babel_slash_plugin-transform-modules-amd"; | ||
504 | packageName = "@babel/plugin-transform-modules-amd"; | ||
505 | version = "7.9.0"; | ||
506 | src = fetchurl { | ||
507 | url = "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz"; | ||
508 | sha512 = "vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q=="; | ||
509 | }; | ||
510 | }; | ||
511 | "@babel/plugin-transform-modules-commonjs-7.2.0" = { | ||
512 | name = "_at_babel_slash_plugin-transform-modules-commonjs"; | ||
513 | packageName = "@babel/plugin-transform-modules-commonjs"; | ||
514 | version = "7.2.0"; | ||
515 | src = fetchurl { | ||
516 | url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz"; | ||
517 | sha512 = "V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ=="; | ||
518 | }; | ||
519 | }; | ||
520 | "@babel/plugin-transform-modules-systemjs-7.9.0" = { | ||
521 | name = "_at_babel_slash_plugin-transform-modules-systemjs"; | ||
522 | packageName = "@babel/plugin-transform-modules-systemjs"; | ||
523 | version = "7.9.0"; | ||
524 | src = fetchurl { | ||
525 | url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz"; | ||
526 | sha512 = "FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ=="; | ||
527 | }; | ||
528 | }; | ||
529 | "@babel/plugin-transform-modules-umd-7.9.0" = { | ||
530 | name = "_at_babel_slash_plugin-transform-modules-umd"; | ||
531 | packageName = "@babel/plugin-transform-modules-umd"; | ||
532 | version = "7.9.0"; | ||
533 | src = fetchurl { | ||
534 | url = "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz"; | ||
535 | sha512 = "uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ=="; | ||
536 | }; | ||
537 | }; | ||
538 | "@babel/plugin-transform-named-capturing-groups-regex-7.8.3" = { | ||
539 | name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex"; | ||
540 | packageName = "@babel/plugin-transform-named-capturing-groups-regex"; | ||
541 | version = "7.8.3"; | ||
542 | src = fetchurl { | ||
543 | url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz"; | ||
544 | sha512 = "f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw=="; | ||
545 | }; | ||
546 | }; | ||
547 | "@babel/plugin-transform-new-target-7.8.3" = { | ||
548 | name = "_at_babel_slash_plugin-transform-new-target"; | ||
549 | packageName = "@babel/plugin-transform-new-target"; | ||
550 | version = "7.8.3"; | ||
551 | src = fetchurl { | ||
552 | url = "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz"; | ||
553 | sha512 = "QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw=="; | ||
554 | }; | ||
555 | }; | ||
556 | "@babel/plugin-transform-object-super-7.8.3" = { | ||
557 | name = "_at_babel_slash_plugin-transform-object-super"; | ||
558 | packageName = "@babel/plugin-transform-object-super"; | ||
559 | version = "7.8.3"; | ||
560 | src = fetchurl { | ||
561 | url = "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz"; | ||
562 | sha512 = "57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ=="; | ||
563 | }; | ||
564 | }; | ||
565 | "@babel/plugin-transform-parameters-7.9.5" = { | ||
566 | name = "_at_babel_slash_plugin-transform-parameters"; | ||
567 | packageName = "@babel/plugin-transform-parameters"; | ||
568 | version = "7.9.5"; | ||
569 | src = fetchurl { | ||
570 | url = "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz"; | ||
571 | sha512 = "0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA=="; | ||
572 | }; | ||
573 | }; | ||
574 | "@babel/plugin-transform-react-jsx-7.3.0" = { | ||
575 | name = "_at_babel_slash_plugin-transform-react-jsx"; | ||
576 | packageName = "@babel/plugin-transform-react-jsx"; | ||
577 | version = "7.3.0"; | ||
578 | src = fetchurl { | ||
579 | url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz"; | ||
580 | sha512 = "a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg=="; | ||
581 | }; | ||
582 | }; | ||
583 | "@babel/plugin-transform-regenerator-7.8.7" = { | ||
584 | name = "_at_babel_slash_plugin-transform-regenerator"; | ||
585 | packageName = "@babel/plugin-transform-regenerator"; | ||
586 | version = "7.8.7"; | ||
587 | src = fetchurl { | ||
588 | url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz"; | ||
589 | sha512 = "TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA=="; | ||
590 | }; | ||
591 | }; | ||
592 | "@babel/plugin-transform-shorthand-properties-7.8.3" = { | ||
593 | name = "_at_babel_slash_plugin-transform-shorthand-properties"; | ||
594 | packageName = "@babel/plugin-transform-shorthand-properties"; | ||
595 | version = "7.8.3"; | ||
596 | src = fetchurl { | ||
597 | url = "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz"; | ||
598 | sha512 = "I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w=="; | ||
599 | }; | ||
600 | }; | ||
601 | "@babel/plugin-transform-spread-7.8.3" = { | ||
602 | name = "_at_babel_slash_plugin-transform-spread"; | ||
603 | packageName = "@babel/plugin-transform-spread"; | ||
604 | version = "7.8.3"; | ||
605 | src = fetchurl { | ||
606 | url = "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz"; | ||
607 | sha512 = "CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g=="; | ||
608 | }; | ||
609 | }; | ||
610 | "@babel/plugin-transform-sticky-regex-7.8.3" = { | ||
611 | name = "_at_babel_slash_plugin-transform-sticky-regex"; | ||
612 | packageName = "@babel/plugin-transform-sticky-regex"; | ||
613 | version = "7.8.3"; | ||
614 | src = fetchurl { | ||
615 | url = "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz"; | ||
616 | sha512 = "9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw=="; | ||
617 | }; | ||
618 | }; | ||
619 | "@babel/plugin-transform-template-literals-7.8.3" = { | ||
620 | name = "_at_babel_slash_plugin-transform-template-literals"; | ||
621 | packageName = "@babel/plugin-transform-template-literals"; | ||
622 | version = "7.8.3"; | ||
623 | src = fetchurl { | ||
624 | url = "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz"; | ||
625 | sha512 = "820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ=="; | ||
626 | }; | ||
627 | }; | ||
628 | "@babel/plugin-transform-typeof-symbol-7.8.4" = { | ||
629 | name = "_at_babel_slash_plugin-transform-typeof-symbol"; | ||
630 | packageName = "@babel/plugin-transform-typeof-symbol"; | ||
631 | version = "7.8.4"; | ||
632 | src = fetchurl { | ||
633 | url = "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz"; | ||
634 | sha512 = "2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg=="; | ||
635 | }; | ||
636 | }; | ||
637 | "@babel/plugin-transform-unicode-regex-7.8.3" = { | ||
638 | name = "_at_babel_slash_plugin-transform-unicode-regex"; | ||
639 | packageName = "@babel/plugin-transform-unicode-regex"; | ||
640 | version = "7.8.3"; | ||
641 | src = fetchurl { | ||
642 | url = "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz"; | ||
643 | sha512 = "+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw=="; | ||
644 | }; | ||
645 | }; | ||
646 | "@babel/preset-env-7.3.4" = { | ||
647 | name = "_at_babel_slash_preset-env"; | ||
648 | packageName = "@babel/preset-env"; | ||
649 | version = "7.3.4"; | ||
650 | src = fetchurl { | ||
651 | url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz"; | ||
652 | sha512 = "2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA=="; | ||
653 | }; | ||
654 | }; | ||
655 | "@babel/runtime-7.3.4" = { | ||
656 | name = "_at_babel_slash_runtime"; | ||
657 | packageName = "@babel/runtime"; | ||
658 | version = "7.3.4"; | ||
659 | src = fetchurl { | ||
660 | url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz"; | ||
661 | sha512 = "IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g=="; | ||
662 | }; | ||
663 | }; | ||
664 | "@babel/runtime-7.9.2" = { | ||
665 | name = "_at_babel_slash_runtime"; | ||
666 | packageName = "@babel/runtime"; | ||
667 | version = "7.9.2"; | ||
668 | src = fetchurl { | ||
669 | url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.2.tgz"; | ||
670 | sha512 = "NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q=="; | ||
671 | }; | ||
672 | }; | ||
673 | "@babel/template-7.2.2" = { | ||
674 | name = "_at_babel_slash_template"; | ||
675 | packageName = "@babel/template"; | ||
676 | version = "7.2.2"; | ||
677 | src = fetchurl { | ||
678 | url = "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz"; | ||
679 | sha512 = "zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g=="; | ||
680 | }; | ||
681 | }; | ||
682 | "@babel/template-7.8.6" = { | ||
683 | name = "_at_babel_slash_template"; | ||
684 | packageName = "@babel/template"; | ||
685 | version = "7.8.6"; | ||
686 | src = fetchurl { | ||
687 | url = "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz"; | ||
688 | sha512 = "zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg=="; | ||
689 | }; | ||
690 | }; | ||
691 | "@babel/traverse-7.3.4" = { | ||
692 | name = "_at_babel_slash_traverse"; | ||
693 | packageName = "@babel/traverse"; | ||
694 | version = "7.3.4"; | ||
695 | src = fetchurl { | ||
696 | url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz"; | ||
697 | sha512 = "TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ=="; | ||
698 | }; | ||
699 | }; | ||
700 | "@babel/traverse-7.9.5" = { | ||
701 | name = "_at_babel_slash_traverse"; | ||
702 | packageName = "@babel/traverse"; | ||
703 | version = "7.9.5"; | ||
704 | src = fetchurl { | ||
705 | url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.5.tgz"; | ||
706 | sha512 = "c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ=="; | ||
707 | }; | ||
708 | }; | ||
709 | "@babel/types-7.3.4" = { | ||
710 | name = "_at_babel_slash_types"; | ||
711 | packageName = "@babel/types"; | ||
712 | version = "7.3.4"; | ||
713 | src = fetchurl { | ||
714 | url = "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz"; | ||
715 | sha512 = "WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ=="; | ||
716 | }; | ||
717 | }; | ||
718 | "@babel/types-7.9.5" = { | ||
719 | name = "_at_babel_slash_types"; | ||
720 | packageName = "@babel/types"; | ||
721 | version = "7.9.5"; | ||
722 | src = fetchurl { | ||
723 | url = "https://registry.npmjs.org/@babel/types/-/types-7.9.5.tgz"; | ||
724 | sha512 = "XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg=="; | ||
725 | }; | ||
726 | }; | ||
727 | "@iarna/toml-2.2.5" = { | ||
728 | name = "_at_iarna_slash_toml"; | ||
729 | packageName = "@iarna/toml"; | ||
730 | version = "2.2.5"; | ||
731 | src = fetchurl { | ||
732 | url = "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz"; | ||
733 | sha512 = "trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg=="; | ||
734 | }; | ||
735 | }; | ||
736 | "@mrmlnc/readdir-enhanced-2.2.1" = { | ||
737 | name = "_at_mrmlnc_slash_readdir-enhanced"; | ||
738 | packageName = "@mrmlnc/readdir-enhanced"; | ||
739 | version = "2.2.1"; | ||
740 | src = fetchurl { | ||
741 | url = "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz"; | ||
742 | sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g=="; | ||
743 | }; | ||
744 | }; | ||
745 | "@nodelib/fs.stat-1.1.3" = { | ||
746 | name = "_at_nodelib_slash_fs.stat"; | ||
747 | packageName = "@nodelib/fs.stat"; | ||
748 | version = "1.1.3"; | ||
749 | src = fetchurl { | ||
750 | url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz"; | ||
751 | sha512 = "shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw=="; | ||
752 | }; | ||
753 | }; | ||
754 | "@parcel/fs-1.11.0" = { | ||
755 | name = "_at_parcel_slash_fs"; | ||
756 | packageName = "@parcel/fs"; | ||
757 | version = "1.11.0"; | ||
758 | src = fetchurl { | ||
759 | url = "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz"; | ||
760 | sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA=="; | ||
761 | }; | ||
762 | }; | ||
763 | "@parcel/logger-1.11.1" = { | ||
764 | name = "_at_parcel_slash_logger"; | ||
765 | packageName = "@parcel/logger"; | ||
766 | version = "1.11.1"; | ||
767 | src = fetchurl { | ||
768 | url = "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz"; | ||
769 | sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA=="; | ||
770 | }; | ||
771 | }; | ||
772 | "@parcel/utils-1.11.0" = { | ||
773 | name = "_at_parcel_slash_utils"; | ||
774 | packageName = "@parcel/utils"; | ||
775 | version = "1.11.0"; | ||
776 | src = fetchurl { | ||
777 | url = "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz"; | ||
778 | sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ=="; | ||
779 | }; | ||
780 | }; | ||
781 | "@parcel/watcher-1.12.1" = { | ||
782 | name = "_at_parcel_slash_watcher"; | ||
783 | packageName = "@parcel/watcher"; | ||
784 | version = "1.12.1"; | ||
785 | src = fetchurl { | ||
786 | url = "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz"; | ||
787 | sha512 = "od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA=="; | ||
788 | }; | ||
789 | }; | ||
790 | "@parcel/workers-1.11.0" = { | ||
791 | name = "_at_parcel_slash_workers"; | ||
792 | packageName = "@parcel/workers"; | ||
793 | version = "1.11.0"; | ||
794 | src = fetchurl { | ||
795 | url = "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz"; | ||
796 | sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ=="; | ||
797 | }; | ||
798 | }; | ||
799 | "@types/q-1.5.2" = { | ||
800 | name = "_at_types_slash_q"; | ||
801 | packageName = "@types/q"; | ||
802 | version = "1.5.2"; | ||
803 | src = fetchurl { | ||
804 | url = "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz"; | ||
805 | sha512 = "ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw=="; | ||
806 | }; | ||
807 | }; | ||
808 | "abab-2.0.3" = { | ||
809 | name = "abab"; | ||
810 | packageName = "abab"; | ||
811 | version = "2.0.3"; | ||
812 | src = fetchurl { | ||
813 | url = "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz"; | ||
814 | sha512 = "tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg=="; | ||
815 | }; | ||
816 | }; | ||
817 | "abbrev-1.1.1" = { | ||
818 | name = "abbrev"; | ||
819 | packageName = "abbrev"; | ||
820 | version = "1.1.1"; | ||
821 | src = fetchurl { | ||
822 | url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"; | ||
823 | sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; | ||
824 | }; | ||
825 | }; | ||
826 | "acorn-6.4.1" = { | ||
827 | name = "acorn"; | ||
828 | packageName = "acorn"; | ||
829 | version = "6.4.1"; | ||
830 | src = fetchurl { | ||
831 | url = "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz"; | ||
832 | sha512 = "ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA=="; | ||
833 | }; | ||
834 | }; | ||
835 | "acorn-7.1.1" = { | ||
836 | name = "acorn"; | ||
837 | packageName = "acorn"; | ||
838 | version = "7.1.1"; | ||
839 | src = fetchurl { | ||
840 | url = "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz"; | ||
841 | sha512 = "add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg=="; | ||
842 | }; | ||
843 | }; | ||
844 | "acorn-globals-4.3.4" = { | ||
845 | name = "acorn-globals"; | ||
846 | packageName = "acorn-globals"; | ||
847 | version = "4.3.4"; | ||
848 | src = fetchurl { | ||
849 | url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz"; | ||
850 | sha512 = "clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A=="; | ||
851 | }; | ||
852 | }; | ||
853 | "acorn-walk-6.2.0" = { | ||
854 | name = "acorn-walk"; | ||
855 | packageName = "acorn-walk"; | ||
856 | version = "6.2.0"; | ||
857 | src = fetchurl { | ||
858 | url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz"; | ||
859 | sha512 = "7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA=="; | ||
860 | }; | ||
861 | }; | ||
862 | "ajv-6.12.2" = { | ||
863 | name = "ajv"; | ||
864 | packageName = "ajv"; | ||
865 | version = "6.12.2"; | ||
866 | src = fetchurl { | ||
867 | url = "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz"; | ||
868 | sha512 = "k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ=="; | ||
869 | }; | ||
870 | }; | ||
871 | "alphanum-sort-1.0.2" = { | ||
872 | name = "alphanum-sort"; | ||
873 | packageName = "alphanum-sort"; | ||
874 | version = "1.0.2"; | ||
875 | src = fetchurl { | ||
876 | url = "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz"; | ||
877 | sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3"; | ||
878 | }; | ||
879 | }; | ||
880 | "ansi-regex-2.1.1" = { | ||
881 | name = "ansi-regex"; | ||
882 | packageName = "ansi-regex"; | ||
883 | version = "2.1.1"; | ||
884 | src = fetchurl { | ||
885 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; | ||
886 | sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; | ||
887 | }; | ||
888 | }; | ||
889 | "ansi-regex-3.0.0" = { | ||
890 | name = "ansi-regex"; | ||
891 | packageName = "ansi-regex"; | ||
892 | version = "3.0.0"; | ||
893 | src = fetchurl { | ||
894 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"; | ||
895 | sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; | ||
896 | }; | ||
897 | }; | ||
898 | "ansi-regex-4.1.0" = { | ||
899 | name = "ansi-regex"; | ||
900 | packageName = "ansi-regex"; | ||
901 | version = "4.1.0"; | ||
902 | src = fetchurl { | ||
903 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"; | ||
904 | sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; | ||
905 | }; | ||
906 | }; | ||
907 | "ansi-styles-2.2.1" = { | ||
908 | name = "ansi-styles"; | ||
909 | packageName = "ansi-styles"; | ||
910 | version = "2.2.1"; | ||
911 | src = fetchurl { | ||
912 | url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"; | ||
913 | sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; | ||
914 | }; | ||
915 | }; | ||
916 | "ansi-styles-3.2.1" = { | ||
917 | name = "ansi-styles"; | ||
918 | packageName = "ansi-styles"; | ||
919 | version = "3.2.1"; | ||
920 | src = fetchurl { | ||
921 | url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"; | ||
922 | sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; | ||
923 | }; | ||
924 | }; | ||
925 | "ansi-to-html-0.6.14" = { | ||
926 | name = "ansi-to-html"; | ||
927 | packageName = "ansi-to-html"; | ||
928 | version = "0.6.14"; | ||
929 | src = fetchurl { | ||
930 | url = "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.14.tgz"; | ||
931 | sha512 = "7ZslfB1+EnFSDO5Ju+ue5Y6It19DRnZXWv8jrGHgIlPna5Mh4jz7BV5jCbQneXNFurQcKoolaaAjHtgSBfOIuA=="; | ||
932 | }; | ||
933 | }; | ||
934 | "anymatch-2.0.0" = { | ||
935 | name = "anymatch"; | ||
936 | packageName = "anymatch"; | ||
937 | version = "2.0.0"; | ||
938 | src = fetchurl { | ||
939 | url = "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz"; | ||
940 | sha512 = "5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw=="; | ||
941 | }; | ||
942 | }; | ||
943 | "argparse-1.0.10" = { | ||
944 | name = "argparse"; | ||
945 | packageName = "argparse"; | ||
946 | version = "1.0.10"; | ||
947 | src = fetchurl { | ||
948 | url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; | ||
949 | sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; | ||
950 | }; | ||
951 | }; | ||
952 | "arr-diff-4.0.0" = { | ||
953 | name = "arr-diff"; | ||
954 | packageName = "arr-diff"; | ||
955 | version = "4.0.0"; | ||
956 | src = fetchurl { | ||
957 | url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz"; | ||
958 | sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; | ||
959 | }; | ||
960 | }; | ||
961 | "arr-flatten-1.1.0" = { | ||
962 | name = "arr-flatten"; | ||
963 | packageName = "arr-flatten"; | ||
964 | version = "1.1.0"; | ||
965 | src = fetchurl { | ||
966 | url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz"; | ||
967 | sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="; | ||
968 | }; | ||
969 | }; | ||
970 | "arr-union-3.1.0" = { | ||
971 | name = "arr-union"; | ||
972 | packageName = "arr-union"; | ||
973 | version = "3.1.0"; | ||
974 | src = fetchurl { | ||
975 | url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz"; | ||
976 | sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; | ||
977 | }; | ||
978 | }; | ||
979 | "array-equal-1.0.0" = { | ||
980 | name = "array-equal"; | ||
981 | packageName = "array-equal"; | ||
982 | version = "1.0.0"; | ||
983 | src = fetchurl { | ||
984 | url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz"; | ||
985 | sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93"; | ||
986 | }; | ||
987 | }; | ||
988 | "array-unique-0.3.2" = { | ||
989 | name = "array-unique"; | ||
990 | packageName = "array-unique"; | ||
991 | version = "0.3.2"; | ||
992 | src = fetchurl { | ||
993 | url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz"; | ||
994 | sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; | ||
995 | }; | ||
996 | }; | ||
997 | "asn1-0.2.4" = { | ||
998 | name = "asn1"; | ||
999 | packageName = "asn1"; | ||
1000 | version = "0.2.4"; | ||
1001 | src = fetchurl { | ||
1002 | url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; | ||
1003 | sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; | ||
1004 | }; | ||
1005 | }; | ||
1006 | "asn1.js-4.10.1" = { | ||
1007 | name = "asn1.js"; | ||
1008 | packageName = "asn1.js"; | ||
1009 | version = "4.10.1"; | ||
1010 | src = fetchurl { | ||
1011 | url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz"; | ||
1012 | sha512 = "p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw=="; | ||
1013 | }; | ||
1014 | }; | ||
1015 | "assert-1.5.0" = { | ||
1016 | name = "assert"; | ||
1017 | packageName = "assert"; | ||
1018 | version = "1.5.0"; | ||
1019 | src = fetchurl { | ||
1020 | url = "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz"; | ||
1021 | sha512 = "EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA=="; | ||
1022 | }; | ||
1023 | }; | ||
1024 | "assert-plus-1.0.0" = { | ||
1025 | name = "assert-plus"; | ||
1026 | packageName = "assert-plus"; | ||
1027 | version = "1.0.0"; | ||
1028 | src = fetchurl { | ||
1029 | url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; | ||
1030 | sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; | ||
1031 | }; | ||
1032 | }; | ||
1033 | "assign-symbols-1.0.0" = { | ||
1034 | name = "assign-symbols"; | ||
1035 | packageName = "assign-symbols"; | ||
1036 | version = "1.0.0"; | ||
1037 | src = fetchurl { | ||
1038 | url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz"; | ||
1039 | sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; | ||
1040 | }; | ||
1041 | }; | ||
1042 | "async-each-1.0.3" = { | ||
1043 | name = "async-each"; | ||
1044 | packageName = "async-each"; | ||
1045 | version = "1.0.3"; | ||
1046 | src = fetchurl { | ||
1047 | url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz"; | ||
1048 | sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ=="; | ||
1049 | }; | ||
1050 | }; | ||
1051 | "async-limiter-1.0.1" = { | ||
1052 | name = "async-limiter"; | ||
1053 | packageName = "async-limiter"; | ||
1054 | version = "1.0.1"; | ||
1055 | src = fetchurl { | ||
1056 | url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"; | ||
1057 | sha512 = "csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="; | ||
1058 | }; | ||
1059 | }; | ||
1060 | "asynckit-0.4.0" = { | ||
1061 | name = "asynckit"; | ||
1062 | packageName = "asynckit"; | ||
1063 | version = "0.4.0"; | ||
1064 | src = fetchurl { | ||
1065 | url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; | ||
1066 | sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; | ||
1067 | }; | ||
1068 | }; | ||
1069 | "atob-2.1.2" = { | ||
1070 | name = "atob"; | ||
1071 | packageName = "atob"; | ||
1072 | version = "2.1.2"; | ||
1073 | src = fetchurl { | ||
1074 | url = "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz"; | ||
1075 | sha512 = "Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="; | ||
1076 | }; | ||
1077 | }; | ||
1078 | "aws-sign2-0.7.0" = { | ||
1079 | name = "aws-sign2"; | ||
1080 | packageName = "aws-sign2"; | ||
1081 | version = "0.7.0"; | ||
1082 | src = fetchurl { | ||
1083 | url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; | ||
1084 | sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; | ||
1085 | }; | ||
1086 | }; | ||
1087 | "aws4-1.9.1" = { | ||
1088 | name = "aws4"; | ||
1089 | packageName = "aws4"; | ||
1090 | version = "1.9.1"; | ||
1091 | src = fetchurl { | ||
1092 | url = "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz"; | ||
1093 | sha512 = "wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="; | ||
1094 | }; | ||
1095 | }; | ||
1096 | "babel-plugin-dynamic-import-node-2.3.3" = { | ||
1097 | name = "babel-plugin-dynamic-import-node"; | ||
1098 | packageName = "babel-plugin-dynamic-import-node"; | ||
1099 | version = "2.3.3"; | ||
1100 | src = fetchurl { | ||
1101 | url = "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"; | ||
1102 | sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ=="; | ||
1103 | }; | ||
1104 | }; | ||
1105 | "babel-runtime-6.26.0" = { | ||
1106 | name = "babel-runtime"; | ||
1107 | packageName = "babel-runtime"; | ||
1108 | version = "6.26.0"; | ||
1109 | src = fetchurl { | ||
1110 | url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz"; | ||
1111 | sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; | ||
1112 | }; | ||
1113 | }; | ||
1114 | "babel-types-6.26.0" = { | ||
1115 | name = "babel-types"; | ||
1116 | packageName = "babel-types"; | ||
1117 | version = "6.26.0"; | ||
1118 | src = fetchurl { | ||
1119 | url = "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz"; | ||
1120 | sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497"; | ||
1121 | }; | ||
1122 | }; | ||
1123 | "babylon-walk-1.0.2" = { | ||
1124 | name = "babylon-walk"; | ||
1125 | packageName = "babylon-walk"; | ||
1126 | version = "1.0.2"; | ||
1127 | src = fetchurl { | ||
1128 | url = "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz"; | ||
1129 | sha1 = "3b15a5ddbb482a78b4ce9c01c8ba181702d9d6ce"; | ||
1130 | }; | ||
1131 | }; | ||
1132 | "balanced-match-1.0.0" = { | ||
1133 | name = "balanced-match"; | ||
1134 | packageName = "balanced-match"; | ||
1135 | version = "1.0.0"; | ||
1136 | src = fetchurl { | ||
1137 | url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"; | ||
1138 | sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; | ||
1139 | }; | ||
1140 | }; | ||
1141 | "base-0.11.2" = { | ||
1142 | name = "base"; | ||
1143 | packageName = "base"; | ||
1144 | version = "0.11.2"; | ||
1145 | src = fetchurl { | ||
1146 | url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz"; | ||
1147 | sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg=="; | ||
1148 | }; | ||
1149 | }; | ||
1150 | "base64-js-1.3.1" = { | ||
1151 | name = "base64-js"; | ||
1152 | packageName = "base64-js"; | ||
1153 | version = "1.3.1"; | ||
1154 | src = fetchurl { | ||
1155 | url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz"; | ||
1156 | sha512 = "mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="; | ||
1157 | }; | ||
1158 | }; | ||
1159 | "bcrypt-pbkdf-1.0.2" = { | ||
1160 | name = "bcrypt-pbkdf"; | ||
1161 | packageName = "bcrypt-pbkdf"; | ||
1162 | version = "1.0.2"; | ||
1163 | src = fetchurl { | ||
1164 | url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; | ||
1165 | sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; | ||
1166 | }; | ||
1167 | }; | ||
1168 | "binary-extensions-1.13.1" = { | ||
1169 | name = "binary-extensions"; | ||
1170 | packageName = "binary-extensions"; | ||
1171 | version = "1.13.1"; | ||
1172 | src = fetchurl { | ||
1173 | url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz"; | ||
1174 | sha512 = "Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw=="; | ||
1175 | }; | ||
1176 | }; | ||
1177 | "bindings-1.5.0" = { | ||
1178 | name = "bindings"; | ||
1179 | packageName = "bindings"; | ||
1180 | version = "1.5.0"; | ||
1181 | src = fetchurl { | ||
1182 | url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"; | ||
1183 | sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="; | ||
1184 | }; | ||
1185 | }; | ||
1186 | "bn.js-4.11.8" = { | ||
1187 | name = "bn.js"; | ||
1188 | packageName = "bn.js"; | ||
1189 | version = "4.11.8"; | ||
1190 | src = fetchurl { | ||
1191 | url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz"; | ||
1192 | sha512 = "ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="; | ||
1193 | }; | ||
1194 | }; | ||
1195 | "boolbase-1.0.0" = { | ||
1196 | name = "boolbase"; | ||
1197 | packageName = "boolbase"; | ||
1198 | version = "1.0.0"; | ||
1199 | src = fetchurl { | ||
1200 | url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"; | ||
1201 | sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; | ||
1202 | }; | ||
1203 | }; | ||
1204 | "brace-expansion-1.1.11" = { | ||
1205 | name = "brace-expansion"; | ||
1206 | packageName = "brace-expansion"; | ||
1207 | version = "1.1.11"; | ||
1208 | src = fetchurl { | ||
1209 | url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"; | ||
1210 | sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; | ||
1211 | }; | ||
1212 | }; | ||
1213 | "braces-2.3.2" = { | ||
1214 | name = "braces"; | ||
1215 | packageName = "braces"; | ||
1216 | version = "2.3.2"; | ||
1217 | src = fetchurl { | ||
1218 | url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz"; | ||
1219 | sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w=="; | ||
1220 | }; | ||
1221 | }; | ||
1222 | "brfs-1.6.1" = { | ||
1223 | name = "brfs"; | ||
1224 | packageName = "brfs"; | ||
1225 | version = "1.6.1"; | ||
1226 | src = fetchurl { | ||
1227 | url = "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz"; | ||
1228 | sha512 = "OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ=="; | ||
1229 | }; | ||
1230 | }; | ||
1231 | "brorand-1.1.0" = { | ||
1232 | name = "brorand"; | ||
1233 | packageName = "brorand"; | ||
1234 | version = "1.1.0"; | ||
1235 | src = fetchurl { | ||
1236 | url = "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"; | ||
1237 | sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; | ||
1238 | }; | ||
1239 | }; | ||
1240 | "browser-process-hrtime-1.0.0" = { | ||
1241 | name = "browser-process-hrtime"; | ||
1242 | packageName = "browser-process-hrtime"; | ||
1243 | version = "1.0.0"; | ||
1244 | src = fetchurl { | ||
1245 | url = "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz"; | ||
1246 | sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="; | ||
1247 | }; | ||
1248 | }; | ||
1249 | "browserify-aes-1.2.0" = { | ||
1250 | name = "browserify-aes"; | ||
1251 | packageName = "browserify-aes"; | ||
1252 | version = "1.2.0"; | ||
1253 | src = fetchurl { | ||
1254 | url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"; | ||
1255 | sha512 = "+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA=="; | ||
1256 | }; | ||
1257 | }; | ||
1258 | "browserify-cipher-1.0.1" = { | ||
1259 | name = "browserify-cipher"; | ||
1260 | packageName = "browserify-cipher"; | ||
1261 | version = "1.0.1"; | ||
1262 | src = fetchurl { | ||
1263 | url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; | ||
1264 | sha512 = "sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w=="; | ||
1265 | }; | ||
1266 | }; | ||
1267 | "browserify-des-1.0.2" = { | ||
1268 | name = "browserify-des"; | ||
1269 | packageName = "browserify-des"; | ||
1270 | version = "1.0.2"; | ||
1271 | src = fetchurl { | ||
1272 | url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz"; | ||
1273 | sha512 = "BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A=="; | ||
1274 | }; | ||
1275 | }; | ||
1276 | "browserify-rsa-4.0.1" = { | ||
1277 | name = "browserify-rsa"; | ||
1278 | packageName = "browserify-rsa"; | ||
1279 | version = "4.0.1"; | ||
1280 | src = fetchurl { | ||
1281 | url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz"; | ||
1282 | sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524"; | ||
1283 | }; | ||
1284 | }; | ||
1285 | "browserify-sign-4.0.4" = { | ||
1286 | name = "browserify-sign"; | ||
1287 | packageName = "browserify-sign"; | ||
1288 | version = "4.0.4"; | ||
1289 | src = fetchurl { | ||
1290 | url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz"; | ||
1291 | sha1 = "aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"; | ||
1292 | }; | ||
1293 | }; | ||
1294 | "browserify-zlib-0.2.0" = { | ||
1295 | name = "browserify-zlib"; | ||
1296 | packageName = "browserify-zlib"; | ||
1297 | version = "0.2.0"; | ||
1298 | src = fetchurl { | ||
1299 | url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; | ||
1300 | sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA=="; | ||
1301 | }; | ||
1302 | }; | ||
1303 | "browserslist-4.12.0" = { | ||
1304 | name = "browserslist"; | ||
1305 | packageName = "browserslist"; | ||
1306 | version = "4.12.0"; | ||
1307 | src = fetchurl { | ||
1308 | url = "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz"; | ||
1309 | sha512 = "UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg=="; | ||
1310 | }; | ||
1311 | }; | ||
1312 | "buffer-4.9.2" = { | ||
1313 | name = "buffer"; | ||
1314 | packageName = "buffer"; | ||
1315 | version = "4.9.2"; | ||
1316 | src = fetchurl { | ||
1317 | url = "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz"; | ||
1318 | sha512 = "xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg=="; | ||
1319 | }; | ||
1320 | }; | ||
1321 | "buffer-equal-0.0.1" = { | ||
1322 | name = "buffer-equal"; | ||
1323 | packageName = "buffer-equal"; | ||
1324 | version = "0.0.1"; | ||
1325 | src = fetchurl { | ||
1326 | url = "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz"; | ||
1327 | sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b"; | ||
1328 | }; | ||
1329 | }; | ||
1330 | "buffer-from-1.1.1" = { | ||
1331 | name = "buffer-from"; | ||
1332 | packageName = "buffer-from"; | ||
1333 | version = "1.1.1"; | ||
1334 | src = fetchurl { | ||
1335 | url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"; | ||
1336 | sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="; | ||
1337 | }; | ||
1338 | }; | ||
1339 | "buffer-xor-1.0.3" = { | ||
1340 | name = "buffer-xor"; | ||
1341 | packageName = "buffer-xor"; | ||
1342 | version = "1.0.3"; | ||
1343 | src = fetchurl { | ||
1344 | url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"; | ||
1345 | sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9"; | ||
1346 | }; | ||
1347 | }; | ||
1348 | "builtin-status-codes-3.0.0" = { | ||
1349 | name = "builtin-status-codes"; | ||
1350 | packageName = "builtin-status-codes"; | ||
1351 | version = "3.0.0"; | ||
1352 | src = fetchurl { | ||
1353 | url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; | ||
1354 | sha1 = "85982878e21b98e1c66425e03d0174788f569ee8"; | ||
1355 | }; | ||
1356 | }; | ||
1357 | "cache-base-1.0.1" = { | ||
1358 | name = "cache-base"; | ||
1359 | packageName = "cache-base"; | ||
1360 | version = "1.0.1"; | ||
1361 | src = fetchurl { | ||
1362 | url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz"; | ||
1363 | sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ=="; | ||
1364 | }; | ||
1365 | }; | ||
1366 | "call-me-maybe-1.0.1" = { | ||
1367 | name = "call-me-maybe"; | ||
1368 | packageName = "call-me-maybe"; | ||
1369 | version = "1.0.1"; | ||
1370 | src = fetchurl { | ||
1371 | url = "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz"; | ||
1372 | sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b"; | ||
1373 | }; | ||
1374 | }; | ||
1375 | "caller-callsite-2.0.0" = { | ||
1376 | name = "caller-callsite"; | ||
1377 | packageName = "caller-callsite"; | ||
1378 | version = "2.0.0"; | ||
1379 | src = fetchurl { | ||
1380 | url = "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz"; | ||
1381 | sha1 = "847e0fce0a223750a9a027c54b33731ad3154134"; | ||
1382 | }; | ||
1383 | }; | ||
1384 | "caller-path-2.0.0" = { | ||
1385 | name = "caller-path"; | ||
1386 | packageName = "caller-path"; | ||
1387 | version = "2.0.0"; | ||
1388 | src = fetchurl { | ||
1389 | url = "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz"; | ||
1390 | sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4"; | ||
1391 | }; | ||
1392 | }; | ||
1393 | "callsites-2.0.0" = { | ||
1394 | name = "callsites"; | ||
1395 | packageName = "callsites"; | ||
1396 | version = "2.0.0"; | ||
1397 | src = fetchurl { | ||
1398 | url = "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz"; | ||
1399 | sha1 = "06eb84f00eea413da86affefacbffb36093b3c50"; | ||
1400 | }; | ||
1401 | }; | ||
1402 | "camelcase-5.3.1" = { | ||
1403 | name = "camelcase"; | ||
1404 | packageName = "camelcase"; | ||
1405 | version = "5.3.1"; | ||
1406 | src = fetchurl { | ||
1407 | url = "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"; | ||
1408 | sha512 = "L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="; | ||
1409 | }; | ||
1410 | }; | ||
1411 | "caniuse-api-3.0.0" = { | ||
1412 | name = "caniuse-api"; | ||
1413 | packageName = "caniuse-api"; | ||
1414 | version = "3.0.0"; | ||
1415 | src = fetchurl { | ||
1416 | url = "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz"; | ||
1417 | sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw=="; | ||
1418 | }; | ||
1419 | }; | ||
1420 | "caniuse-lite-1.0.30001048" = { | ||
1421 | name = "caniuse-lite"; | ||
1422 | packageName = "caniuse-lite"; | ||
1423 | version = "1.0.30001048"; | ||
1424 | src = fetchurl { | ||
1425 | url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz"; | ||
1426 | sha512 = "g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg=="; | ||
1427 | }; | ||
1428 | }; | ||
1429 | "caseless-0.12.0" = { | ||
1430 | name = "caseless"; | ||
1431 | packageName = "caseless"; | ||
1432 | version = "0.12.0"; | ||
1433 | src = fetchurl { | ||
1434 | url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"; | ||
1435 | sha1 = "1b681c21ff84033c826543090689420d187151dc"; | ||
1436 | }; | ||
1437 | }; | ||
1438 | "chalk-1.1.3" = { | ||
1439 | name = "chalk"; | ||
1440 | packageName = "chalk"; | ||
1441 | version = "1.1.3"; | ||
1442 | src = fetchurl { | ||
1443 | url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"; | ||
1444 | sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; | ||
1445 | }; | ||
1446 | }; | ||
1447 | "chalk-2.4.2" = { | ||
1448 | name = "chalk"; | ||
1449 | packageName = "chalk"; | ||
1450 | version = "2.4.2"; | ||
1451 | src = fetchurl { | ||
1452 | url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"; | ||
1453 | sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; | ||
1454 | }; | ||
1455 | }; | ||
1456 | "chokidar-2.1.8" = { | ||
1457 | name = "chokidar"; | ||
1458 | packageName = "chokidar"; | ||
1459 | version = "2.1.8"; | ||
1460 | src = fetchurl { | ||
1461 | url = "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz"; | ||
1462 | sha512 = "ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg=="; | ||
1463 | }; | ||
1464 | }; | ||
1465 | "cipher-base-1.0.4" = { | ||
1466 | name = "cipher-base"; | ||
1467 | packageName = "cipher-base"; | ||
1468 | version = "1.0.4"; | ||
1469 | src = fetchurl { | ||
1470 | url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz"; | ||
1471 | sha512 = "Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q=="; | ||
1472 | }; | ||
1473 | }; | ||
1474 | "class-utils-0.3.6" = { | ||
1475 | name = "class-utils"; | ||
1476 | packageName = "class-utils"; | ||
1477 | version = "0.3.6"; | ||
1478 | src = fetchurl { | ||
1479 | url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz"; | ||
1480 | sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg=="; | ||
1481 | }; | ||
1482 | }; | ||
1483 | "cli-cursor-2.1.0" = { | ||
1484 | name = "cli-cursor"; | ||
1485 | packageName = "cli-cursor"; | ||
1486 | version = "2.1.0"; | ||
1487 | src = fetchurl { | ||
1488 | url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz"; | ||
1489 | sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; | ||
1490 | }; | ||
1491 | }; | ||
1492 | "cli-spinners-1.3.1" = { | ||
1493 | name = "cli-spinners"; | ||
1494 | packageName = "cli-spinners"; | ||
1495 | version = "1.3.1"; | ||
1496 | src = fetchurl { | ||
1497 | url = "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz"; | ||
1498 | sha512 = "1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg=="; | ||
1499 | }; | ||
1500 | }; | ||
1501 | "cliui-5.0.0" = { | ||
1502 | name = "cliui"; | ||
1503 | packageName = "cliui"; | ||
1504 | version = "5.0.0"; | ||
1505 | src = fetchurl { | ||
1506 | url = "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz"; | ||
1507 | sha512 = "PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA=="; | ||
1508 | }; | ||
1509 | }; | ||
1510 | "clone-1.0.4" = { | ||
1511 | name = "clone"; | ||
1512 | packageName = "clone"; | ||
1513 | version = "1.0.4"; | ||
1514 | src = fetchurl { | ||
1515 | url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"; | ||
1516 | sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; | ||
1517 | }; | ||
1518 | }; | ||
1519 | "clone-2.1.2" = { | ||
1520 | name = "clone"; | ||
1521 | packageName = "clone"; | ||
1522 | version = "2.1.2"; | ||
1523 | src = fetchurl { | ||
1524 | url = "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz"; | ||
1525 | sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f"; | ||
1526 | }; | ||
1527 | }; | ||
1528 | "clones-1.2.0" = { | ||
1529 | name = "clones"; | ||
1530 | packageName = "clones"; | ||
1531 | version = "1.2.0"; | ||
1532 | src = fetchurl { | ||
1533 | url = "https://registry.npmjs.org/clones/-/clones-1.2.0.tgz"; | ||
1534 | sha512 = "FXDYw4TjR8wgPZYui2LeTqWh1BLpfQ8lB6upMtlpDF6WlOOxghmTTxWyngdKTgozqBgKnHbTVwTE+hOHqAykuQ=="; | ||
1535 | }; | ||
1536 | }; | ||
1537 | "coa-2.0.2" = { | ||
1538 | name = "coa"; | ||
1539 | packageName = "coa"; | ||
1540 | version = "2.0.2"; | ||
1541 | src = fetchurl { | ||
1542 | url = "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz"; | ||
1543 | sha512 = "q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA=="; | ||
1544 | }; | ||
1545 | }; | ||
1546 | "collection-visit-1.0.0" = { | ||
1547 | name = "collection-visit"; | ||
1548 | packageName = "collection-visit"; | ||
1549 | version = "1.0.0"; | ||
1550 | src = fetchurl { | ||
1551 | url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz"; | ||
1552 | sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; | ||
1553 | }; | ||
1554 | }; | ||
1555 | "color-3.1.2" = { | ||
1556 | name = "color"; | ||
1557 | packageName = "color"; | ||
1558 | version = "3.1.2"; | ||
1559 | src = fetchurl { | ||
1560 | url = "https://registry.npmjs.org/color/-/color-3.1.2.tgz"; | ||
1561 | sha512 = "vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg=="; | ||
1562 | }; | ||
1563 | }; | ||
1564 | "color-convert-1.9.3" = { | ||
1565 | name = "color-convert"; | ||
1566 | packageName = "color-convert"; | ||
1567 | version = "1.9.3"; | ||
1568 | src = fetchurl { | ||
1569 | url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"; | ||
1570 | sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; | ||
1571 | }; | ||
1572 | }; | ||
1573 | "color-name-1.1.3" = { | ||
1574 | name = "color-name"; | ||
1575 | packageName = "color-name"; | ||
1576 | version = "1.1.3"; | ||
1577 | src = fetchurl { | ||
1578 | url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; | ||
1579 | sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; | ||
1580 | }; | ||
1581 | }; | ||
1582 | "color-string-1.5.3" = { | ||
1583 | name = "color-string"; | ||
1584 | packageName = "color-string"; | ||
1585 | version = "1.5.3"; | ||
1586 | src = fetchurl { | ||
1587 | url = "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz"; | ||
1588 | sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw=="; | ||
1589 | }; | ||
1590 | }; | ||
1591 | "combined-stream-1.0.8" = { | ||
1592 | name = "combined-stream"; | ||
1593 | packageName = "combined-stream"; | ||
1594 | version = "1.0.8"; | ||
1595 | src = fetchurl { | ||
1596 | url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"; | ||
1597 | sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; | ||
1598 | }; | ||
1599 | }; | ||
1600 | "command-exists-1.2.9" = { | ||
1601 | name = "command-exists"; | ||
1602 | packageName = "command-exists"; | ||
1603 | version = "1.2.9"; | ||
1604 | src = fetchurl { | ||
1605 | url = "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz"; | ||
1606 | sha512 = "LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="; | ||
1607 | }; | ||
1608 | }; | ||
1609 | "commander-2.20.3" = { | ||
1610 | name = "commander"; | ||
1611 | packageName = "commander"; | ||
1612 | version = "2.20.3"; | ||
1613 | src = fetchurl { | ||
1614 | url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"; | ||
1615 | sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="; | ||
1616 | }; | ||
1617 | }; | ||
1618 | "component-emitter-1.3.0" = { | ||
1619 | name = "component-emitter"; | ||
1620 | packageName = "component-emitter"; | ||
1621 | version = "1.3.0"; | ||
1622 | src = fetchurl { | ||
1623 | url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz"; | ||
1624 | sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="; | ||
1625 | }; | ||
1626 | }; | ||
1627 | "concat-map-0.0.1" = { | ||
1628 | name = "concat-map"; | ||
1629 | packageName = "concat-map"; | ||
1630 | version = "0.0.1"; | ||
1631 | src = fetchurl { | ||
1632 | url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; | ||
1633 | sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; | ||
1634 | }; | ||
1635 | }; | ||
1636 | "concat-stream-1.6.2" = { | ||
1637 | name = "concat-stream"; | ||
1638 | packageName = "concat-stream"; | ||
1639 | version = "1.6.2"; | ||
1640 | src = fetchurl { | ||
1641 | url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"; | ||
1642 | sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="; | ||
1643 | }; | ||
1644 | }; | ||
1645 | "config-chain-1.1.12" = { | ||
1646 | name = "config-chain"; | ||
1647 | packageName = "config-chain"; | ||
1648 | version = "1.1.12"; | ||
1649 | src = fetchurl { | ||
1650 | url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz"; | ||
1651 | sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA=="; | ||
1652 | }; | ||
1653 | }; | ||
1654 | "console-browserify-1.2.0" = { | ||
1655 | name = "console-browserify"; | ||
1656 | packageName = "console-browserify"; | ||
1657 | version = "1.2.0"; | ||
1658 | src = fetchurl { | ||
1659 | url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz"; | ||
1660 | sha512 = "ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="; | ||
1661 | }; | ||
1662 | }; | ||
1663 | "constants-browserify-1.0.0" = { | ||
1664 | name = "constants-browserify"; | ||
1665 | packageName = "constants-browserify"; | ||
1666 | version = "1.0.0"; | ||
1667 | src = fetchurl { | ||
1668 | url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"; | ||
1669 | sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75"; | ||
1670 | }; | ||
1671 | }; | ||
1672 | "convert-source-map-1.7.0" = { | ||
1673 | name = "convert-source-map"; | ||
1674 | packageName = "convert-source-map"; | ||
1675 | version = "1.7.0"; | ||
1676 | src = fetchurl { | ||
1677 | url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"; | ||
1678 | sha512 = "4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA=="; | ||
1679 | }; | ||
1680 | }; | ||
1681 | "copy-descriptor-0.1.1" = { | ||
1682 | name = "copy-descriptor"; | ||
1683 | packageName = "copy-descriptor"; | ||
1684 | version = "0.1.1"; | ||
1685 | src = fetchurl { | ||
1686 | url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; | ||
1687 | sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; | ||
1688 | }; | ||
1689 | }; | ||
1690 | "core-js-2.6.11" = { | ||
1691 | name = "core-js"; | ||
1692 | packageName = "core-js"; | ||
1693 | version = "2.6.11"; | ||
1694 | src = fetchurl { | ||
1695 | url = "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz"; | ||
1696 | sha512 = "5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="; | ||
1697 | }; | ||
1698 | }; | ||
1699 | "core-util-is-1.0.2" = { | ||
1700 | name = "core-util-is"; | ||
1701 | packageName = "core-util-is"; | ||
1702 | version = "1.0.2"; | ||
1703 | src = fetchurl { | ||
1704 | url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; | ||
1705 | sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; | ||
1706 | }; | ||
1707 | }; | ||
1708 | "cosmiconfig-5.2.1" = { | ||
1709 | name = "cosmiconfig"; | ||
1710 | packageName = "cosmiconfig"; | ||
1711 | version = "5.2.1"; | ||
1712 | src = fetchurl { | ||
1713 | url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz"; | ||
1714 | sha512 = "H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA=="; | ||
1715 | }; | ||
1716 | }; | ||
1717 | "create-ecdh-4.0.3" = { | ||
1718 | name = "create-ecdh"; | ||
1719 | packageName = "create-ecdh"; | ||
1720 | version = "4.0.3"; | ||
1721 | src = fetchurl { | ||
1722 | url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz"; | ||
1723 | sha512 = "GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw=="; | ||
1724 | }; | ||
1725 | }; | ||
1726 | "create-hash-1.2.0" = { | ||
1727 | name = "create-hash"; | ||
1728 | packageName = "create-hash"; | ||
1729 | version = "1.2.0"; | ||
1730 | src = fetchurl { | ||
1731 | url = "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"; | ||
1732 | sha512 = "z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg=="; | ||
1733 | }; | ||
1734 | }; | ||
1735 | "create-hmac-1.1.7" = { | ||
1736 | name = "create-hmac"; | ||
1737 | packageName = "create-hmac"; | ||
1738 | version = "1.1.7"; | ||
1739 | src = fetchurl { | ||
1740 | url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"; | ||
1741 | sha512 = "MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg=="; | ||
1742 | }; | ||
1743 | }; | ||
1744 | "cross-spawn-6.0.5" = { | ||
1745 | name = "cross-spawn"; | ||
1746 | packageName = "cross-spawn"; | ||
1747 | version = "6.0.5"; | ||
1748 | src = fetchurl { | ||
1749 | url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"; | ||
1750 | sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="; | ||
1751 | }; | ||
1752 | }; | ||
1753 | "crypto-browserify-3.12.0" = { | ||
1754 | name = "crypto-browserify"; | ||
1755 | packageName = "crypto-browserify"; | ||
1756 | version = "3.12.0"; | ||
1757 | src = fetchurl { | ||
1758 | url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; | ||
1759 | sha512 = "fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg=="; | ||
1760 | }; | ||
1761 | }; | ||
1762 | "css-color-names-0.0.4" = { | ||
1763 | name = "css-color-names"; | ||
1764 | packageName = "css-color-names"; | ||
1765 | version = "0.0.4"; | ||
1766 | src = fetchurl { | ||
1767 | url = "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz"; | ||
1768 | sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0"; | ||
1769 | }; | ||
1770 | }; | ||
1771 | "css-declaration-sorter-4.0.1" = { | ||
1772 | name = "css-declaration-sorter"; | ||
1773 | packageName = "css-declaration-sorter"; | ||
1774 | version = "4.0.1"; | ||
1775 | src = fetchurl { | ||
1776 | url = "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz"; | ||
1777 | sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA=="; | ||
1778 | }; | ||
1779 | }; | ||
1780 | "css-modules-loader-core-1.1.0" = { | ||
1781 | name = "css-modules-loader-core"; | ||
1782 | packageName = "css-modules-loader-core"; | ||
1783 | version = "1.1.0"; | ||
1784 | src = fetchurl { | ||
1785 | url = "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz"; | ||
1786 | sha1 = "5908668294a1becd261ae0a4ce21b0b551f21d16"; | ||
1787 | }; | ||
1788 | }; | ||
1789 | "css-select-2.1.0" = { | ||
1790 | name = "css-select"; | ||
1791 | packageName = "css-select"; | ||
1792 | version = "2.1.0"; | ||
1793 | src = fetchurl { | ||
1794 | url = "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz"; | ||
1795 | sha512 = "Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ=="; | ||
1796 | }; | ||
1797 | }; | ||
1798 | "css-select-base-adapter-0.1.1" = { | ||
1799 | name = "css-select-base-adapter"; | ||
1800 | packageName = "css-select-base-adapter"; | ||
1801 | version = "0.1.1"; | ||
1802 | src = fetchurl { | ||
1803 | url = "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz"; | ||
1804 | sha512 = "jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w=="; | ||
1805 | }; | ||
1806 | }; | ||
1807 | "css-selector-tokenizer-0.7.2" = { | ||
1808 | name = "css-selector-tokenizer"; | ||
1809 | packageName = "css-selector-tokenizer"; | ||
1810 | version = "0.7.2"; | ||
1811 | src = fetchurl { | ||
1812 | url = "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz"; | ||
1813 | sha512 = "yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw=="; | ||
1814 | }; | ||
1815 | }; | ||
1816 | "css-tree-1.0.0-alpha.37" = { | ||
1817 | name = "css-tree"; | ||
1818 | packageName = "css-tree"; | ||
1819 | version = "1.0.0-alpha.37"; | ||
1820 | src = fetchurl { | ||
1821 | url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz"; | ||
1822 | sha512 = "DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg=="; | ||
1823 | }; | ||
1824 | }; | ||
1825 | "css-tree-1.0.0-alpha.39" = { | ||
1826 | name = "css-tree"; | ||
1827 | packageName = "css-tree"; | ||
1828 | version = "1.0.0-alpha.39"; | ||
1829 | src = fetchurl { | ||
1830 | url = "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz"; | ||
1831 | sha512 = "7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA=="; | ||
1832 | }; | ||
1833 | }; | ||
1834 | "css-what-3.2.1" = { | ||
1835 | name = "css-what"; | ||
1836 | packageName = "css-what"; | ||
1837 | version = "3.2.1"; | ||
1838 | src = fetchurl { | ||
1839 | url = "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz"; | ||
1840 | sha512 = "WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw=="; | ||
1841 | }; | ||
1842 | }; | ||
1843 | "cssesc-3.0.0" = { | ||
1844 | name = "cssesc"; | ||
1845 | packageName = "cssesc"; | ||
1846 | version = "3.0.0"; | ||
1847 | src = fetchurl { | ||
1848 | url = "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"; | ||
1849 | sha512 = "/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="; | ||
1850 | }; | ||
1851 | }; | ||
1852 | "cssnano-4.1.10" = { | ||
1853 | name = "cssnano"; | ||
1854 | packageName = "cssnano"; | ||
1855 | version = "4.1.10"; | ||
1856 | src = fetchurl { | ||
1857 | url = "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz"; | ||
1858 | sha512 = "5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ=="; | ||
1859 | }; | ||
1860 | }; | ||
1861 | "cssnano-preset-default-4.0.7" = { | ||
1862 | name = "cssnano-preset-default"; | ||
1863 | packageName = "cssnano-preset-default"; | ||
1864 | version = "4.0.7"; | ||
1865 | src = fetchurl { | ||
1866 | url = "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz"; | ||
1867 | sha512 = "x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA=="; | ||
1868 | }; | ||
1869 | }; | ||
1870 | "cssnano-util-get-arguments-4.0.0" = { | ||
1871 | name = "cssnano-util-get-arguments"; | ||
1872 | packageName = "cssnano-util-get-arguments"; | ||
1873 | version = "4.0.0"; | ||
1874 | src = fetchurl { | ||
1875 | url = "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz"; | ||
1876 | sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f"; | ||
1877 | }; | ||
1878 | }; | ||
1879 | "cssnano-util-get-match-4.0.0" = { | ||
1880 | name = "cssnano-util-get-match"; | ||
1881 | packageName = "cssnano-util-get-match"; | ||
1882 | version = "4.0.0"; | ||
1883 | src = fetchurl { | ||
1884 | url = "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz"; | ||
1885 | sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d"; | ||
1886 | }; | ||
1887 | }; | ||
1888 | "cssnano-util-raw-cache-4.0.1" = { | ||
1889 | name = "cssnano-util-raw-cache"; | ||
1890 | packageName = "cssnano-util-raw-cache"; | ||
1891 | version = "4.0.1"; | ||
1892 | src = fetchurl { | ||
1893 | url = "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz"; | ||
1894 | sha512 = "qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA=="; | ||
1895 | }; | ||
1896 | }; | ||
1897 | "cssnano-util-same-parent-4.0.1" = { | ||
1898 | name = "cssnano-util-same-parent"; | ||
1899 | packageName = "cssnano-util-same-parent"; | ||
1900 | version = "4.0.1"; | ||
1901 | src = fetchurl { | ||
1902 | url = "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz"; | ||
1903 | sha512 = "WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q=="; | ||
1904 | }; | ||
1905 | }; | ||
1906 | "csso-4.0.3" = { | ||
1907 | name = "csso"; | ||
1908 | packageName = "csso"; | ||
1909 | version = "4.0.3"; | ||
1910 | src = fetchurl { | ||
1911 | url = "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz"; | ||
1912 | sha512 = "NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ=="; | ||
1913 | }; | ||
1914 | }; | ||
1915 | "cssom-0.3.8" = { | ||
1916 | name = "cssom"; | ||
1917 | packageName = "cssom"; | ||
1918 | version = "0.3.8"; | ||
1919 | src = fetchurl { | ||
1920 | url = "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz"; | ||
1921 | sha512 = "b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="; | ||
1922 | }; | ||
1923 | }; | ||
1924 | "cssstyle-1.4.0" = { | ||
1925 | name = "cssstyle"; | ||
1926 | packageName = "cssstyle"; | ||
1927 | version = "1.4.0"; | ||
1928 | src = fetchurl { | ||
1929 | url = "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz"; | ||
1930 | sha512 = "GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA=="; | ||
1931 | }; | ||
1932 | }; | ||
1933 | "dashdash-1.14.1" = { | ||
1934 | name = "dashdash"; | ||
1935 | packageName = "dashdash"; | ||
1936 | version = "1.14.1"; | ||
1937 | src = fetchurl { | ||
1938 | url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; | ||
1939 | sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; | ||
1940 | }; | ||
1941 | }; | ||
1942 | "data-urls-1.1.0" = { | ||
1943 | name = "data-urls"; | ||
1944 | packageName = "data-urls"; | ||
1945 | version = "1.1.0"; | ||
1946 | src = fetchurl { | ||
1947 | url = "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz"; | ||
1948 | sha512 = "YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ=="; | ||
1949 | }; | ||
1950 | }; | ||
1951 | "deasync-0.1.19" = { | ||
1952 | name = "deasync"; | ||
1953 | packageName = "deasync"; | ||
1954 | version = "0.1.19"; | ||
1955 | src = fetchurl { | ||
1956 | url = "https://registry.npmjs.org/deasync/-/deasync-0.1.19.tgz"; | ||
1957 | sha512 = "oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg=="; | ||
1958 | }; | ||
1959 | }; | ||
1960 | "debug-2.6.9" = { | ||
1961 | name = "debug"; | ||
1962 | packageName = "debug"; | ||
1963 | version = "2.6.9"; | ||
1964 | src = fetchurl { | ||
1965 | url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"; | ||
1966 | sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="; | ||
1967 | }; | ||
1968 | }; | ||
1969 | "debug-4.1.1" = { | ||
1970 | name = "debug"; | ||
1971 | packageName = "debug"; | ||
1972 | version = "4.1.1"; | ||
1973 | src = fetchurl { | ||
1974 | url = "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz"; | ||
1975 | sha512 = "pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw=="; | ||
1976 | }; | ||
1977 | }; | ||
1978 | "decamelize-1.2.0" = { | ||
1979 | name = "decamelize"; | ||
1980 | packageName = "decamelize"; | ||
1981 | version = "1.2.0"; | ||
1982 | src = fetchurl { | ||
1983 | url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz"; | ||
1984 | sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; | ||
1985 | }; | ||
1986 | }; | ||
1987 | "decode-uri-component-0.2.0" = { | ||
1988 | name = "decode-uri-component"; | ||
1989 | packageName = "decode-uri-component"; | ||
1990 | version = "0.2.0"; | ||
1991 | src = fetchurl { | ||
1992 | url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; | ||
1993 | sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; | ||
1994 | }; | ||
1995 | }; | ||
1996 | "deep-is-0.1.3" = { | ||
1997 | name = "deep-is"; | ||
1998 | packageName = "deep-is"; | ||
1999 | version = "0.1.3"; | ||
2000 | src = fetchurl { | ||
2001 | url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"; | ||
2002 | sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; | ||
2003 | }; | ||
2004 | }; | ||
2005 | "defaults-1.0.3" = { | ||
2006 | name = "defaults"; | ||
2007 | packageName = "defaults"; | ||
2008 | version = "1.0.3"; | ||
2009 | src = fetchurl { | ||
2010 | url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz"; | ||
2011 | sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; | ||
2012 | }; | ||
2013 | }; | ||
2014 | "define-properties-1.1.3" = { | ||
2015 | name = "define-properties"; | ||
2016 | packageName = "define-properties"; | ||
2017 | version = "1.1.3"; | ||
2018 | src = fetchurl { | ||
2019 | url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"; | ||
2020 | sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="; | ||
2021 | }; | ||
2022 | }; | ||
2023 | "define-property-0.2.5" = { | ||
2024 | name = "define-property"; | ||
2025 | packageName = "define-property"; | ||
2026 | version = "0.2.5"; | ||
2027 | src = fetchurl { | ||
2028 | url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz"; | ||
2029 | sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; | ||
2030 | }; | ||
2031 | }; | ||
2032 | "define-property-1.0.0" = { | ||
2033 | name = "define-property"; | ||
2034 | packageName = "define-property"; | ||
2035 | version = "1.0.0"; | ||
2036 | src = fetchurl { | ||
2037 | url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz"; | ||
2038 | sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; | ||
2039 | }; | ||
2040 | }; | ||
2041 | "define-property-2.0.2" = { | ||
2042 | name = "define-property"; | ||
2043 | packageName = "define-property"; | ||
2044 | version = "2.0.2"; | ||
2045 | src = fetchurl { | ||
2046 | url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz"; | ||
2047 | sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ=="; | ||
2048 | }; | ||
2049 | }; | ||
2050 | "delayed-stream-1.0.0" = { | ||
2051 | name = "delayed-stream"; | ||
2052 | packageName = "delayed-stream"; | ||
2053 | version = "1.0.0"; | ||
2054 | src = fetchurl { | ||
2055 | url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; | ||
2056 | sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; | ||
2057 | }; | ||
2058 | }; | ||
2059 | "depd-1.1.2" = { | ||
2060 | name = "depd"; | ||
2061 | packageName = "depd"; | ||
2062 | version = "1.1.2"; | ||
2063 | src = fetchurl { | ||
2064 | url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"; | ||
2065 | sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; | ||
2066 | }; | ||
2067 | }; | ||
2068 | "des.js-1.0.1" = { | ||
2069 | name = "des.js"; | ||
2070 | packageName = "des.js"; | ||
2071 | version = "1.0.1"; | ||
2072 | src = fetchurl { | ||
2073 | url = "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz"; | ||
2074 | sha512 = "Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA=="; | ||
2075 | }; | ||
2076 | }; | ||
2077 | "destroy-1.0.4" = { | ||
2078 | name = "destroy"; | ||
2079 | packageName = "destroy"; | ||
2080 | version = "1.0.4"; | ||
2081 | src = fetchurl { | ||
2082 | url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"; | ||
2083 | sha1 = "978857442c44749e4206613e37946205826abd80"; | ||
2084 | }; | ||
2085 | }; | ||
2086 | "diffie-hellman-5.0.3" = { | ||
2087 | name = "diffie-hellman"; | ||
2088 | packageName = "diffie-hellman"; | ||
2089 | version = "5.0.3"; | ||
2090 | src = fetchurl { | ||
2091 | url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; | ||
2092 | sha512 = "kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg=="; | ||
2093 | }; | ||
2094 | }; | ||
2095 | "dom-serializer-0.2.2" = { | ||
2096 | name = "dom-serializer"; | ||
2097 | packageName = "dom-serializer"; | ||
2098 | version = "0.2.2"; | ||
2099 | src = fetchurl { | ||
2100 | url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz"; | ||
2101 | sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g=="; | ||
2102 | }; | ||
2103 | }; | ||
2104 | "domain-browser-1.2.0" = { | ||
2105 | name = "domain-browser"; | ||
2106 | packageName = "domain-browser"; | ||
2107 | version = "1.2.0"; | ||
2108 | src = fetchurl { | ||
2109 | url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"; | ||
2110 | sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="; | ||
2111 | }; | ||
2112 | }; | ||
2113 | "domelementtype-1.3.1" = { | ||
2114 | name = "domelementtype"; | ||
2115 | packageName = "domelementtype"; | ||
2116 | version = "1.3.1"; | ||
2117 | src = fetchurl { | ||
2118 | url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz"; | ||
2119 | sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="; | ||
2120 | }; | ||
2121 | }; | ||
2122 | "domelementtype-2.0.1" = { | ||
2123 | name = "domelementtype"; | ||
2124 | packageName = "domelementtype"; | ||
2125 | version = "2.0.1"; | ||
2126 | src = fetchurl { | ||
2127 | url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz"; | ||
2128 | sha512 = "5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ=="; | ||
2129 | }; | ||
2130 | }; | ||
2131 | "domexception-1.0.1" = { | ||
2132 | name = "domexception"; | ||
2133 | packageName = "domexception"; | ||
2134 | version = "1.0.1"; | ||
2135 | src = fetchurl { | ||
2136 | url = "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz"; | ||
2137 | sha512 = "raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug=="; | ||
2138 | }; | ||
2139 | }; | ||
2140 | "domhandler-2.4.2" = { | ||
2141 | name = "domhandler"; | ||
2142 | packageName = "domhandler"; | ||
2143 | version = "2.4.2"; | ||
2144 | src = fetchurl { | ||
2145 | url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz"; | ||
2146 | sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA=="; | ||
2147 | }; | ||
2148 | }; | ||
2149 | "domutils-1.7.0" = { | ||
2150 | name = "domutils"; | ||
2151 | packageName = "domutils"; | ||
2152 | version = "1.7.0"; | ||
2153 | src = fetchurl { | ||
2154 | url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz"; | ||
2155 | sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg=="; | ||
2156 | }; | ||
2157 | }; | ||
2158 | "dot-prop-5.2.0" = { | ||
2159 | name = "dot-prop"; | ||
2160 | packageName = "dot-prop"; | ||
2161 | version = "5.2.0"; | ||
2162 | src = fetchurl { | ||
2163 | url = "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz"; | ||
2164 | sha512 = "uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A=="; | ||
2165 | }; | ||
2166 | }; | ||
2167 | "dotenv-5.0.1" = { | ||
2168 | name = "dotenv"; | ||
2169 | packageName = "dotenv"; | ||
2170 | version = "5.0.1"; | ||
2171 | src = fetchurl { | ||
2172 | url = "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz"; | ||
2173 | sha512 = "4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow=="; | ||
2174 | }; | ||
2175 | }; | ||
2176 | "dotenv-expand-4.2.0" = { | ||
2177 | name = "dotenv-expand"; | ||
2178 | packageName = "dotenv-expand"; | ||
2179 | version = "4.2.0"; | ||
2180 | src = fetchurl { | ||
2181 | url = "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz"; | ||
2182 | sha1 = "def1f1ca5d6059d24a766e587942c21106ce1275"; | ||
2183 | }; | ||
2184 | }; | ||
2185 | "duplexer2-0.1.4" = { | ||
2186 | name = "duplexer2"; | ||
2187 | packageName = "duplexer2"; | ||
2188 | version = "0.1.4"; | ||
2189 | src = fetchurl { | ||
2190 | url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"; | ||
2191 | sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1"; | ||
2192 | }; | ||
2193 | }; | ||
2194 | "ecc-jsbn-0.1.2" = { | ||
2195 | name = "ecc-jsbn"; | ||
2196 | packageName = "ecc-jsbn"; | ||
2197 | version = "0.1.2"; | ||
2198 | src = fetchurl { | ||
2199 | url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; | ||
2200 | sha1 = "3a83a904e54353287874c564b7549386849a98c9"; | ||
2201 | }; | ||
2202 | }; | ||
2203 | "editorconfig-0.15.3" = { | ||
2204 | name = "editorconfig"; | ||
2205 | packageName = "editorconfig"; | ||
2206 | version = "0.15.3"; | ||
2207 | src = fetchurl { | ||
2208 | url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz"; | ||
2209 | sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g=="; | ||
2210 | }; | ||
2211 | }; | ||
2212 | "ee-first-1.1.1" = { | ||
2213 | name = "ee-first"; | ||
2214 | packageName = "ee-first"; | ||
2215 | version = "1.1.1"; | ||
2216 | src = fetchurl { | ||
2217 | url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"; | ||
2218 | sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; | ||
2219 | }; | ||
2220 | }; | ||
2221 | "electron-to-chromium-1.3.418" = { | ||
2222 | name = "electron-to-chromium"; | ||
2223 | packageName = "electron-to-chromium"; | ||
2224 | version = "1.3.418"; | ||
2225 | src = fetchurl { | ||
2226 | url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.418.tgz"; | ||
2227 | sha512 = "i2QrQtHes5fK/F9QGG5XacM5WKEuR322fxTYF9e8O9Gu0mc0WmjjwGpV8c7Htso6Zf2Di18lc3SIPxmMeRFBug=="; | ||
2228 | }; | ||
2229 | }; | ||
2230 | "elliptic-6.5.2" = { | ||
2231 | name = "elliptic"; | ||
2232 | packageName = "elliptic"; | ||
2233 | version = "6.5.2"; | ||
2234 | src = fetchurl { | ||
2235 | url = "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz"; | ||
2236 | sha512 = "f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw=="; | ||
2237 | }; | ||
2238 | }; | ||
2239 | "elm-hot-1.1.1" = { | ||
2240 | name = "elm-hot"; | ||
2241 | packageName = "elm-hot"; | ||
2242 | version = "1.1.1"; | ||
2243 | src = fetchurl { | ||
2244 | url = "https://registry.npmjs.org/elm-hot/-/elm-hot-1.1.1.tgz"; | ||
2245 | sha512 = "ZHjoHd2Ev6riNXNQirj3J+GKKXXwedAUikfFBYzlVL/+3CdGs96cpZ7nhAk4c5l//Qa9ymltrqX36mOlr0pPFA=="; | ||
2246 | }; | ||
2247 | }; | ||
2248 | "emoji-regex-7.0.3" = { | ||
2249 | name = "emoji-regex"; | ||
2250 | packageName = "emoji-regex"; | ||
2251 | version = "7.0.3"; | ||
2252 | src = fetchurl { | ||
2253 | url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"; | ||
2254 | sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; | ||
2255 | }; | ||
2256 | }; | ||
2257 | "encodeurl-1.0.2" = { | ||
2258 | name = "encodeurl"; | ||
2259 | packageName = "encodeurl"; | ||
2260 | version = "1.0.2"; | ||
2261 | src = fetchurl { | ||
2262 | url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"; | ||
2263 | sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; | ||
2264 | }; | ||
2265 | }; | ||
2266 | "entities-1.1.2" = { | ||
2267 | name = "entities"; | ||
2268 | packageName = "entities"; | ||
2269 | version = "1.1.2"; | ||
2270 | src = fetchurl { | ||
2271 | url = "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz"; | ||
2272 | sha512 = "f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="; | ||
2273 | }; | ||
2274 | }; | ||
2275 | "entities-2.0.0" = { | ||
2276 | name = "entities"; | ||
2277 | packageName = "entities"; | ||
2278 | version = "2.0.0"; | ||
2279 | src = fetchurl { | ||
2280 | url = "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz"; | ||
2281 | sha512 = "D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw=="; | ||
2282 | }; | ||
2283 | }; | ||
2284 | "error-ex-1.3.2" = { | ||
2285 | name = "error-ex"; | ||
2286 | packageName = "error-ex"; | ||
2287 | version = "1.3.2"; | ||
2288 | src = fetchurl { | ||
2289 | url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"; | ||
2290 | sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g=="; | ||
2291 | }; | ||
2292 | }; | ||
2293 | "es-abstract-1.17.5" = { | ||
2294 | name = "es-abstract"; | ||
2295 | packageName = "es-abstract"; | ||
2296 | version = "1.17.5"; | ||
2297 | src = fetchurl { | ||
2298 | url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz"; | ||
2299 | sha512 = "BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg=="; | ||
2300 | }; | ||
2301 | }; | ||
2302 | "es-to-primitive-1.2.1" = { | ||
2303 | name = "es-to-primitive"; | ||
2304 | packageName = "es-to-primitive"; | ||
2305 | version = "1.2.1"; | ||
2306 | src = fetchurl { | ||
2307 | url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"; | ||
2308 | sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="; | ||
2309 | }; | ||
2310 | }; | ||
2311 | "escape-html-1.0.3" = { | ||
2312 | name = "escape-html"; | ||
2313 | packageName = "escape-html"; | ||
2314 | version = "1.0.3"; | ||
2315 | src = fetchurl { | ||
2316 | url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"; | ||
2317 | sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; | ||
2318 | }; | ||
2319 | }; | ||
2320 | "escape-string-regexp-1.0.5" = { | ||
2321 | name = "escape-string-regexp"; | ||
2322 | packageName = "escape-string-regexp"; | ||
2323 | version = "1.0.5"; | ||
2324 | src = fetchurl { | ||
2325 | url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; | ||
2326 | sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; | ||
2327 | }; | ||
2328 | }; | ||
2329 | "escodegen-1.14.1" = { | ||
2330 | name = "escodegen"; | ||
2331 | packageName = "escodegen"; | ||
2332 | version = "1.14.1"; | ||
2333 | src = fetchurl { | ||
2334 | url = "https://registry.npmjs.org/escodegen/-/escodegen-1.14.1.tgz"; | ||
2335 | sha512 = "Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ=="; | ||
2336 | }; | ||
2337 | }; | ||
2338 | "escodegen-1.9.1" = { | ||
2339 | name = "escodegen"; | ||
2340 | packageName = "escodegen"; | ||
2341 | version = "1.9.1"; | ||
2342 | src = fetchurl { | ||
2343 | url = "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz"; | ||
2344 | sha512 = "6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q=="; | ||
2345 | }; | ||
2346 | }; | ||
2347 | "esprima-3.1.3" = { | ||
2348 | name = "esprima"; | ||
2349 | packageName = "esprima"; | ||
2350 | version = "3.1.3"; | ||
2351 | src = fetchurl { | ||
2352 | url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz"; | ||
2353 | sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633"; | ||
2354 | }; | ||
2355 | }; | ||
2356 | "esprima-4.0.1" = { | ||
2357 | name = "esprima"; | ||
2358 | packageName = "esprima"; | ||
2359 | version = "4.0.1"; | ||
2360 | src = fetchurl { | ||
2361 | url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; | ||
2362 | sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; | ||
2363 | }; | ||
2364 | }; | ||
2365 | "estraverse-4.3.0" = { | ||
2366 | name = "estraverse"; | ||
2367 | packageName = "estraverse"; | ||
2368 | version = "4.3.0"; | ||
2369 | src = fetchurl { | ||
2370 | url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"; | ||
2371 | sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="; | ||
2372 | }; | ||
2373 | }; | ||
2374 | "esutils-2.0.3" = { | ||
2375 | name = "esutils"; | ||
2376 | packageName = "esutils"; | ||
2377 | version = "2.0.3"; | ||
2378 | src = fetchurl { | ||
2379 | url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"; | ||
2380 | sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="; | ||
2381 | }; | ||
2382 | }; | ||
2383 | "etag-1.8.1" = { | ||
2384 | name = "etag"; | ||
2385 | packageName = "etag"; | ||
2386 | version = "1.8.1"; | ||
2387 | src = fetchurl { | ||
2388 | url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"; | ||
2389 | sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; | ||
2390 | }; | ||
2391 | }; | ||
2392 | "events-3.1.0" = { | ||
2393 | name = "events"; | ||
2394 | packageName = "events"; | ||
2395 | version = "3.1.0"; | ||
2396 | src = fetchurl { | ||
2397 | url = "https://registry.npmjs.org/events/-/events-3.1.0.tgz"; | ||
2398 | sha512 = "Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg=="; | ||
2399 | }; | ||
2400 | }; | ||
2401 | "evp_bytestokey-1.0.3" = { | ||
2402 | name = "evp_bytestokey"; | ||
2403 | packageName = "evp_bytestokey"; | ||
2404 | version = "1.0.3"; | ||
2405 | src = fetchurl { | ||
2406 | url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; | ||
2407 | sha512 = "/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="; | ||
2408 | }; | ||
2409 | }; | ||
2410 | "expand-brackets-2.1.4" = { | ||
2411 | name = "expand-brackets"; | ||
2412 | packageName = "expand-brackets"; | ||
2413 | version = "2.1.4"; | ||
2414 | src = fetchurl { | ||
2415 | url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz"; | ||
2416 | sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; | ||
2417 | }; | ||
2418 | }; | ||
2419 | "extend-3.0.2" = { | ||
2420 | name = "extend"; | ||
2421 | packageName = "extend"; | ||
2422 | version = "3.0.2"; | ||
2423 | src = fetchurl { | ||
2424 | url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"; | ||
2425 | sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="; | ||
2426 | }; | ||
2427 | }; | ||
2428 | "extend-shallow-2.0.1" = { | ||
2429 | name = "extend-shallow"; | ||
2430 | packageName = "extend-shallow"; | ||
2431 | version = "2.0.1"; | ||
2432 | src = fetchurl { | ||
2433 | url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz"; | ||
2434 | sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; | ||
2435 | }; | ||
2436 | }; | ||
2437 | "extend-shallow-3.0.2" = { | ||
2438 | name = "extend-shallow"; | ||
2439 | packageName = "extend-shallow"; | ||
2440 | version = "3.0.2"; | ||
2441 | src = fetchurl { | ||
2442 | url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz"; | ||
2443 | sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; | ||
2444 | }; | ||
2445 | }; | ||
2446 | "extglob-2.0.4" = { | ||
2447 | name = "extglob"; | ||
2448 | packageName = "extglob"; | ||
2449 | version = "2.0.4"; | ||
2450 | src = fetchurl { | ||
2451 | url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz"; | ||
2452 | sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw=="; | ||
2453 | }; | ||
2454 | }; | ||
2455 | "extsprintf-1.3.0" = { | ||
2456 | name = "extsprintf"; | ||
2457 | packageName = "extsprintf"; | ||
2458 | version = "1.3.0"; | ||
2459 | src = fetchurl { | ||
2460 | url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; | ||
2461 | sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; | ||
2462 | }; | ||
2463 | }; | ||
2464 | "falafel-2.2.4" = { | ||
2465 | name = "falafel"; | ||
2466 | packageName = "falafel"; | ||
2467 | version = "2.2.4"; | ||
2468 | src = fetchurl { | ||
2469 | url = "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz"; | ||
2470 | sha512 = "0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ=="; | ||
2471 | }; | ||
2472 | }; | ||
2473 | "fast-deep-equal-3.1.1" = { | ||
2474 | name = "fast-deep-equal"; | ||
2475 | packageName = "fast-deep-equal"; | ||
2476 | version = "3.1.1"; | ||
2477 | src = fetchurl { | ||
2478 | url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; | ||
2479 | sha512 = "8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="; | ||
2480 | }; | ||
2481 | }; | ||
2482 | "fast-glob-2.2.7" = { | ||
2483 | name = "fast-glob"; | ||
2484 | packageName = "fast-glob"; | ||
2485 | version = "2.2.7"; | ||
2486 | src = fetchurl { | ||
2487 | url = "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz"; | ||
2488 | sha512 = "g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw=="; | ||
2489 | }; | ||
2490 | }; | ||
2491 | "fast-json-stable-stringify-2.1.0" = { | ||
2492 | name = "fast-json-stable-stringify"; | ||
2493 | packageName = "fast-json-stable-stringify"; | ||
2494 | version = "2.1.0"; | ||
2495 | src = fetchurl { | ||
2496 | url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; | ||
2497 | sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="; | ||
2498 | }; | ||
2499 | }; | ||
2500 | "fast-levenshtein-2.0.6" = { | ||
2501 | name = "fast-levenshtein"; | ||
2502 | packageName = "fast-levenshtein"; | ||
2503 | version = "2.0.6"; | ||
2504 | src = fetchurl { | ||
2505 | url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; | ||
2506 | sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; | ||
2507 | }; | ||
2508 | }; | ||
2509 | "fastparse-1.1.2" = { | ||
2510 | name = "fastparse"; | ||
2511 | packageName = "fastparse"; | ||
2512 | version = "1.1.2"; | ||
2513 | src = fetchurl { | ||
2514 | url = "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz"; | ||
2515 | sha512 = "483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="; | ||
2516 | }; | ||
2517 | }; | ||
2518 | "file-uri-to-path-1.0.0" = { | ||
2519 | name = "file-uri-to-path"; | ||
2520 | packageName = "file-uri-to-path"; | ||
2521 | version = "1.0.0"; | ||
2522 | src = fetchurl { | ||
2523 | url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; | ||
2524 | sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="; | ||
2525 | }; | ||
2526 | }; | ||
2527 | "filesize-3.6.1" = { | ||
2528 | name = "filesize"; | ||
2529 | packageName = "filesize"; | ||
2530 | version = "3.6.1"; | ||
2531 | src = fetchurl { | ||
2532 | url = "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz"; | ||
2533 | sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="; | ||
2534 | }; | ||
2535 | }; | ||
2536 | "fill-range-4.0.0" = { | ||
2537 | name = "fill-range"; | ||
2538 | packageName = "fill-range"; | ||
2539 | version = "4.0.0"; | ||
2540 | src = fetchurl { | ||
2541 | url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz"; | ||
2542 | sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; | ||
2543 | }; | ||
2544 | }; | ||
2545 | "find-elm-dependencies-2.0.2" = { | ||
2546 | name = "find-elm-dependencies"; | ||
2547 | packageName = "find-elm-dependencies"; | ||
2548 | version = "2.0.2"; | ||
2549 | src = fetchurl { | ||
2550 | url = "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-2.0.2.tgz"; | ||
2551 | sha512 = "nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ=="; | ||
2552 | }; | ||
2553 | }; | ||
2554 | "find-up-2.1.0" = { | ||
2555 | name = "find-up"; | ||
2556 | packageName = "find-up"; | ||
2557 | version = "2.1.0"; | ||
2558 | src = fetchurl { | ||
2559 | url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz"; | ||
2560 | sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; | ||
2561 | }; | ||
2562 | }; | ||
2563 | "find-up-3.0.0" = { | ||
2564 | name = "find-up"; | ||
2565 | packageName = "find-up"; | ||
2566 | version = "3.0.0"; | ||
2567 | src = fetchurl { | ||
2568 | url = "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz"; | ||
2569 | sha512 = "1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="; | ||
2570 | }; | ||
2571 | }; | ||
2572 | "firstline-1.2.0" = { | ||
2573 | name = "firstline"; | ||
2574 | packageName = "firstline"; | ||
2575 | version = "1.2.0"; | ||
2576 | src = fetchurl { | ||
2577 | url = "https://registry.npmjs.org/firstline/-/firstline-1.2.0.tgz"; | ||
2578 | sha1 = "c9f4886e7f7fbf0afc12d71941dce06b192aea05"; | ||
2579 | }; | ||
2580 | }; | ||
2581 | "for-in-1.0.2" = { | ||
2582 | name = "for-in"; | ||
2583 | packageName = "for-in"; | ||
2584 | version = "1.0.2"; | ||
2585 | src = fetchurl { | ||
2586 | url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz"; | ||
2587 | sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; | ||
2588 | }; | ||
2589 | }; | ||
2590 | "foreach-2.0.5" = { | ||
2591 | name = "foreach"; | ||
2592 | packageName = "foreach"; | ||
2593 | version = "2.0.5"; | ||
2594 | src = fetchurl { | ||
2595 | url = "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz"; | ||
2596 | sha1 = "0bee005018aeb260d0a3af3ae658dd0136ec1b99"; | ||
2597 | }; | ||
2598 | }; | ||
2599 | "forever-agent-0.6.1" = { | ||
2600 | name = "forever-agent"; | ||
2601 | packageName = "forever-agent"; | ||
2602 | version = "0.6.1"; | ||
2603 | src = fetchurl { | ||
2604 | url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; | ||
2605 | sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; | ||
2606 | }; | ||
2607 | }; | ||
2608 | "form-data-2.3.3" = { | ||
2609 | name = "form-data"; | ||
2610 | packageName = "form-data"; | ||
2611 | version = "2.3.3"; | ||
2612 | src = fetchurl { | ||
2613 | url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; | ||
2614 | sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; | ||
2615 | }; | ||
2616 | }; | ||
2617 | "fragment-cache-0.2.1" = { | ||
2618 | name = "fragment-cache"; | ||
2619 | packageName = "fragment-cache"; | ||
2620 | version = "0.2.1"; | ||
2621 | src = fetchurl { | ||
2622 | url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz"; | ||
2623 | sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; | ||
2624 | }; | ||
2625 | }; | ||
2626 | "fresh-0.5.2" = { | ||
2627 | name = "fresh"; | ||
2628 | packageName = "fresh"; | ||
2629 | version = "0.5.2"; | ||
2630 | src = fetchurl { | ||
2631 | url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"; | ||
2632 | sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; | ||
2633 | }; | ||
2634 | }; | ||
2635 | "fs.realpath-1.0.0" = { | ||
2636 | name = "fs.realpath"; | ||
2637 | packageName = "fs.realpath"; | ||
2638 | version = "1.0.0"; | ||
2639 | src = fetchurl { | ||
2640 | url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; | ||
2641 | sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; | ||
2642 | }; | ||
2643 | }; | ||
2644 | "fsevents-1.2.12" = { | ||
2645 | name = "fsevents"; | ||
2646 | packageName = "fsevents"; | ||
2647 | version = "1.2.12"; | ||
2648 | src = fetchurl { | ||
2649 | url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.12.tgz"; | ||
2650 | sha512 = "Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q=="; | ||
2651 | }; | ||
2652 | }; | ||
2653 | "function-bind-1.1.1" = { | ||
2654 | name = "function-bind"; | ||
2655 | packageName = "function-bind"; | ||
2656 | version = "1.1.1"; | ||
2657 | src = fetchurl { | ||
2658 | url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"; | ||
2659 | sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="; | ||
2660 | }; | ||
2661 | }; | ||
2662 | "get-caller-file-2.0.5" = { | ||
2663 | name = "get-caller-file"; | ||
2664 | packageName = "get-caller-file"; | ||
2665 | version = "2.0.5"; | ||
2666 | src = fetchurl { | ||
2667 | url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"; | ||
2668 | sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="; | ||
2669 | }; | ||
2670 | }; | ||
2671 | "get-port-3.2.0" = { | ||
2672 | name = "get-port"; | ||
2673 | packageName = "get-port"; | ||
2674 | version = "3.2.0"; | ||
2675 | src = fetchurl { | ||
2676 | url = "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz"; | ||
2677 | sha1 = "dd7ce7de187c06c8bf353796ac71e099f0980ebc"; | ||
2678 | }; | ||
2679 | }; | ||
2680 | "get-value-2.0.6" = { | ||
2681 | name = "get-value"; | ||
2682 | packageName = "get-value"; | ||
2683 | version = "2.0.6"; | ||
2684 | src = fetchurl { | ||
2685 | url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz"; | ||
2686 | sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; | ||
2687 | }; | ||
2688 | }; | ||
2689 | "getpass-0.1.7" = { | ||
2690 | name = "getpass"; | ||
2691 | packageName = "getpass"; | ||
2692 | version = "0.1.7"; | ||
2693 | src = fetchurl { | ||
2694 | url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"; | ||
2695 | sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; | ||
2696 | }; | ||
2697 | }; | ||
2698 | "glob-7.1.4" = { | ||
2699 | name = "glob"; | ||
2700 | packageName = "glob"; | ||
2701 | version = "7.1.4"; | ||
2702 | src = fetchurl { | ||
2703 | url = "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz"; | ||
2704 | sha512 = "hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A=="; | ||
2705 | }; | ||
2706 | }; | ||
2707 | "glob-parent-3.1.0" = { | ||
2708 | name = "glob-parent"; | ||
2709 | packageName = "glob-parent"; | ||
2710 | version = "3.1.0"; | ||
2711 | src = fetchurl { | ||
2712 | url = "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz"; | ||
2713 | sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; | ||
2714 | }; | ||
2715 | }; | ||
2716 | "glob-to-regexp-0.3.0" = { | ||
2717 | name = "glob-to-regexp"; | ||
2718 | packageName = "glob-to-regexp"; | ||
2719 | version = "0.3.0"; | ||
2720 | src = fetchurl { | ||
2721 | url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz"; | ||
2722 | sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab"; | ||
2723 | }; | ||
2724 | }; | ||
2725 | "globals-11.12.0" = { | ||
2726 | name = "globals"; | ||
2727 | packageName = "globals"; | ||
2728 | version = "11.12.0"; | ||
2729 | src = fetchurl { | ||
2730 | url = "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"; | ||
2731 | sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="; | ||
2732 | }; | ||
2733 | }; | ||
2734 | "graceful-fs-4.2.3" = { | ||
2735 | name = "graceful-fs"; | ||
2736 | packageName = "graceful-fs"; | ||
2737 | version = "4.2.3"; | ||
2738 | src = fetchurl { | ||
2739 | url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz"; | ||
2740 | sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="; | ||
2741 | }; | ||
2742 | }; | ||
2743 | "grapheme-breaker-0.3.2" = { | ||
2744 | name = "grapheme-breaker"; | ||
2745 | packageName = "grapheme-breaker"; | ||
2746 | version = "0.3.2"; | ||
2747 | src = fetchurl { | ||
2748 | url = "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz"; | ||
2749 | sha1 = "5b9e6b78c3832452d2ba2bb1cb830f96276410ac"; | ||
2750 | }; | ||
2751 | }; | ||
2752 | "har-schema-2.0.0" = { | ||
2753 | name = "har-schema"; | ||
2754 | packageName = "har-schema"; | ||
2755 | version = "2.0.0"; | ||
2756 | src = fetchurl { | ||
2757 | url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; | ||
2758 | sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; | ||
2759 | }; | ||
2760 | }; | ||
2761 | "har-validator-5.1.3" = { | ||
2762 | name = "har-validator"; | ||
2763 | packageName = "har-validator"; | ||
2764 | version = "5.1.3"; | ||
2765 | src = fetchurl { | ||
2766 | url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz"; | ||
2767 | sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g=="; | ||
2768 | }; | ||
2769 | }; | ||
2770 | "has-1.0.3" = { | ||
2771 | name = "has"; | ||
2772 | packageName = "has"; | ||
2773 | version = "1.0.3"; | ||
2774 | src = fetchurl { | ||
2775 | url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz"; | ||
2776 | sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="; | ||
2777 | }; | ||
2778 | }; | ||
2779 | "has-ansi-2.0.0" = { | ||
2780 | name = "has-ansi"; | ||
2781 | packageName = "has-ansi"; | ||
2782 | version = "2.0.0"; | ||
2783 | src = fetchurl { | ||
2784 | url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"; | ||
2785 | sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; | ||
2786 | }; | ||
2787 | }; | ||
2788 | "has-flag-1.0.0" = { | ||
2789 | name = "has-flag"; | ||
2790 | packageName = "has-flag"; | ||
2791 | version = "1.0.0"; | ||
2792 | src = fetchurl { | ||
2793 | url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz"; | ||
2794 | sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa"; | ||
2795 | }; | ||
2796 | }; | ||
2797 | "has-flag-3.0.0" = { | ||
2798 | name = "has-flag"; | ||
2799 | packageName = "has-flag"; | ||
2800 | version = "3.0.0"; | ||
2801 | src = fetchurl { | ||
2802 | url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"; | ||
2803 | sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; | ||
2804 | }; | ||
2805 | }; | ||
2806 | "has-symbols-1.0.1" = { | ||
2807 | name = "has-symbols"; | ||
2808 | packageName = "has-symbols"; | ||
2809 | version = "1.0.1"; | ||
2810 | src = fetchurl { | ||
2811 | url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz"; | ||
2812 | sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="; | ||
2813 | }; | ||
2814 | }; | ||
2815 | "has-value-0.3.1" = { | ||
2816 | name = "has-value"; | ||
2817 | packageName = "has-value"; | ||
2818 | version = "0.3.1"; | ||
2819 | src = fetchurl { | ||
2820 | url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz"; | ||
2821 | sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; | ||
2822 | }; | ||
2823 | }; | ||
2824 | "has-value-1.0.0" = { | ||
2825 | name = "has-value"; | ||
2826 | packageName = "has-value"; | ||
2827 | version = "1.0.0"; | ||
2828 | src = fetchurl { | ||
2829 | url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz"; | ||
2830 | sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; | ||
2831 | }; | ||
2832 | }; | ||
2833 | "has-values-0.1.4" = { | ||
2834 | name = "has-values"; | ||
2835 | packageName = "has-values"; | ||
2836 | version = "0.1.4"; | ||
2837 | src = fetchurl { | ||
2838 | url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz"; | ||
2839 | sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; | ||
2840 | }; | ||
2841 | }; | ||
2842 | "has-values-1.0.0" = { | ||
2843 | name = "has-values"; | ||
2844 | packageName = "has-values"; | ||
2845 | version = "1.0.0"; | ||
2846 | src = fetchurl { | ||
2847 | url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz"; | ||
2848 | sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; | ||
2849 | }; | ||
2850 | }; | ||
2851 | "hash-base-3.0.4" = { | ||
2852 | name = "hash-base"; | ||
2853 | packageName = "hash-base"; | ||
2854 | version = "3.0.4"; | ||
2855 | src = fetchurl { | ||
2856 | url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz"; | ||
2857 | sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918"; | ||
2858 | }; | ||
2859 | }; | ||
2860 | "hash.js-1.1.7" = { | ||
2861 | name = "hash.js"; | ||
2862 | packageName = "hash.js"; | ||
2863 | version = "1.1.7"; | ||
2864 | src = fetchurl { | ||
2865 | url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz"; | ||
2866 | sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="; | ||
2867 | }; | ||
2868 | }; | ||
2869 | "hex-color-regex-1.1.0" = { | ||
2870 | name = "hex-color-regex"; | ||
2871 | packageName = "hex-color-regex"; | ||
2872 | version = "1.1.0"; | ||
2873 | src = fetchurl { | ||
2874 | url = "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz"; | ||
2875 | sha512 = "l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ=="; | ||
2876 | }; | ||
2877 | }; | ||
2878 | "hmac-drbg-1.0.1" = { | ||
2879 | name = "hmac-drbg"; | ||
2880 | packageName = "hmac-drbg"; | ||
2881 | version = "1.0.1"; | ||
2882 | src = fetchurl { | ||
2883 | url = "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; | ||
2884 | sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; | ||
2885 | }; | ||
2886 | }; | ||
2887 | "hsl-regex-1.0.0" = { | ||
2888 | name = "hsl-regex"; | ||
2889 | packageName = "hsl-regex"; | ||
2890 | version = "1.0.0"; | ||
2891 | src = fetchurl { | ||
2892 | url = "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz"; | ||
2893 | sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e"; | ||
2894 | }; | ||
2895 | }; | ||
2896 | "hsla-regex-1.0.0" = { | ||
2897 | name = "hsla-regex"; | ||
2898 | packageName = "hsla-regex"; | ||
2899 | version = "1.0.0"; | ||
2900 | src = fetchurl { | ||
2901 | url = "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz"; | ||
2902 | sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"; | ||
2903 | }; | ||
2904 | }; | ||
2905 | "html-comment-regex-1.1.2" = { | ||
2906 | name = "html-comment-regex"; | ||
2907 | packageName = "html-comment-regex"; | ||
2908 | version = "1.1.2"; | ||
2909 | src = fetchurl { | ||
2910 | url = "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz"; | ||
2911 | sha512 = "P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ=="; | ||
2912 | }; | ||
2913 | }; | ||
2914 | "html-encoding-sniffer-1.0.2" = { | ||
2915 | name = "html-encoding-sniffer"; | ||
2916 | packageName = "html-encoding-sniffer"; | ||
2917 | version = "1.0.2"; | ||
2918 | src = fetchurl { | ||
2919 | url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz"; | ||
2920 | sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw=="; | ||
2921 | }; | ||
2922 | }; | ||
2923 | "html-tags-1.2.0" = { | ||
2924 | name = "html-tags"; | ||
2925 | packageName = "html-tags"; | ||
2926 | version = "1.2.0"; | ||
2927 | src = fetchurl { | ||
2928 | url = "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz"; | ||
2929 | sha1 = "c78de65b5663aa597989dd2b7ab49200d7e4db98"; | ||
2930 | }; | ||
2931 | }; | ||
2932 | "htmlnano-0.2.5" = { | ||
2933 | name = "htmlnano"; | ||
2934 | packageName = "htmlnano"; | ||
2935 | version = "0.2.5"; | ||
2936 | src = fetchurl { | ||
2937 | url = "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz"; | ||
2938 | sha512 = "X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA=="; | ||
2939 | }; | ||
2940 | }; | ||
2941 | "htmlparser2-3.10.1" = { | ||
2942 | name = "htmlparser2"; | ||
2943 | packageName = "htmlparser2"; | ||
2944 | version = "3.10.1"; | ||
2945 | src = fetchurl { | ||
2946 | url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz"; | ||
2947 | sha512 = "IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ=="; | ||
2948 | }; | ||
2949 | }; | ||
2950 | "http-errors-1.7.3" = { | ||
2951 | name = "http-errors"; | ||
2952 | packageName = "http-errors"; | ||
2953 | version = "1.7.3"; | ||
2954 | src = fetchurl { | ||
2955 | url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz"; | ||
2956 | sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw=="; | ||
2957 | }; | ||
2958 | }; | ||
2959 | "http-signature-1.2.0" = { | ||
2960 | name = "http-signature"; | ||
2961 | packageName = "http-signature"; | ||
2962 | version = "1.2.0"; | ||
2963 | src = fetchurl { | ||
2964 | url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; | ||
2965 | sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; | ||
2966 | }; | ||
2967 | }; | ||
2968 | "https-browserify-1.0.0" = { | ||
2969 | name = "https-browserify"; | ||
2970 | packageName = "https-browserify"; | ||
2971 | version = "1.0.0"; | ||
2972 | src = fetchurl { | ||
2973 | url = "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"; | ||
2974 | sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"; | ||
2975 | }; | ||
2976 | }; | ||
2977 | "iconv-lite-0.4.24" = { | ||
2978 | name = "iconv-lite"; | ||
2979 | packageName = "iconv-lite"; | ||
2980 | version = "0.4.24"; | ||
2981 | src = fetchurl { | ||
2982 | url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"; | ||
2983 | sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="; | ||
2984 | }; | ||
2985 | }; | ||
2986 | "icss-replace-symbols-1.1.0" = { | ||
2987 | name = "icss-replace-symbols"; | ||
2988 | packageName = "icss-replace-symbols"; | ||
2989 | version = "1.1.0"; | ||
2990 | src = fetchurl { | ||
2991 | url = "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz"; | ||
2992 | sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded"; | ||
2993 | }; | ||
2994 | }; | ||
2995 | "ieee754-1.1.13" = { | ||
2996 | name = "ieee754"; | ||
2997 | packageName = "ieee754"; | ||
2998 | version = "1.1.13"; | ||
2999 | src = fetchurl { | ||
3000 | url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"; | ||
3001 | sha512 = "4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="; | ||
3002 | }; | ||
3003 | }; | ||
3004 | "import-fresh-2.0.0" = { | ||
3005 | name = "import-fresh"; | ||
3006 | packageName = "import-fresh"; | ||
3007 | version = "2.0.0"; | ||
3008 | src = fetchurl { | ||
3009 | url = "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz"; | ||
3010 | sha1 = "d81355c15612d386c61f9ddd3922d4304822a546"; | ||
3011 | }; | ||
3012 | }; | ||
3013 | "indexes-of-1.0.1" = { | ||
3014 | name = "indexes-of"; | ||
3015 | packageName = "indexes-of"; | ||
3016 | version = "1.0.1"; | ||
3017 | src = fetchurl { | ||
3018 | url = "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz"; | ||
3019 | sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607"; | ||
3020 | }; | ||
3021 | }; | ||
3022 | "inflight-1.0.6" = { | ||
3023 | name = "inflight"; | ||
3024 | packageName = "inflight"; | ||
3025 | version = "1.0.6"; | ||
3026 | src = fetchurl { | ||
3027 | url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"; | ||
3028 | sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; | ||
3029 | }; | ||
3030 | }; | ||
3031 | "inherits-2.0.1" = { | ||
3032 | name = "inherits"; | ||
3033 | packageName = "inherits"; | ||
3034 | version = "2.0.1"; | ||
3035 | src = fetchurl { | ||
3036 | url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"; | ||
3037 | sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; | ||
3038 | }; | ||
3039 | }; | ||
3040 | "inherits-2.0.3" = { | ||
3041 | name = "inherits"; | ||
3042 | packageName = "inherits"; | ||
3043 | version = "2.0.3"; | ||
3044 | src = fetchurl { | ||
3045 | url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"; | ||
3046 | sha1 = "633c2c83e3da42a502f52466022480f4208261de"; | ||
3047 | }; | ||
3048 | }; | ||
3049 | "inherits-2.0.4" = { | ||
3050 | name = "inherits"; | ||
3051 | packageName = "inherits"; | ||
3052 | version = "2.0.4"; | ||
3053 | src = fetchurl { | ||
3054 | url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"; | ||
3055 | sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; | ||
3056 | }; | ||
3057 | }; | ||
3058 | "ini-1.3.5" = { | ||
3059 | name = "ini"; | ||
3060 | packageName = "ini"; | ||
3061 | version = "1.3.5"; | ||
3062 | src = fetchurl { | ||
3063 | url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz"; | ||
3064 | sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="; | ||
3065 | }; | ||
3066 | }; | ||
3067 | "invariant-2.2.4" = { | ||
3068 | name = "invariant"; | ||
3069 | packageName = "invariant"; | ||
3070 | version = "2.2.4"; | ||
3071 | src = fetchurl { | ||
3072 | url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz"; | ||
3073 | sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA=="; | ||
3074 | }; | ||
3075 | }; | ||
3076 | "is-absolute-url-2.1.0" = { | ||
3077 | name = "is-absolute-url"; | ||
3078 | packageName = "is-absolute-url"; | ||
3079 | version = "2.1.0"; | ||
3080 | src = fetchurl { | ||
3081 | url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz"; | ||
3082 | sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"; | ||
3083 | }; | ||
3084 | }; | ||
3085 | "is-absolute-url-3.0.3" = { | ||
3086 | name = "is-absolute-url"; | ||
3087 | packageName = "is-absolute-url"; | ||
3088 | version = "3.0.3"; | ||
3089 | src = fetchurl { | ||
3090 | url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz"; | ||
3091 | sha512 = "opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q=="; | ||
3092 | }; | ||
3093 | }; | ||
3094 | "is-accessor-descriptor-0.1.6" = { | ||
3095 | name = "is-accessor-descriptor"; | ||
3096 | packageName = "is-accessor-descriptor"; | ||
3097 | version = "0.1.6"; | ||
3098 | src = fetchurl { | ||
3099 | url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; | ||
3100 | sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; | ||
3101 | }; | ||
3102 | }; | ||
3103 | "is-accessor-descriptor-1.0.0" = { | ||
3104 | name = "is-accessor-descriptor"; | ||
3105 | packageName = "is-accessor-descriptor"; | ||
3106 | version = "1.0.0"; | ||
3107 | src = fetchurl { | ||
3108 | url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; | ||
3109 | sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ=="; | ||
3110 | }; | ||
3111 | }; | ||
3112 | "is-arrayish-0.2.1" = { | ||
3113 | name = "is-arrayish"; | ||
3114 | packageName = "is-arrayish"; | ||
3115 | version = "0.2.1"; | ||
3116 | src = fetchurl { | ||
3117 | url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"; | ||
3118 | sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; | ||
3119 | }; | ||
3120 | }; | ||
3121 | "is-arrayish-0.3.2" = { | ||
3122 | name = "is-arrayish"; | ||
3123 | packageName = "is-arrayish"; | ||
3124 | version = "0.3.2"; | ||
3125 | src = fetchurl { | ||
3126 | url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz"; | ||
3127 | sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="; | ||
3128 | }; | ||
3129 | }; | ||
3130 | "is-binary-path-1.0.1" = { | ||
3131 | name = "is-binary-path"; | ||
3132 | packageName = "is-binary-path"; | ||
3133 | version = "1.0.1"; | ||
3134 | src = fetchurl { | ||
3135 | url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz"; | ||
3136 | sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; | ||
3137 | }; | ||
3138 | }; | ||
3139 | "is-buffer-1.1.6" = { | ||
3140 | name = "is-buffer"; | ||
3141 | packageName = "is-buffer"; | ||
3142 | version = "1.1.6"; | ||
3143 | src = fetchurl { | ||
3144 | url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"; | ||
3145 | sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="; | ||
3146 | }; | ||
3147 | }; | ||
3148 | "is-callable-1.1.5" = { | ||
3149 | name = "is-callable"; | ||
3150 | packageName = "is-callable"; | ||
3151 | version = "1.1.5"; | ||
3152 | src = fetchurl { | ||
3153 | url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz"; | ||
3154 | sha512 = "ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="; | ||
3155 | }; | ||
3156 | }; | ||
3157 | "is-color-stop-1.1.0" = { | ||
3158 | name = "is-color-stop"; | ||
3159 | packageName = "is-color-stop"; | ||
3160 | version = "1.1.0"; | ||
3161 | src = fetchurl { | ||
3162 | url = "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz"; | ||
3163 | sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345"; | ||
3164 | }; | ||
3165 | }; | ||
3166 | "is-data-descriptor-0.1.4" = { | ||
3167 | name = "is-data-descriptor"; | ||
3168 | packageName = "is-data-descriptor"; | ||
3169 | version = "0.1.4"; | ||
3170 | src = fetchurl { | ||
3171 | url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; | ||
3172 | sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; | ||
3173 | }; | ||
3174 | }; | ||
3175 | "is-data-descriptor-1.0.0" = { | ||
3176 | name = "is-data-descriptor"; | ||
3177 | packageName = "is-data-descriptor"; | ||
3178 | version = "1.0.0"; | ||
3179 | src = fetchurl { | ||
3180 | url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; | ||
3181 | sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ=="; | ||
3182 | }; | ||
3183 | }; | ||
3184 | "is-date-object-1.0.2" = { | ||
3185 | name = "is-date-object"; | ||
3186 | packageName = "is-date-object"; | ||
3187 | version = "1.0.2"; | ||
3188 | src = fetchurl { | ||
3189 | url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz"; | ||
3190 | sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="; | ||
3191 | }; | ||
3192 | }; | ||
3193 | "is-descriptor-0.1.6" = { | ||
3194 | name = "is-descriptor"; | ||
3195 | packageName = "is-descriptor"; | ||
3196 | version = "0.1.6"; | ||
3197 | src = fetchurl { | ||
3198 | url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz"; | ||
3199 | sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg=="; | ||
3200 | }; | ||
3201 | }; | ||
3202 | "is-descriptor-1.0.2" = { | ||
3203 | name = "is-descriptor"; | ||
3204 | packageName = "is-descriptor"; | ||
3205 | version = "1.0.2"; | ||
3206 | src = fetchurl { | ||
3207 | url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz"; | ||
3208 | sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg=="; | ||
3209 | }; | ||
3210 | }; | ||
3211 | "is-directory-0.3.1" = { | ||
3212 | name = "is-directory"; | ||
3213 | packageName = "is-directory"; | ||
3214 | version = "0.3.1"; | ||
3215 | src = fetchurl { | ||
3216 | url = "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz"; | ||
3217 | sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; | ||
3218 | }; | ||
3219 | }; | ||
3220 | "is-extendable-0.1.1" = { | ||
3221 | name = "is-extendable"; | ||
3222 | packageName = "is-extendable"; | ||
3223 | version = "0.1.1"; | ||
3224 | src = fetchurl { | ||
3225 | url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"; | ||
3226 | sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; | ||
3227 | }; | ||
3228 | }; | ||
3229 | "is-extendable-1.0.1" = { | ||
3230 | name = "is-extendable"; | ||
3231 | packageName = "is-extendable"; | ||
3232 | version = "1.0.1"; | ||
3233 | src = fetchurl { | ||
3234 | url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz"; | ||
3235 | sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA=="; | ||
3236 | }; | ||
3237 | }; | ||
3238 | "is-extglob-2.1.1" = { | ||
3239 | name = "is-extglob"; | ||
3240 | packageName = "is-extglob"; | ||
3241 | version = "2.1.1"; | ||
3242 | src = fetchurl { | ||
3243 | url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"; | ||
3244 | sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; | ||
3245 | }; | ||
3246 | }; | ||
3247 | "is-fullwidth-code-point-2.0.0" = { | ||
3248 | name = "is-fullwidth-code-point"; | ||
3249 | packageName = "is-fullwidth-code-point"; | ||
3250 | version = "2.0.0"; | ||
3251 | src = fetchurl { | ||
3252 | url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; | ||
3253 | sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; | ||
3254 | }; | ||
3255 | }; | ||
3256 | "is-glob-3.1.0" = { | ||
3257 | name = "is-glob"; | ||
3258 | packageName = "is-glob"; | ||
3259 | version = "3.1.0"; | ||
3260 | src = fetchurl { | ||
3261 | url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz"; | ||
3262 | sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; | ||
3263 | }; | ||
3264 | }; | ||
3265 | "is-glob-4.0.1" = { | ||
3266 | name = "is-glob"; | ||
3267 | packageName = "is-glob"; | ||
3268 | version = "4.0.1"; | ||
3269 | src = fetchurl { | ||
3270 | url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"; | ||
3271 | sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="; | ||
3272 | }; | ||
3273 | }; | ||
3274 | "is-html-1.1.0" = { | ||
3275 | name = "is-html"; | ||
3276 | packageName = "is-html"; | ||
3277 | version = "1.1.0"; | ||
3278 | src = fetchurl { | ||
3279 | url = "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz"; | ||
3280 | sha1 = "e04f1c18d39485111396f9a0273eab51af218464"; | ||
3281 | }; | ||
3282 | }; | ||
3283 | "is-number-3.0.0" = { | ||
3284 | name = "is-number"; | ||
3285 | packageName = "is-number"; | ||
3286 | version = "3.0.0"; | ||
3287 | src = fetchurl { | ||
3288 | url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz"; | ||
3289 | sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; | ||
3290 | }; | ||
3291 | }; | ||
3292 | "is-obj-2.0.0" = { | ||
3293 | name = "is-obj"; | ||
3294 | packageName = "is-obj"; | ||
3295 | version = "2.0.0"; | ||
3296 | src = fetchurl { | ||
3297 | url = "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"; | ||
3298 | sha512 = "drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="; | ||
3299 | }; | ||
3300 | }; | ||
3301 | "is-plain-object-2.0.4" = { | ||
3302 | name = "is-plain-object"; | ||
3303 | packageName = "is-plain-object"; | ||
3304 | version = "2.0.4"; | ||
3305 | src = fetchurl { | ||
3306 | url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"; | ||
3307 | sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="; | ||
3308 | }; | ||
3309 | }; | ||
3310 | "is-regex-1.0.5" = { | ||
3311 | name = "is-regex"; | ||
3312 | packageName = "is-regex"; | ||
3313 | version = "1.0.5"; | ||
3314 | src = fetchurl { | ||
3315 | url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz"; | ||
3316 | sha512 = "vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ=="; | ||
3317 | }; | ||
3318 | }; | ||
3319 | "is-resolvable-1.1.0" = { | ||
3320 | name = "is-resolvable"; | ||
3321 | packageName = "is-resolvable"; | ||
3322 | version = "1.1.0"; | ||
3323 | src = fetchurl { | ||
3324 | url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz"; | ||
3325 | sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg=="; | ||
3326 | }; | ||
3327 | }; | ||
3328 | "is-svg-3.0.0" = { | ||
3329 | name = "is-svg"; | ||
3330 | packageName = "is-svg"; | ||
3331 | version = "3.0.0"; | ||
3332 | src = fetchurl { | ||
3333 | url = "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz"; | ||
3334 | sha512 = "gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ=="; | ||
3335 | }; | ||
3336 | }; | ||
3337 | "is-symbol-1.0.3" = { | ||
3338 | name = "is-symbol"; | ||
3339 | packageName = "is-symbol"; | ||
3340 | version = "1.0.3"; | ||
3341 | src = fetchurl { | ||
3342 | url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz"; | ||
3343 | sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ=="; | ||
3344 | }; | ||
3345 | }; | ||
3346 | "is-typedarray-1.0.0" = { | ||
3347 | name = "is-typedarray"; | ||
3348 | packageName = "is-typedarray"; | ||
3349 | version = "1.0.0"; | ||
3350 | src = fetchurl { | ||
3351 | url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; | ||
3352 | sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; | ||
3353 | }; | ||
3354 | }; | ||
3355 | "is-url-1.2.4" = { | ||
3356 | name = "is-url"; | ||
3357 | packageName = "is-url"; | ||
3358 | version = "1.2.4"; | ||
3359 | src = fetchurl { | ||
3360 | url = "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz"; | ||
3361 | sha512 = "ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww=="; | ||
3362 | }; | ||
3363 | }; | ||
3364 | "is-windows-1.0.2" = { | ||
3365 | name = "is-windows"; | ||
3366 | packageName = "is-windows"; | ||
3367 | version = "1.0.2"; | ||
3368 | src = fetchurl { | ||
3369 | url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz"; | ||
3370 | sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="; | ||
3371 | }; | ||
3372 | }; | ||
3373 | "is-wsl-1.1.0" = { | ||
3374 | name = "is-wsl"; | ||
3375 | packageName = "is-wsl"; | ||
3376 | version = "1.1.0"; | ||
3377 | src = fetchurl { | ||
3378 | url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz"; | ||
3379 | sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; | ||
3380 | }; | ||
3381 | }; | ||
3382 | "isarray-1.0.0" = { | ||
3383 | name = "isarray"; | ||
3384 | packageName = "isarray"; | ||
3385 | version = "1.0.0"; | ||
3386 | src = fetchurl { | ||
3387 | url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; | ||
3388 | sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; | ||
3389 | }; | ||
3390 | }; | ||
3391 | "isarray-2.0.5" = { | ||
3392 | name = "isarray"; | ||
3393 | packageName = "isarray"; | ||
3394 | version = "2.0.5"; | ||
3395 | src = fetchurl { | ||
3396 | url = "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"; | ||
3397 | sha512 = "xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="; | ||
3398 | }; | ||
3399 | }; | ||
3400 | "isexe-2.0.0" = { | ||
3401 | name = "isexe"; | ||
3402 | packageName = "isexe"; | ||
3403 | version = "2.0.0"; | ||
3404 | src = fetchurl { | ||
3405 | url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"; | ||
3406 | sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; | ||
3407 | }; | ||
3408 | }; | ||
3409 | "isobject-2.1.0" = { | ||
3410 | name = "isobject"; | ||
3411 | packageName = "isobject"; | ||
3412 | version = "2.1.0"; | ||
3413 | src = fetchurl { | ||
3414 | url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"; | ||
3415 | sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; | ||
3416 | }; | ||
3417 | }; | ||
3418 | "isobject-3.0.1" = { | ||
3419 | name = "isobject"; | ||
3420 | packageName = "isobject"; | ||
3421 | version = "3.0.1"; | ||
3422 | src = fetchurl { | ||
3423 | url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"; | ||
3424 | sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; | ||
3425 | }; | ||
3426 | }; | ||
3427 | "isstream-0.1.2" = { | ||
3428 | name = "isstream"; | ||
3429 | packageName = "isstream"; | ||
3430 | version = "0.1.2"; | ||
3431 | src = fetchurl { | ||
3432 | url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; | ||
3433 | sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; | ||
3434 | }; | ||
3435 | }; | ||
3436 | "js-beautify-1.11.0" = { | ||
3437 | name = "js-beautify"; | ||
3438 | packageName = "js-beautify"; | ||
3439 | version = "1.11.0"; | ||
3440 | src = fetchurl { | ||
3441 | url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.11.0.tgz"; | ||
3442 | sha512 = "a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A=="; | ||
3443 | }; | ||
3444 | }; | ||
3445 | "js-levenshtein-1.1.6" = { | ||
3446 | name = "js-levenshtein"; | ||
3447 | packageName = "js-levenshtein"; | ||
3448 | version = "1.1.6"; | ||
3449 | src = fetchurl { | ||
3450 | url = "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz"; | ||
3451 | sha512 = "X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="; | ||
3452 | }; | ||
3453 | }; | ||
3454 | "js-tokens-4.0.0" = { | ||
3455 | name = "js-tokens"; | ||
3456 | packageName = "js-tokens"; | ||
3457 | version = "4.0.0"; | ||
3458 | src = fetchurl { | ||
3459 | url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"; | ||
3460 | sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="; | ||
3461 | }; | ||
3462 | }; | ||
3463 | "js-yaml-3.13.1" = { | ||
3464 | name = "js-yaml"; | ||
3465 | packageName = "js-yaml"; | ||
3466 | version = "3.13.1"; | ||
3467 | src = fetchurl { | ||
3468 | url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz"; | ||
3469 | sha512 = "YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw=="; | ||
3470 | }; | ||
3471 | }; | ||
3472 | "jsbn-0.1.1" = { | ||
3473 | name = "jsbn"; | ||
3474 | packageName = "jsbn"; | ||
3475 | version = "0.1.1"; | ||
3476 | src = fetchurl { | ||
3477 | url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"; | ||
3478 | sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; | ||
3479 | }; | ||
3480 | }; | ||
3481 | "jsdom-14.1.0" = { | ||
3482 | name = "jsdom"; | ||
3483 | packageName = "jsdom"; | ||
3484 | version = "14.1.0"; | ||
3485 | src = fetchurl { | ||
3486 | url = "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz"; | ||
3487 | sha512 = "O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng=="; | ||
3488 | }; | ||
3489 | }; | ||
3490 | "jsesc-0.5.0" = { | ||
3491 | name = "jsesc"; | ||
3492 | packageName = "jsesc"; | ||
3493 | version = "0.5.0"; | ||
3494 | src = fetchurl { | ||
3495 | url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"; | ||
3496 | sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d"; | ||
3497 | }; | ||
3498 | }; | ||
3499 | "jsesc-2.5.2" = { | ||
3500 | name = "jsesc"; | ||
3501 | packageName = "jsesc"; | ||
3502 | version = "2.5.2"; | ||
3503 | src = fetchurl { | ||
3504 | url = "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"; | ||
3505 | sha512 = "OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="; | ||
3506 | }; | ||
3507 | }; | ||
3508 | "json-parse-better-errors-1.0.2" = { | ||
3509 | name = "json-parse-better-errors"; | ||
3510 | packageName = "json-parse-better-errors"; | ||
3511 | version = "1.0.2"; | ||
3512 | src = fetchurl { | ||
3513 | url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; | ||
3514 | sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="; | ||
3515 | }; | ||
3516 | }; | ||
3517 | "json-schema-0.2.3" = { | ||
3518 | name = "json-schema"; | ||
3519 | packageName = "json-schema"; | ||
3520 | version = "0.2.3"; | ||
3521 | src = fetchurl { | ||
3522 | url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; | ||
3523 | sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; | ||
3524 | }; | ||
3525 | }; | ||
3526 | "json-schema-traverse-0.4.1" = { | ||
3527 | name = "json-schema-traverse"; | ||
3528 | packageName = "json-schema-traverse"; | ||
3529 | version = "0.4.1"; | ||
3530 | src = fetchurl { | ||
3531 | url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; | ||
3532 | sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; | ||
3533 | }; | ||
3534 | }; | ||
3535 | "json-stringify-safe-5.0.1" = { | ||
3536 | name = "json-stringify-safe"; | ||
3537 | packageName = "json-stringify-safe"; | ||
3538 | version = "5.0.1"; | ||
3539 | src = fetchurl { | ||
3540 | url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; | ||
3541 | sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; | ||
3542 | }; | ||
3543 | }; | ||
3544 | "json5-1.0.1" = { | ||
3545 | name = "json5"; | ||
3546 | packageName = "json5"; | ||
3547 | version = "1.0.1"; | ||
3548 | src = fetchurl { | ||
3549 | url = "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz"; | ||
3550 | sha512 = "aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow=="; | ||
3551 | }; | ||
3552 | }; | ||
3553 | "json5-2.1.3" = { | ||
3554 | name = "json5"; | ||
3555 | packageName = "json5"; | ||
3556 | version = "2.1.3"; | ||
3557 | src = fetchurl { | ||
3558 | url = "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz"; | ||
3559 | sha512 = "KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA=="; | ||
3560 | }; | ||
3561 | }; | ||
3562 | "jsprim-1.4.1" = { | ||
3563 | name = "jsprim"; | ||
3564 | packageName = "jsprim"; | ||
3565 | version = "1.4.1"; | ||
3566 | src = fetchurl { | ||
3567 | url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; | ||
3568 | sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; | ||
3569 | }; | ||
3570 | }; | ||
3571 | "kind-of-3.2.2" = { | ||
3572 | name = "kind-of"; | ||
3573 | packageName = "kind-of"; | ||
3574 | version = "3.2.2"; | ||
3575 | src = fetchurl { | ||
3576 | url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz"; | ||
3577 | sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; | ||
3578 | }; | ||
3579 | }; | ||
3580 | "kind-of-4.0.0" = { | ||
3581 | name = "kind-of"; | ||
3582 | packageName = "kind-of"; | ||
3583 | version = "4.0.0"; | ||
3584 | src = fetchurl { | ||
3585 | url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz"; | ||
3586 | sha1 = "20813df3d712928b207378691a45066fae72dd57"; | ||
3587 | }; | ||
3588 | }; | ||
3589 | "kind-of-5.1.0" = { | ||
3590 | name = "kind-of"; | ||
3591 | packageName = "kind-of"; | ||
3592 | version = "5.1.0"; | ||
3593 | src = fetchurl { | ||
3594 | url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz"; | ||
3595 | sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="; | ||
3596 | }; | ||
3597 | }; | ||
3598 | "kind-of-6.0.3" = { | ||
3599 | name = "kind-of"; | ||
3600 | packageName = "kind-of"; | ||
3601 | version = "6.0.3"; | ||
3602 | src = fetchurl { | ||
3603 | url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"; | ||
3604 | sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="; | ||
3605 | }; | ||
3606 | }; | ||
3607 | "levn-0.3.0" = { | ||
3608 | name = "levn"; | ||
3609 | packageName = "levn"; | ||
3610 | version = "0.3.0"; | ||
3611 | src = fetchurl { | ||
3612 | url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"; | ||
3613 | sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; | ||
3614 | }; | ||
3615 | }; | ||
3616 | "locate-path-2.0.0" = { | ||
3617 | name = "locate-path"; | ||
3618 | packageName = "locate-path"; | ||
3619 | version = "2.0.0"; | ||
3620 | src = fetchurl { | ||
3621 | url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz"; | ||
3622 | sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; | ||
3623 | }; | ||
3624 | }; | ||
3625 | "locate-path-3.0.0" = { | ||
3626 | name = "locate-path"; | ||
3627 | packageName = "locate-path"; | ||
3628 | version = "3.0.0"; | ||
3629 | src = fetchurl { | ||
3630 | url = "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz"; | ||
3631 | sha512 = "7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="; | ||
3632 | }; | ||
3633 | }; | ||
3634 | "lodash-4.17.15" = { | ||
3635 | name = "lodash"; | ||
3636 | packageName = "lodash"; | ||
3637 | version = "4.17.15"; | ||
3638 | src = fetchurl { | ||
3639 | url = "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz"; | ||
3640 | sha512 = "8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="; | ||
3641 | }; | ||
3642 | }; | ||
3643 | "lodash.clone-4.5.0" = { | ||
3644 | name = "lodash.clone"; | ||
3645 | packageName = "lodash.clone"; | ||
3646 | version = "4.5.0"; | ||
3647 | src = fetchurl { | ||
3648 | url = "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz"; | ||
3649 | sha1 = "195870450f5a13192478df4bc3d23d2dea1907b6"; | ||
3650 | }; | ||
3651 | }; | ||
3652 | "lodash.memoize-4.1.2" = { | ||
3653 | name = "lodash.memoize"; | ||
3654 | packageName = "lodash.memoize"; | ||
3655 | version = "4.1.2"; | ||
3656 | src = fetchurl { | ||
3657 | url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"; | ||
3658 | sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe"; | ||
3659 | }; | ||
3660 | }; | ||
3661 | "lodash.sortby-4.7.0" = { | ||
3662 | name = "lodash.sortby"; | ||
3663 | packageName = "lodash.sortby"; | ||
3664 | version = "4.7.0"; | ||
3665 | src = fetchurl { | ||
3666 | url = "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz"; | ||
3667 | sha1 = "edd14c824e2cc9c1e0b0a1b42bb5210516a42438"; | ||
3668 | }; | ||
3669 | }; | ||
3670 | "lodash.uniq-4.5.0" = { | ||
3671 | name = "lodash.uniq"; | ||
3672 | packageName = "lodash.uniq"; | ||
3673 | version = "4.5.0"; | ||
3674 | src = fetchurl { | ||
3675 | url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; | ||
3676 | sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; | ||
3677 | }; | ||
3678 | }; | ||
3679 | "log-symbols-2.2.0" = { | ||
3680 | name = "log-symbols"; | ||
3681 | packageName = "log-symbols"; | ||
3682 | version = "2.2.0"; | ||
3683 | src = fetchurl { | ||
3684 | url = "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz"; | ||
3685 | sha512 = "VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg=="; | ||
3686 | }; | ||
3687 | }; | ||
3688 | "loose-envify-1.4.0" = { | ||
3689 | name = "loose-envify"; | ||
3690 | packageName = "loose-envify"; | ||
3691 | version = "1.4.0"; | ||
3692 | src = fetchurl { | ||
3693 | url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz"; | ||
3694 | sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q=="; | ||
3695 | }; | ||
3696 | }; | ||
3697 | "lru-cache-4.1.5" = { | ||
3698 | name = "lru-cache"; | ||
3699 | packageName = "lru-cache"; | ||
3700 | version = "4.1.5"; | ||
3701 | src = fetchurl { | ||
3702 | url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"; | ||
3703 | sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="; | ||
3704 | }; | ||
3705 | }; | ||
3706 | "magic-string-0.22.5" = { | ||
3707 | name = "magic-string"; | ||
3708 | packageName = "magic-string"; | ||
3709 | version = "0.22.5"; | ||
3710 | src = fetchurl { | ||
3711 | url = "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz"; | ||
3712 | sha512 = "oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w=="; | ||
3713 | }; | ||
3714 | }; | ||
3715 | "map-cache-0.2.2" = { | ||
3716 | name = "map-cache"; | ||
3717 | packageName = "map-cache"; | ||
3718 | version = "0.2.2"; | ||
3719 | src = fetchurl { | ||
3720 | url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz"; | ||
3721 | sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; | ||
3722 | }; | ||
3723 | }; | ||
3724 | "map-visit-1.0.0" = { | ||
3725 | name = "map-visit"; | ||
3726 | packageName = "map-visit"; | ||
3727 | version = "1.0.0"; | ||
3728 | src = fetchurl { | ||
3729 | url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz"; | ||
3730 | sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; | ||
3731 | }; | ||
3732 | }; | ||
3733 | "md5.js-1.3.5" = { | ||
3734 | name = "md5.js"; | ||
3735 | packageName = "md5.js"; | ||
3736 | version = "1.3.5"; | ||
3737 | src = fetchurl { | ||
3738 | url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"; | ||
3739 | sha512 = "xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="; | ||
3740 | }; | ||
3741 | }; | ||
3742 | "mdn-data-2.0.4" = { | ||
3743 | name = "mdn-data"; | ||
3744 | packageName = "mdn-data"; | ||
3745 | version = "2.0.4"; | ||
3746 | src = fetchurl { | ||
3747 | url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz"; | ||
3748 | sha512 = "iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="; | ||
3749 | }; | ||
3750 | }; | ||
3751 | "mdn-data-2.0.6" = { | ||
3752 | name = "mdn-data"; | ||
3753 | packageName = "mdn-data"; | ||
3754 | version = "2.0.6"; | ||
3755 | src = fetchurl { | ||
3756 | url = "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz"; | ||
3757 | sha512 = "rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA=="; | ||
3758 | }; | ||
3759 | }; | ||
3760 | "merge-source-map-1.0.4" = { | ||
3761 | name = "merge-source-map"; | ||
3762 | packageName = "merge-source-map"; | ||
3763 | version = "1.0.4"; | ||
3764 | src = fetchurl { | ||
3765 | url = "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz"; | ||
3766 | sha1 = "a5de46538dae84d4114cc5ea02b4772a6346701f"; | ||
3767 | }; | ||
3768 | }; | ||
3769 | "merge2-1.3.0" = { | ||
3770 | name = "merge2"; | ||
3771 | packageName = "merge2"; | ||
3772 | version = "1.3.0"; | ||
3773 | src = fetchurl { | ||
3774 | url = "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz"; | ||
3775 | sha512 = "2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw=="; | ||
3776 | }; | ||
3777 | }; | ||
3778 | "micromatch-3.1.10" = { | ||
3779 | name = "micromatch"; | ||
3780 | packageName = "micromatch"; | ||
3781 | version = "3.1.10"; | ||
3782 | src = fetchurl { | ||
3783 | url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz"; | ||
3784 | sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg=="; | ||
3785 | }; | ||
3786 | }; | ||
3787 | "miller-rabin-4.0.1" = { | ||
3788 | name = "miller-rabin"; | ||
3789 | packageName = "miller-rabin"; | ||
3790 | version = "4.0.1"; | ||
3791 | src = fetchurl { | ||
3792 | url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"; | ||
3793 | sha512 = "115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="; | ||
3794 | }; | ||
3795 | }; | ||
3796 | "mime-1.6.0" = { | ||
3797 | name = "mime"; | ||
3798 | packageName = "mime"; | ||
3799 | version = "1.6.0"; | ||
3800 | src = fetchurl { | ||
3801 | url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"; | ||
3802 | sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; | ||
3803 | }; | ||
3804 | }; | ||
3805 | "mime-db-1.44.0" = { | ||
3806 | name = "mime-db"; | ||
3807 | packageName = "mime-db"; | ||
3808 | version = "1.44.0"; | ||
3809 | src = fetchurl { | ||
3810 | url = "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz"; | ||
3811 | sha512 = "/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="; | ||
3812 | }; | ||
3813 | }; | ||
3814 | "mime-types-2.1.27" = { | ||
3815 | name = "mime-types"; | ||
3816 | packageName = "mime-types"; | ||
3817 | version = "2.1.27"; | ||
3818 | src = fetchurl { | ||
3819 | url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz"; | ||
3820 | sha512 = "JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w=="; | ||
3821 | }; | ||
3822 | }; | ||
3823 | "mimic-fn-1.2.0" = { | ||
3824 | name = "mimic-fn"; | ||
3825 | packageName = "mimic-fn"; | ||
3826 | version = "1.2.0"; | ||
3827 | src = fetchurl { | ||
3828 | url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz"; | ||
3829 | sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="; | ||
3830 | }; | ||
3831 | }; | ||
3832 | "minimalistic-assert-1.0.1" = { | ||
3833 | name = "minimalistic-assert"; | ||
3834 | packageName = "minimalistic-assert"; | ||
3835 | version = "1.0.1"; | ||
3836 | src = fetchurl { | ||
3837 | url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; | ||
3838 | sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="; | ||
3839 | }; | ||
3840 | }; | ||
3841 | "minimalistic-crypto-utils-1.0.1" = { | ||
3842 | name = "minimalistic-crypto-utils"; | ||
3843 | packageName = "minimalistic-crypto-utils"; | ||
3844 | version = "1.0.1"; | ||
3845 | src = fetchurl { | ||
3846 | url = "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; | ||
3847 | sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"; | ||
3848 | }; | ||
3849 | }; | ||
3850 | "minimatch-3.0.4" = { | ||
3851 | name = "minimatch"; | ||
3852 | packageName = "minimatch"; | ||
3853 | version = "3.0.4"; | ||
3854 | src = fetchurl { | ||
3855 | url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"; | ||
3856 | sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; | ||
3857 | }; | ||
3858 | }; | ||
3859 | "minimist-1.2.5" = { | ||
3860 | name = "minimist"; | ||
3861 | packageName = "minimist"; | ||
3862 | version = "1.2.5"; | ||
3863 | src = fetchurl { | ||
3864 | url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"; | ||
3865 | sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; | ||
3866 | }; | ||
3867 | }; | ||
3868 | "mixin-deep-1.3.2" = { | ||
3869 | name = "mixin-deep"; | ||
3870 | packageName = "mixin-deep"; | ||
3871 | version = "1.3.2"; | ||
3872 | src = fetchurl { | ||
3873 | url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz"; | ||
3874 | sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA=="; | ||
3875 | }; | ||
3876 | }; | ||
3877 | "mkdirp-0.5.5" = { | ||
3878 | name = "mkdirp"; | ||
3879 | packageName = "mkdirp"; | ||
3880 | version = "0.5.5"; | ||
3881 | src = fetchurl { | ||
3882 | url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"; | ||
3883 | sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; | ||
3884 | }; | ||
3885 | }; | ||
3886 | "mkdirp-1.0.4" = { | ||
3887 | name = "mkdirp"; | ||
3888 | packageName = "mkdirp"; | ||
3889 | version = "1.0.4"; | ||
3890 | src = fetchurl { | ||
3891 | url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"; | ||
3892 | sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="; | ||
3893 | }; | ||
3894 | }; | ||
3895 | "ms-2.0.0" = { | ||
3896 | name = "ms"; | ||
3897 | packageName = "ms"; | ||
3898 | version = "2.0.0"; | ||
3899 | src = fetchurl { | ||
3900 | url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"; | ||
3901 | sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; | ||
3902 | }; | ||
3903 | }; | ||
3904 | "ms-2.1.1" = { | ||
3905 | name = "ms"; | ||
3906 | packageName = "ms"; | ||
3907 | version = "2.1.1"; | ||
3908 | src = fetchurl { | ||
3909 | url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz"; | ||
3910 | sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="; | ||
3911 | }; | ||
3912 | }; | ||
3913 | "ms-2.1.2" = { | ||
3914 | name = "ms"; | ||
3915 | packageName = "ms"; | ||
3916 | version = "2.1.2"; | ||
3917 | src = fetchurl { | ||
3918 | url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"; | ||
3919 | sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; | ||
3920 | }; | ||
3921 | }; | ||
3922 | "nan-2.14.1" = { | ||
3923 | name = "nan"; | ||
3924 | packageName = "nan"; | ||
3925 | version = "2.14.1"; | ||
3926 | src = fetchurl { | ||
3927 | url = "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz"; | ||
3928 | sha512 = "isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="; | ||
3929 | }; | ||
3930 | }; | ||
3931 | "nanomatch-1.2.13" = { | ||
3932 | name = "nanomatch"; | ||
3933 | packageName = "nanomatch"; | ||
3934 | version = "1.2.13"; | ||
3935 | src = fetchurl { | ||
3936 | url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz"; | ||
3937 | sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA=="; | ||
3938 | }; | ||
3939 | }; | ||
3940 | "nice-try-1.0.5" = { | ||
3941 | name = "nice-try"; | ||
3942 | packageName = "nice-try"; | ||
3943 | version = "1.0.5"; | ||
3944 | src = fetchurl { | ||
3945 | url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"; | ||
3946 | sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="; | ||
3947 | }; | ||
3948 | }; | ||
3949 | "node-addon-api-1.7.1" = { | ||
3950 | name = "node-addon-api"; | ||
3951 | packageName = "node-addon-api"; | ||
3952 | version = "1.7.1"; | ||
3953 | src = fetchurl { | ||
3954 | url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz"; | ||
3955 | sha512 = "2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ=="; | ||
3956 | }; | ||
3957 | }; | ||
3958 | "node-elm-compiler-5.0.4" = { | ||
3959 | name = "node-elm-compiler"; | ||
3960 | packageName = "node-elm-compiler"; | ||
3961 | version = "5.0.4"; | ||
3962 | src = fetchurl { | ||
3963 | url = "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-5.0.4.tgz"; | ||
3964 | sha512 = "VQsT8QSierYGkHzRed+b4MnccQVF1+qPHunE8jBoU7jD6YpuRqCDPzEoC2zfyEJS80qVnlMZrqobLnyjzX9lJg=="; | ||
3965 | }; | ||
3966 | }; | ||
3967 | "node-forge-0.7.6" = { | ||
3968 | name = "node-forge"; | ||
3969 | packageName = "node-forge"; | ||
3970 | version = "0.7.6"; | ||
3971 | src = fetchurl { | ||
3972 | url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz"; | ||
3973 | sha512 = "sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw=="; | ||
3974 | }; | ||
3975 | }; | ||
3976 | "node-libs-browser-2.2.1" = { | ||
3977 | name = "node-libs-browser"; | ||
3978 | packageName = "node-libs-browser"; | ||
3979 | version = "2.2.1"; | ||
3980 | src = fetchurl { | ||
3981 | url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz"; | ||
3982 | sha512 = "h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q=="; | ||
3983 | }; | ||
3984 | }; | ||
3985 | "node-releases-1.1.53" = { | ||
3986 | name = "node-releases"; | ||
3987 | packageName = "node-releases"; | ||
3988 | version = "1.1.53"; | ||
3989 | src = fetchurl { | ||
3990 | url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.53.tgz"; | ||
3991 | sha512 = "wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ=="; | ||
3992 | }; | ||
3993 | }; | ||
3994 | "nopt-4.0.3" = { | ||
3995 | name = "nopt"; | ||
3996 | packageName = "nopt"; | ||
3997 | version = "4.0.3"; | ||
3998 | src = fetchurl { | ||
3999 | url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz"; | ||
4000 | sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg=="; | ||
4001 | }; | ||
4002 | }; | ||
4003 | "normalize-html-whitespace-1.0.0" = { | ||
4004 | name = "normalize-html-whitespace"; | ||
4005 | packageName = "normalize-html-whitespace"; | ||
4006 | version = "1.0.0"; | ||
4007 | src = fetchurl { | ||
4008 | url = "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz"; | ||
4009 | sha512 = "9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA=="; | ||
4010 | }; | ||
4011 | }; | ||
4012 | "normalize-path-2.1.1" = { | ||
4013 | name = "normalize-path"; | ||
4014 | packageName = "normalize-path"; | ||
4015 | version = "2.1.1"; | ||
4016 | src = fetchurl { | ||
4017 | url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz"; | ||
4018 | sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; | ||
4019 | }; | ||
4020 | }; | ||
4021 | "normalize-path-3.0.0" = { | ||
4022 | name = "normalize-path"; | ||
4023 | packageName = "normalize-path"; | ||
4024 | version = "3.0.0"; | ||
4025 | src = fetchurl { | ||
4026 | url = "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"; | ||
4027 | sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="; | ||
4028 | }; | ||
4029 | }; | ||
4030 | "normalize-url-3.3.0" = { | ||
4031 | name = "normalize-url"; | ||
4032 | packageName = "normalize-url"; | ||
4033 | version = "3.3.0"; | ||
4034 | src = fetchurl { | ||
4035 | url = "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz"; | ||
4036 | sha512 = "U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg=="; | ||
4037 | }; | ||
4038 | }; | ||
4039 | "nth-check-1.0.2" = { | ||
4040 | name = "nth-check"; | ||
4041 | packageName = "nth-check"; | ||
4042 | version = "1.0.2"; | ||
4043 | src = fetchurl { | ||
4044 | url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz"; | ||
4045 | sha512 = "WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg=="; | ||
4046 | }; | ||
4047 | }; | ||
4048 | "nwsapi-2.2.0" = { | ||
4049 | name = "nwsapi"; | ||
4050 | packageName = "nwsapi"; | ||
4051 | version = "2.2.0"; | ||
4052 | src = fetchurl { | ||
4053 | url = "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz"; | ||
4054 | sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="; | ||
4055 | }; | ||
4056 | }; | ||
4057 | "oauth-sign-0.9.0" = { | ||
4058 | name = "oauth-sign"; | ||
4059 | packageName = "oauth-sign"; | ||
4060 | version = "0.9.0"; | ||
4061 | src = fetchurl { | ||
4062 | url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; | ||
4063 | sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; | ||
4064 | }; | ||
4065 | }; | ||
4066 | "object-assign-4.1.1" = { | ||
4067 | name = "object-assign"; | ||
4068 | packageName = "object-assign"; | ||
4069 | version = "4.1.1"; | ||
4070 | src = fetchurl { | ||
4071 | url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; | ||
4072 | sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; | ||
4073 | }; | ||
4074 | }; | ||
4075 | "object-copy-0.1.0" = { | ||
4076 | name = "object-copy"; | ||
4077 | packageName = "object-copy"; | ||
4078 | version = "0.1.0"; | ||
4079 | src = fetchurl { | ||
4080 | url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz"; | ||
4081 | sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; | ||
4082 | }; | ||
4083 | }; | ||
4084 | "object-inspect-1.4.1" = { | ||
4085 | name = "object-inspect"; | ||
4086 | packageName = "object-inspect"; | ||
4087 | version = "1.4.1"; | ||
4088 | src = fetchurl { | ||
4089 | url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz"; | ||
4090 | sha512 = "wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw=="; | ||
4091 | }; | ||
4092 | }; | ||
4093 | "object-inspect-1.7.0" = { | ||
4094 | name = "object-inspect"; | ||
4095 | packageName = "object-inspect"; | ||
4096 | version = "1.7.0"; | ||
4097 | src = fetchurl { | ||
4098 | url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz"; | ||
4099 | sha512 = "a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="; | ||
4100 | }; | ||
4101 | }; | ||
4102 | "object-keys-1.1.1" = { | ||
4103 | name = "object-keys"; | ||
4104 | packageName = "object-keys"; | ||
4105 | version = "1.1.1"; | ||
4106 | src = fetchurl { | ||
4107 | url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"; | ||
4108 | sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="; | ||
4109 | }; | ||
4110 | }; | ||
4111 | "object-visit-1.0.1" = { | ||
4112 | name = "object-visit"; | ||
4113 | packageName = "object-visit"; | ||
4114 | version = "1.0.1"; | ||
4115 | src = fetchurl { | ||
4116 | url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz"; | ||
4117 | sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; | ||
4118 | }; | ||
4119 | }; | ||
4120 | "object.assign-4.1.0" = { | ||
4121 | name = "object.assign"; | ||
4122 | packageName = "object.assign"; | ||
4123 | version = "4.1.0"; | ||
4124 | src = fetchurl { | ||
4125 | url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz"; | ||
4126 | sha512 = "exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w=="; | ||
4127 | }; | ||
4128 | }; | ||
4129 | "object.getownpropertydescriptors-2.1.0" = { | ||
4130 | name = "object.getownpropertydescriptors"; | ||
4131 | packageName = "object.getownpropertydescriptors"; | ||
4132 | version = "2.1.0"; | ||
4133 | src = fetchurl { | ||
4134 | url = "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz"; | ||
4135 | sha512 = "Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg=="; | ||
4136 | }; | ||
4137 | }; | ||
4138 | "object.pick-1.3.0" = { | ||
4139 | name = "object.pick"; | ||
4140 | packageName = "object.pick"; | ||
4141 | version = "1.3.0"; | ||
4142 | src = fetchurl { | ||
4143 | url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz"; | ||
4144 | sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; | ||
4145 | }; | ||
4146 | }; | ||
4147 | "object.values-1.1.1" = { | ||
4148 | name = "object.values"; | ||
4149 | packageName = "object.values"; | ||
4150 | version = "1.1.1"; | ||
4151 | src = fetchurl { | ||
4152 | url = "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz"; | ||
4153 | sha512 = "WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA=="; | ||
4154 | }; | ||
4155 | }; | ||
4156 | "on-finished-2.3.0" = { | ||
4157 | name = "on-finished"; | ||
4158 | packageName = "on-finished"; | ||
4159 | version = "2.3.0"; | ||
4160 | src = fetchurl { | ||
4161 | url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"; | ||
4162 | sha1 = "20f1336481b083cd75337992a16971aa2d906947"; | ||
4163 | }; | ||
4164 | }; | ||
4165 | "once-1.4.0" = { | ||
4166 | name = "once"; | ||
4167 | packageName = "once"; | ||
4168 | version = "1.4.0"; | ||
4169 | src = fetchurl { | ||
4170 | url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; | ||
4171 | sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; | ||
4172 | }; | ||
4173 | }; | ||
4174 | "onetime-2.0.1" = { | ||
4175 | name = "onetime"; | ||
4176 | packageName = "onetime"; | ||
4177 | version = "2.0.1"; | ||
4178 | src = fetchurl { | ||
4179 | url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz"; | ||
4180 | sha1 = "067428230fd67443b2794b22bba528b6867962d4"; | ||
4181 | }; | ||
4182 | }; | ||
4183 | "opn-5.5.0" = { | ||
4184 | name = "opn"; | ||
4185 | packageName = "opn"; | ||
4186 | version = "5.5.0"; | ||
4187 | src = fetchurl { | ||
4188 | url = "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz"; | ||
4189 | sha512 = "PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA=="; | ||
4190 | }; | ||
4191 | }; | ||
4192 | "optionator-0.8.3" = { | ||
4193 | name = "optionator"; | ||
4194 | packageName = "optionator"; | ||
4195 | version = "0.8.3"; | ||
4196 | src = fetchurl { | ||
4197 | url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz"; | ||
4198 | sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="; | ||
4199 | }; | ||
4200 | }; | ||
4201 | "ora-2.1.0" = { | ||
4202 | name = "ora"; | ||
4203 | packageName = "ora"; | ||
4204 | version = "2.1.0"; | ||
4205 | src = fetchurl { | ||
4206 | url = "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz"; | ||
4207 | sha512 = "hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA=="; | ||
4208 | }; | ||
4209 | }; | ||
4210 | "os-browserify-0.3.0" = { | ||
4211 | name = "os-browserify"; | ||
4212 | packageName = "os-browserify"; | ||
4213 | version = "0.3.0"; | ||
4214 | src = fetchurl { | ||
4215 | url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz"; | ||
4216 | sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; | ||
4217 | }; | ||
4218 | }; | ||
4219 | "os-homedir-1.0.2" = { | ||
4220 | name = "os-homedir"; | ||
4221 | packageName = "os-homedir"; | ||
4222 | version = "1.0.2"; | ||
4223 | src = fetchurl { | ||
4224 | url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"; | ||
4225 | sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; | ||
4226 | }; | ||
4227 | }; | ||
4228 | "os-tmpdir-1.0.2" = { | ||
4229 | name = "os-tmpdir"; | ||
4230 | packageName = "os-tmpdir"; | ||
4231 | version = "1.0.2"; | ||
4232 | src = fetchurl { | ||
4233 | url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; | ||
4234 | sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; | ||
4235 | }; | ||
4236 | }; | ||
4237 | "osenv-0.1.5" = { | ||
4238 | name = "osenv"; | ||
4239 | packageName = "osenv"; | ||
4240 | version = "0.1.5"; | ||
4241 | src = fetchurl { | ||
4242 | url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz"; | ||
4243 | sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g=="; | ||
4244 | }; | ||
4245 | }; | ||
4246 | "p-limit-1.3.0" = { | ||
4247 | name = "p-limit"; | ||
4248 | packageName = "p-limit"; | ||
4249 | version = "1.3.0"; | ||
4250 | src = fetchurl { | ||
4251 | url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz"; | ||
4252 | sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q=="; | ||
4253 | }; | ||
4254 | }; | ||
4255 | "p-limit-2.3.0" = { | ||
4256 | name = "p-limit"; | ||
4257 | packageName = "p-limit"; | ||
4258 | version = "2.3.0"; | ||
4259 | src = fetchurl { | ||
4260 | url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"; | ||
4261 | sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="; | ||
4262 | }; | ||
4263 | }; | ||
4264 | "p-locate-2.0.0" = { | ||
4265 | name = "p-locate"; | ||
4266 | packageName = "p-locate"; | ||
4267 | version = "2.0.0"; | ||
4268 | src = fetchurl { | ||
4269 | url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz"; | ||
4270 | sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; | ||
4271 | }; | ||
4272 | }; | ||
4273 | "p-locate-3.0.0" = { | ||
4274 | name = "p-locate"; | ||
4275 | packageName = "p-locate"; | ||
4276 | version = "3.0.0"; | ||
4277 | src = fetchurl { | ||
4278 | url = "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz"; | ||
4279 | sha512 = "x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="; | ||
4280 | }; | ||
4281 | }; | ||
4282 | "p-try-1.0.0" = { | ||
4283 | name = "p-try"; | ||
4284 | packageName = "p-try"; | ||
4285 | version = "1.0.0"; | ||
4286 | src = fetchurl { | ||
4287 | url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz"; | ||
4288 | sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; | ||
4289 | }; | ||
4290 | }; | ||
4291 | "p-try-2.2.0" = { | ||
4292 | name = "p-try"; | ||
4293 | packageName = "p-try"; | ||
4294 | version = "2.2.0"; | ||
4295 | src = fetchurl { | ||
4296 | url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"; | ||
4297 | sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; | ||
4298 | }; | ||
4299 | }; | ||
4300 | "pako-0.2.9" = { | ||
4301 | name = "pako"; | ||
4302 | packageName = "pako"; | ||
4303 | version = "0.2.9"; | ||
4304 | src = fetchurl { | ||
4305 | url = "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz"; | ||
4306 | sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75"; | ||
4307 | }; | ||
4308 | }; | ||
4309 | "pako-1.0.11" = { | ||
4310 | name = "pako"; | ||
4311 | packageName = "pako"; | ||
4312 | version = "1.0.11"; | ||
4313 | src = fetchurl { | ||
4314 | url = "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz"; | ||
4315 | sha512 = "4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="; | ||
4316 | }; | ||
4317 | }; | ||
4318 | "parcel-bundler-1.12.3" = { | ||
4319 | name = "parcel-bundler"; | ||
4320 | packageName = "parcel-bundler"; | ||
4321 | version = "1.12.3"; | ||
4322 | src = fetchurl { | ||
4323 | url = "https://registry.npmjs.org/parcel-bundler/-/parcel-bundler-1.12.3.tgz"; | ||
4324 | sha512 = "8bq6lj0hhQeGxD9f9xEkFMXQ3d8TIlf2+isKxoi9bciB0KVEILRGllaPkUgp++5t0anToBh9+tG6ZyInXOC1/A=="; | ||
4325 | }; | ||
4326 | }; | ||
4327 | "parse-asn1-5.1.5" = { | ||
4328 | name = "parse-asn1"; | ||
4329 | packageName = "parse-asn1"; | ||
4330 | version = "5.1.5"; | ||
4331 | src = fetchurl { | ||
4332 | url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz"; | ||
4333 | sha512 = "jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ=="; | ||
4334 | }; | ||
4335 | }; | ||
4336 | "parse-json-4.0.0" = { | ||
4337 | name = "parse-json"; | ||
4338 | packageName = "parse-json"; | ||
4339 | version = "4.0.0"; | ||
4340 | src = fetchurl { | ||
4341 | url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz"; | ||
4342 | sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; | ||
4343 | }; | ||
4344 | }; | ||
4345 | "parse5-5.1.0" = { | ||
4346 | name = "parse5"; | ||
4347 | packageName = "parse5"; | ||
4348 | version = "5.1.0"; | ||
4349 | src = fetchurl { | ||
4350 | url = "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz"; | ||
4351 | sha512 = "fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ=="; | ||
4352 | }; | ||
4353 | }; | ||
4354 | "parseurl-1.3.3" = { | ||
4355 | name = "parseurl"; | ||
4356 | packageName = "parseurl"; | ||
4357 | version = "1.3.3"; | ||
4358 | src = fetchurl { | ||
4359 | url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"; | ||
4360 | sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="; | ||
4361 | }; | ||
4362 | }; | ||
4363 | "pascalcase-0.1.1" = { | ||
4364 | name = "pascalcase"; | ||
4365 | packageName = "pascalcase"; | ||
4366 | version = "0.1.1"; | ||
4367 | src = fetchurl { | ||
4368 | url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz"; | ||
4369 | sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; | ||
4370 | }; | ||
4371 | }; | ||
4372 | "path-browserify-0.0.1" = { | ||
4373 | name = "path-browserify"; | ||
4374 | packageName = "path-browserify"; | ||
4375 | version = "0.0.1"; | ||
4376 | src = fetchurl { | ||
4377 | url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz"; | ||
4378 | sha512 = "BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ=="; | ||
4379 | }; | ||
4380 | }; | ||
4381 | "path-dirname-1.0.2" = { | ||
4382 | name = "path-dirname"; | ||
4383 | packageName = "path-dirname"; | ||
4384 | version = "1.0.2"; | ||
4385 | src = fetchurl { | ||
4386 | url = "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz"; | ||
4387 | sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; | ||
4388 | }; | ||
4389 | }; | ||
4390 | "path-exists-3.0.0" = { | ||
4391 | name = "path-exists"; | ||
4392 | packageName = "path-exists"; | ||
4393 | version = "3.0.0"; | ||
4394 | src = fetchurl { | ||
4395 | url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz"; | ||
4396 | sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; | ||
4397 | }; | ||
4398 | }; | ||
4399 | "path-is-absolute-1.0.1" = { | ||
4400 | name = "path-is-absolute"; | ||
4401 | packageName = "path-is-absolute"; | ||
4402 | version = "1.0.1"; | ||
4403 | src = fetchurl { | ||
4404 | url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; | ||
4405 | sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; | ||
4406 | }; | ||
4407 | }; | ||
4408 | "path-key-2.0.1" = { | ||
4409 | name = "path-key"; | ||
4410 | packageName = "path-key"; | ||
4411 | version = "2.0.1"; | ||
4412 | src = fetchurl { | ||
4413 | url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"; | ||
4414 | sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; | ||
4415 | }; | ||
4416 | }; | ||
4417 | "path-parse-1.0.6" = { | ||
4418 | name = "path-parse"; | ||
4419 | packageName = "path-parse"; | ||
4420 | version = "1.0.6"; | ||
4421 | src = fetchurl { | ||
4422 | url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"; | ||
4423 | sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; | ||
4424 | }; | ||
4425 | }; | ||
4426 | "pbkdf2-3.0.17" = { | ||
4427 | name = "pbkdf2"; | ||
4428 | packageName = "pbkdf2"; | ||
4429 | version = "3.0.17"; | ||
4430 | src = fetchurl { | ||
4431 | url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz"; | ||
4432 | sha512 = "U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA=="; | ||
4433 | }; | ||
4434 | }; | ||
4435 | "performance-now-2.1.0" = { | ||
4436 | name = "performance-now"; | ||
4437 | packageName = "performance-now"; | ||
4438 | version = "2.1.0"; | ||
4439 | src = fetchurl { | ||
4440 | url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; | ||
4441 | sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; | ||
4442 | }; | ||
4443 | }; | ||
4444 | "physical-cpu-count-2.0.0" = { | ||
4445 | name = "physical-cpu-count"; | ||
4446 | packageName = "physical-cpu-count"; | ||
4447 | version = "2.0.0"; | ||
4448 | src = fetchurl { | ||
4449 | url = "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz"; | ||
4450 | sha1 = "18de2f97e4bf7a9551ad7511942b5496f7aba660"; | ||
4451 | }; | ||
4452 | }; | ||
4453 | "pkg-up-2.0.0" = { | ||
4454 | name = "pkg-up"; | ||
4455 | packageName = "pkg-up"; | ||
4456 | version = "2.0.0"; | ||
4457 | src = fetchurl { | ||
4458 | url = "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz"; | ||
4459 | sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f"; | ||
4460 | }; | ||
4461 | }; | ||
4462 | "pn-1.1.0" = { | ||
4463 | name = "pn"; | ||
4464 | packageName = "pn"; | ||
4465 | version = "1.1.0"; | ||
4466 | src = fetchurl { | ||
4467 | url = "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz"; | ||
4468 | sha512 = "2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA=="; | ||
4469 | }; | ||
4470 | }; | ||
4471 | "posix-character-classes-0.1.1" = { | ||
4472 | name = "posix-character-classes"; | ||
4473 | packageName = "posix-character-classes"; | ||
4474 | version = "0.1.1"; | ||
4475 | src = fetchurl { | ||
4476 | url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; | ||
4477 | sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; | ||
4478 | }; | ||
4479 | }; | ||
4480 | "postcss-6.0.1" = { | ||
4481 | name = "postcss"; | ||
4482 | packageName = "postcss"; | ||
4483 | version = "6.0.1"; | ||
4484 | src = fetchurl { | ||
4485 | url = "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz"; | ||
4486 | sha1 = "000dbd1f8eef217aa368b9a212c5fc40b2a8f3f2"; | ||
4487 | }; | ||
4488 | }; | ||
4489 | "postcss-6.0.23" = { | ||
4490 | name = "postcss"; | ||
4491 | packageName = "postcss"; | ||
4492 | version = "6.0.23"; | ||
4493 | src = fetchurl { | ||
4494 | url = "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz"; | ||
4495 | sha512 = "soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag=="; | ||
4496 | }; | ||
4497 | }; | ||
4498 | "postcss-7.0.27" = { | ||
4499 | name = "postcss"; | ||
4500 | packageName = "postcss"; | ||
4501 | version = "7.0.27"; | ||
4502 | src = fetchurl { | ||
4503 | url = "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz"; | ||
4504 | sha512 = "WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ=="; | ||
4505 | }; | ||
4506 | }; | ||
4507 | "postcss-calc-7.0.2" = { | ||
4508 | name = "postcss-calc"; | ||
4509 | packageName = "postcss-calc"; | ||
4510 | version = "7.0.2"; | ||
4511 | src = fetchurl { | ||
4512 | url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz"; | ||
4513 | sha512 = "rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ=="; | ||
4514 | }; | ||
4515 | }; | ||
4516 | "postcss-colormin-4.0.3" = { | ||
4517 | name = "postcss-colormin"; | ||
4518 | packageName = "postcss-colormin"; | ||
4519 | version = "4.0.3"; | ||
4520 | src = fetchurl { | ||
4521 | url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz"; | ||
4522 | sha512 = "WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw=="; | ||
4523 | }; | ||
4524 | }; | ||
4525 | "postcss-convert-values-4.0.1" = { | ||
4526 | name = "postcss-convert-values"; | ||
4527 | packageName = "postcss-convert-values"; | ||
4528 | version = "4.0.1"; | ||
4529 | src = fetchurl { | ||
4530 | url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz"; | ||
4531 | sha512 = "Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ=="; | ||
4532 | }; | ||
4533 | }; | ||
4534 | "postcss-discard-comments-4.0.2" = { | ||
4535 | name = "postcss-discard-comments"; | ||
4536 | packageName = "postcss-discard-comments"; | ||
4537 | version = "4.0.2"; | ||
4538 | src = fetchurl { | ||
4539 | url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz"; | ||
4540 | sha512 = "RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg=="; | ||
4541 | }; | ||
4542 | }; | ||
4543 | "postcss-discard-duplicates-4.0.2" = { | ||
4544 | name = "postcss-discard-duplicates"; | ||
4545 | packageName = "postcss-discard-duplicates"; | ||
4546 | version = "4.0.2"; | ||
4547 | src = fetchurl { | ||
4548 | url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz"; | ||
4549 | sha512 = "ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ=="; | ||
4550 | }; | ||
4551 | }; | ||
4552 | "postcss-discard-empty-4.0.1" = { | ||
4553 | name = "postcss-discard-empty"; | ||
4554 | packageName = "postcss-discard-empty"; | ||
4555 | version = "4.0.1"; | ||
4556 | src = fetchurl { | ||
4557 | url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz"; | ||
4558 | sha512 = "B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w=="; | ||
4559 | }; | ||
4560 | }; | ||
4561 | "postcss-discard-overridden-4.0.1" = { | ||
4562 | name = "postcss-discard-overridden"; | ||
4563 | packageName = "postcss-discard-overridden"; | ||
4564 | version = "4.0.1"; | ||
4565 | src = fetchurl { | ||
4566 | url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz"; | ||
4567 | sha512 = "IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg=="; | ||
4568 | }; | ||
4569 | }; | ||
4570 | "postcss-merge-longhand-4.0.11" = { | ||
4571 | name = "postcss-merge-longhand"; | ||
4572 | packageName = "postcss-merge-longhand"; | ||
4573 | version = "4.0.11"; | ||
4574 | src = fetchurl { | ||
4575 | url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz"; | ||
4576 | sha512 = "alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw=="; | ||
4577 | }; | ||
4578 | }; | ||
4579 | "postcss-merge-rules-4.0.3" = { | ||
4580 | name = "postcss-merge-rules"; | ||
4581 | packageName = "postcss-merge-rules"; | ||
4582 | version = "4.0.3"; | ||
4583 | src = fetchurl { | ||
4584 | url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz"; | ||
4585 | sha512 = "U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ=="; | ||
4586 | }; | ||
4587 | }; | ||
4588 | "postcss-minify-font-values-4.0.2" = { | ||
4589 | name = "postcss-minify-font-values"; | ||
4590 | packageName = "postcss-minify-font-values"; | ||
4591 | version = "4.0.2"; | ||
4592 | src = fetchurl { | ||
4593 | url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz"; | ||
4594 | sha512 = "j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg=="; | ||
4595 | }; | ||
4596 | }; | ||
4597 | "postcss-minify-gradients-4.0.2" = { | ||
4598 | name = "postcss-minify-gradients"; | ||
4599 | packageName = "postcss-minify-gradients"; | ||
4600 | version = "4.0.2"; | ||
4601 | src = fetchurl { | ||
4602 | url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz"; | ||
4603 | sha512 = "qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q=="; | ||
4604 | }; | ||
4605 | }; | ||
4606 | "postcss-minify-params-4.0.2" = { | ||
4607 | name = "postcss-minify-params"; | ||
4608 | packageName = "postcss-minify-params"; | ||
4609 | version = "4.0.2"; | ||
4610 | src = fetchurl { | ||
4611 | url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz"; | ||
4612 | sha512 = "G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg=="; | ||
4613 | }; | ||
4614 | }; | ||
4615 | "postcss-minify-selectors-4.0.2" = { | ||
4616 | name = "postcss-minify-selectors"; | ||
4617 | packageName = "postcss-minify-selectors"; | ||
4618 | version = "4.0.2"; | ||
4619 | src = fetchurl { | ||
4620 | url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz"; | ||
4621 | sha512 = "D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g=="; | ||
4622 | }; | ||
4623 | }; | ||
4624 | "postcss-modules-extract-imports-1.1.0" = { | ||
4625 | name = "postcss-modules-extract-imports"; | ||
4626 | packageName = "postcss-modules-extract-imports"; | ||
4627 | version = "1.1.0"; | ||
4628 | src = fetchurl { | ||
4629 | url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz"; | ||
4630 | sha1 = "b614c9720be6816eaee35fb3a5faa1dba6a05ddb"; | ||
4631 | }; | ||
4632 | }; | ||
4633 | "postcss-modules-local-by-default-1.2.0" = { | ||
4634 | name = "postcss-modules-local-by-default"; | ||
4635 | packageName = "postcss-modules-local-by-default"; | ||
4636 | version = "1.2.0"; | ||
4637 | src = fetchurl { | ||
4638 | url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz"; | ||
4639 | sha1 = "f7d80c398c5a393fa7964466bd19500a7d61c069"; | ||
4640 | }; | ||
4641 | }; | ||
4642 | "postcss-modules-scope-1.1.0" = { | ||
4643 | name = "postcss-modules-scope"; | ||
4644 | packageName = "postcss-modules-scope"; | ||
4645 | version = "1.1.0"; | ||
4646 | src = fetchurl { | ||
4647 | url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz"; | ||
4648 | sha1 = "d6ea64994c79f97b62a72b426fbe6056a194bb90"; | ||
4649 | }; | ||
4650 | }; | ||
4651 | "postcss-modules-values-1.3.0" = { | ||
4652 | name = "postcss-modules-values"; | ||
4653 | packageName = "postcss-modules-values"; | ||
4654 | version = "1.3.0"; | ||
4655 | src = fetchurl { | ||
4656 | url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz"; | ||
4657 | sha1 = "ecffa9d7e192518389f42ad0e83f72aec456ea20"; | ||
4658 | }; | ||
4659 | }; | ||
4660 | "postcss-normalize-charset-4.0.1" = { | ||
4661 | name = "postcss-normalize-charset"; | ||
4662 | packageName = "postcss-normalize-charset"; | ||
4663 | version = "4.0.1"; | ||
4664 | src = fetchurl { | ||
4665 | url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz"; | ||
4666 | sha512 = "gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g=="; | ||
4667 | }; | ||
4668 | }; | ||
4669 | "postcss-normalize-display-values-4.0.2" = { | ||
4670 | name = "postcss-normalize-display-values"; | ||
4671 | packageName = "postcss-normalize-display-values"; | ||
4672 | version = "4.0.2"; | ||
4673 | src = fetchurl { | ||
4674 | url = "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz"; | ||
4675 | sha512 = "3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ=="; | ||
4676 | }; | ||
4677 | }; | ||
4678 | "postcss-normalize-positions-4.0.2" = { | ||
4679 | name = "postcss-normalize-positions"; | ||
4680 | packageName = "postcss-normalize-positions"; | ||
4681 | version = "4.0.2"; | ||
4682 | src = fetchurl { | ||
4683 | url = "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz"; | ||
4684 | sha512 = "Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA=="; | ||
4685 | }; | ||
4686 | }; | ||
4687 | "postcss-normalize-repeat-style-4.0.2" = { | ||
4688 | name = "postcss-normalize-repeat-style"; | ||
4689 | packageName = "postcss-normalize-repeat-style"; | ||
4690 | version = "4.0.2"; | ||
4691 | src = fetchurl { | ||
4692 | url = "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz"; | ||
4693 | sha512 = "qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q=="; | ||
4694 | }; | ||
4695 | }; | ||
4696 | "postcss-normalize-string-4.0.2" = { | ||
4697 | name = "postcss-normalize-string"; | ||
4698 | packageName = "postcss-normalize-string"; | ||
4699 | version = "4.0.2"; | ||
4700 | src = fetchurl { | ||
4701 | url = "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz"; | ||
4702 | sha512 = "RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA=="; | ||
4703 | }; | ||
4704 | }; | ||
4705 | "postcss-normalize-timing-functions-4.0.2" = { | ||
4706 | name = "postcss-normalize-timing-functions"; | ||
4707 | packageName = "postcss-normalize-timing-functions"; | ||
4708 | version = "4.0.2"; | ||
4709 | src = fetchurl { | ||
4710 | url = "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz"; | ||
4711 | sha512 = "acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A=="; | ||
4712 | }; | ||
4713 | }; | ||
4714 | "postcss-normalize-unicode-4.0.1" = { | ||
4715 | name = "postcss-normalize-unicode"; | ||
4716 | packageName = "postcss-normalize-unicode"; | ||
4717 | version = "4.0.1"; | ||
4718 | src = fetchurl { | ||
4719 | url = "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz"; | ||
4720 | sha512 = "od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg=="; | ||
4721 | }; | ||
4722 | }; | ||
4723 | "postcss-normalize-url-4.0.1" = { | ||
4724 | name = "postcss-normalize-url"; | ||
4725 | packageName = "postcss-normalize-url"; | ||
4726 | version = "4.0.1"; | ||
4727 | src = fetchurl { | ||
4728 | url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz"; | ||
4729 | sha512 = "p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA=="; | ||
4730 | }; | ||
4731 | }; | ||
4732 | "postcss-normalize-whitespace-4.0.2" = { | ||
4733 | name = "postcss-normalize-whitespace"; | ||
4734 | packageName = "postcss-normalize-whitespace"; | ||
4735 | version = "4.0.2"; | ||
4736 | src = fetchurl { | ||
4737 | url = "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz"; | ||
4738 | sha512 = "tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA=="; | ||
4739 | }; | ||
4740 | }; | ||
4741 | "postcss-ordered-values-4.1.2" = { | ||
4742 | name = "postcss-ordered-values"; | ||
4743 | packageName = "postcss-ordered-values"; | ||
4744 | version = "4.1.2"; | ||
4745 | src = fetchurl { | ||
4746 | url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz"; | ||
4747 | sha512 = "2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw=="; | ||
4748 | }; | ||
4749 | }; | ||
4750 | "postcss-reduce-initial-4.0.3" = { | ||
4751 | name = "postcss-reduce-initial"; | ||
4752 | packageName = "postcss-reduce-initial"; | ||
4753 | version = "4.0.3"; | ||
4754 | src = fetchurl { | ||
4755 | url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz"; | ||
4756 | sha512 = "gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA=="; | ||
4757 | }; | ||
4758 | }; | ||
4759 | "postcss-reduce-transforms-4.0.2" = { | ||
4760 | name = "postcss-reduce-transforms"; | ||
4761 | packageName = "postcss-reduce-transforms"; | ||
4762 | version = "4.0.2"; | ||
4763 | src = fetchurl { | ||
4764 | url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz"; | ||
4765 | sha512 = "EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg=="; | ||
4766 | }; | ||
4767 | }; | ||
4768 | "postcss-selector-parser-3.1.2" = { | ||
4769 | name = "postcss-selector-parser"; | ||
4770 | packageName = "postcss-selector-parser"; | ||
4771 | version = "3.1.2"; | ||
4772 | src = fetchurl { | ||
4773 | url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz"; | ||
4774 | sha512 = "h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA=="; | ||
4775 | }; | ||
4776 | }; | ||
4777 | "postcss-selector-parser-6.0.2" = { | ||
4778 | name = "postcss-selector-parser"; | ||
4779 | packageName = "postcss-selector-parser"; | ||
4780 | version = "6.0.2"; | ||
4781 | src = fetchurl { | ||
4782 | url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz"; | ||
4783 | sha512 = "36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg=="; | ||
4784 | }; | ||
4785 | }; | ||
4786 | "postcss-svgo-4.0.2" = { | ||
4787 | name = "postcss-svgo"; | ||
4788 | packageName = "postcss-svgo"; | ||
4789 | version = "4.0.2"; | ||
4790 | src = fetchurl { | ||
4791 | url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz"; | ||
4792 | sha512 = "C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw=="; | ||
4793 | }; | ||
4794 | }; | ||
4795 | "postcss-unique-selectors-4.0.1" = { | ||
4796 | name = "postcss-unique-selectors"; | ||
4797 | packageName = "postcss-unique-selectors"; | ||
4798 | version = "4.0.1"; | ||
4799 | src = fetchurl { | ||
4800 | url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz"; | ||
4801 | sha512 = "+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg=="; | ||
4802 | }; | ||
4803 | }; | ||
4804 | "postcss-value-parser-3.3.1" = { | ||
4805 | name = "postcss-value-parser"; | ||
4806 | packageName = "postcss-value-parser"; | ||
4807 | version = "3.3.1"; | ||
4808 | src = fetchurl { | ||
4809 | url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz"; | ||
4810 | sha512 = "pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ=="; | ||
4811 | }; | ||
4812 | }; | ||
4813 | "postcss-value-parser-4.0.3" = { | ||
4814 | name = "postcss-value-parser"; | ||
4815 | packageName = "postcss-value-parser"; | ||
4816 | version = "4.0.3"; | ||
4817 | src = fetchurl { | ||
4818 | url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz"; | ||
4819 | sha512 = "N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg=="; | ||
4820 | }; | ||
4821 | }; | ||
4822 | "posthtml-0.11.6" = { | ||
4823 | name = "posthtml"; | ||
4824 | packageName = "posthtml"; | ||
4825 | version = "0.11.6"; | ||
4826 | src = fetchurl { | ||
4827 | url = "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz"; | ||
4828 | sha512 = "C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw=="; | ||
4829 | }; | ||
4830 | }; | ||
4831 | "posthtml-0.12.3" = { | ||
4832 | name = "posthtml"; | ||
4833 | packageName = "posthtml"; | ||
4834 | version = "0.12.3"; | ||
4835 | src = fetchurl { | ||
4836 | url = "https://registry.npmjs.org/posthtml/-/posthtml-0.12.3.tgz"; | ||
4837 | sha512 = "Fbpi95+JJyR0tqU7pUy1zTSQFjAsluuwB9pJ1h0jtnGk7n/O2TBtP5nDl9rV0JVACjQ1Lm5wSp4ppChr8u3MhA=="; | ||
4838 | }; | ||
4839 | }; | ||
4840 | "posthtml-parser-0.4.2" = { | ||
4841 | name = "posthtml-parser"; | ||
4842 | packageName = "posthtml-parser"; | ||
4843 | version = "0.4.2"; | ||
4844 | src = fetchurl { | ||
4845 | url = "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz"; | ||
4846 | sha512 = "BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg=="; | ||
4847 | }; | ||
4848 | }; | ||
4849 | "posthtml-render-1.2.2" = { | ||
4850 | name = "posthtml-render"; | ||
4851 | packageName = "posthtml-render"; | ||
4852 | version = "1.2.2"; | ||
4853 | src = fetchurl { | ||
4854 | url = "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.2.2.tgz"; | ||
4855 | sha512 = "MbIXTWwAfJ9qET6Zl29UNwJcDJEEz9Zkr5oDhiujitJa7YBJwEpbkX2cmuklCDxubTMoRWpid3q8DrSyGnUUzQ=="; | ||
4856 | }; | ||
4857 | }; | ||
4858 | "prelude-ls-1.1.2" = { | ||
4859 | name = "prelude-ls"; | ||
4860 | packageName = "prelude-ls"; | ||
4861 | version = "1.1.2"; | ||
4862 | src = fetchurl { | ||
4863 | url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"; | ||
4864 | sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; | ||
4865 | }; | ||
4866 | }; | ||
4867 | "private-0.1.8" = { | ||
4868 | name = "private"; | ||
4869 | packageName = "private"; | ||
4870 | version = "0.1.8"; | ||
4871 | src = fetchurl { | ||
4872 | url = "https://registry.npmjs.org/private/-/private-0.1.8.tgz"; | ||
4873 | sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="; | ||
4874 | }; | ||
4875 | }; | ||
4876 | "process-0.11.10" = { | ||
4877 | name = "process"; | ||
4878 | packageName = "process"; | ||
4879 | version = "0.11.10"; | ||
4880 | src = fetchurl { | ||
4881 | url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz"; | ||
4882 | sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182"; | ||
4883 | }; | ||
4884 | }; | ||
4885 | "process-nextick-args-2.0.1" = { | ||
4886 | name = "process-nextick-args"; | ||
4887 | packageName = "process-nextick-args"; | ||
4888 | version = "2.0.1"; | ||
4889 | src = fetchurl { | ||
4890 | url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; | ||
4891 | sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="; | ||
4892 | }; | ||
4893 | }; | ||
4894 | "proto-list-1.2.4" = { | ||
4895 | name = "proto-list"; | ||
4896 | packageName = "proto-list"; | ||
4897 | version = "1.2.4"; | ||
4898 | src = fetchurl { | ||
4899 | url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"; | ||
4900 | sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849"; | ||
4901 | }; | ||
4902 | }; | ||
4903 | "pseudomap-1.0.2" = { | ||
4904 | name = "pseudomap"; | ||
4905 | packageName = "pseudomap"; | ||
4906 | version = "1.0.2"; | ||
4907 | src = fetchurl { | ||
4908 | url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"; | ||
4909 | sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; | ||
4910 | }; | ||
4911 | }; | ||
4912 | "psl-1.8.0" = { | ||
4913 | name = "psl"; | ||
4914 | packageName = "psl"; | ||
4915 | version = "1.8.0"; | ||
4916 | src = fetchurl { | ||
4917 | url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"; | ||
4918 | sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="; | ||
4919 | }; | ||
4920 | }; | ||
4921 | "public-encrypt-4.0.3" = { | ||
4922 | name = "public-encrypt"; | ||
4923 | packageName = "public-encrypt"; | ||
4924 | version = "4.0.3"; | ||
4925 | src = fetchurl { | ||
4926 | url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz"; | ||
4927 | sha512 = "zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q=="; | ||
4928 | }; | ||
4929 | }; | ||
4930 | "punycode-1.3.2" = { | ||
4931 | name = "punycode"; | ||
4932 | packageName = "punycode"; | ||
4933 | version = "1.3.2"; | ||
4934 | src = fetchurl { | ||
4935 | url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"; | ||
4936 | sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d"; | ||
4937 | }; | ||
4938 | }; | ||
4939 | "punycode-1.4.1" = { | ||
4940 | name = "punycode"; | ||
4941 | packageName = "punycode"; | ||
4942 | version = "1.4.1"; | ||
4943 | src = fetchurl { | ||
4944 | url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"; | ||
4945 | sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; | ||
4946 | }; | ||
4947 | }; | ||
4948 | "punycode-2.1.1" = { | ||
4949 | name = "punycode"; | ||
4950 | packageName = "punycode"; | ||
4951 | version = "2.1.1"; | ||
4952 | src = fetchurl { | ||
4953 | url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; | ||
4954 | sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; | ||
4955 | }; | ||
4956 | }; | ||
4957 | "purgecss-1.4.2" = { | ||
4958 | name = "purgecss"; | ||
4959 | packageName = "purgecss"; | ||
4960 | version = "1.4.2"; | ||
4961 | src = fetchurl { | ||
4962 | url = "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz"; | ||
4963 | sha512 = "hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw=="; | ||
4964 | }; | ||
4965 | }; | ||
4966 | "q-1.5.1" = { | ||
4967 | name = "q"; | ||
4968 | packageName = "q"; | ||
4969 | version = "1.5.1"; | ||
4970 | src = fetchurl { | ||
4971 | url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz"; | ||
4972 | sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7"; | ||
4973 | }; | ||
4974 | }; | ||
4975 | "qs-6.5.2" = { | ||
4976 | name = "qs"; | ||
4977 | packageName = "qs"; | ||
4978 | version = "6.5.2"; | ||
4979 | src = fetchurl { | ||
4980 | url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; | ||
4981 | sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; | ||
4982 | }; | ||
4983 | }; | ||
4984 | "querystring-0.2.0" = { | ||
4985 | name = "querystring"; | ||
4986 | packageName = "querystring"; | ||
4987 | version = "0.2.0"; | ||
4988 | src = fetchurl { | ||
4989 | url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"; | ||
4990 | sha1 = "b209849203bb25df820da756e747005878521620"; | ||
4991 | }; | ||
4992 | }; | ||
4993 | "querystring-es3-0.2.1" = { | ||
4994 | name = "querystring-es3"; | ||
4995 | packageName = "querystring-es3"; | ||
4996 | version = "0.2.1"; | ||
4997 | src = fetchurl { | ||
4998 | url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"; | ||
4999 | sha1 = "9ec61f79049875707d69414596fd907a4d711e73"; | ||
5000 | }; | ||
5001 | }; | ||
5002 | "quote-stream-1.0.2" = { | ||
5003 | name = "quote-stream"; | ||
5004 | packageName = "quote-stream"; | ||
5005 | version = "1.0.2"; | ||
5006 | src = fetchurl { | ||
5007 | url = "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz"; | ||
5008 | sha1 = "84963f8c9c26b942e153feeb53aae74652b7e0b2"; | ||
5009 | }; | ||
5010 | }; | ||
5011 | "randombytes-2.1.0" = { | ||
5012 | name = "randombytes"; | ||
5013 | packageName = "randombytes"; | ||
5014 | version = "2.1.0"; | ||
5015 | src = fetchurl { | ||
5016 | url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"; | ||
5017 | sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="; | ||
5018 | }; | ||
5019 | }; | ||
5020 | "randomfill-1.0.4" = { | ||
5021 | name = "randomfill"; | ||
5022 | packageName = "randomfill"; | ||
5023 | version = "1.0.4"; | ||
5024 | src = fetchurl { | ||
5025 | url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz"; | ||
5026 | sha512 = "87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw=="; | ||
5027 | }; | ||
5028 | }; | ||
5029 | "range-parser-1.2.1" = { | ||
5030 | name = "range-parser"; | ||
5031 | packageName = "range-parser"; | ||
5032 | version = "1.2.1"; | ||
5033 | src = fetchurl { | ||
5034 | url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"; | ||
5035 | sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="; | ||
5036 | }; | ||
5037 | }; | ||
5038 | "readable-stream-2.3.7" = { | ||
5039 | name = "readable-stream"; | ||
5040 | packageName = "readable-stream"; | ||
5041 | version = "2.3.7"; | ||
5042 | src = fetchurl { | ||
5043 | url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"; | ||
5044 | sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="; | ||
5045 | }; | ||
5046 | }; | ||
5047 | "readable-stream-3.6.0" = { | ||
5048 | name = "readable-stream"; | ||
5049 | packageName = "readable-stream"; | ||
5050 | version = "3.6.0"; | ||
5051 | src = fetchurl { | ||
5052 | url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"; | ||
5053 | sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="; | ||
5054 | }; | ||
5055 | }; | ||
5056 | "readdirp-2.2.1" = { | ||
5057 | name = "readdirp"; | ||
5058 | packageName = "readdirp"; | ||
5059 | version = "2.2.1"; | ||
5060 | src = fetchurl { | ||
5061 | url = "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz"; | ||
5062 | sha512 = "1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ=="; | ||
5063 | }; | ||
5064 | }; | ||
5065 | "regenerate-1.4.0" = { | ||
5066 | name = "regenerate"; | ||
5067 | packageName = "regenerate"; | ||
5068 | version = "1.4.0"; | ||
5069 | src = fetchurl { | ||
5070 | url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz"; | ||
5071 | sha512 = "1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="; | ||
5072 | }; | ||
5073 | }; | ||
5074 | "regenerate-unicode-properties-8.2.0" = { | ||
5075 | name = "regenerate-unicode-properties"; | ||
5076 | packageName = "regenerate-unicode-properties"; | ||
5077 | version = "8.2.0"; | ||
5078 | src = fetchurl { | ||
5079 | url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz"; | ||
5080 | sha512 = "F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA=="; | ||
5081 | }; | ||
5082 | }; | ||
5083 | "regenerator-runtime-0.11.1" = { | ||
5084 | name = "regenerator-runtime"; | ||
5085 | packageName = "regenerator-runtime"; | ||
5086 | version = "0.11.1"; | ||
5087 | src = fetchurl { | ||
5088 | url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; | ||
5089 | sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="; | ||
5090 | }; | ||
5091 | }; | ||
5092 | "regenerator-runtime-0.12.1" = { | ||
5093 | name = "regenerator-runtime"; | ||
5094 | packageName = "regenerator-runtime"; | ||
5095 | version = "0.12.1"; | ||
5096 | src = fetchurl { | ||
5097 | url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz"; | ||
5098 | sha512 = "odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="; | ||
5099 | }; | ||
5100 | }; | ||
5101 | "regenerator-runtime-0.13.5" = { | ||
5102 | name = "regenerator-runtime"; | ||
5103 | packageName = "regenerator-runtime"; | ||
5104 | version = "0.13.5"; | ||
5105 | src = fetchurl { | ||
5106 | url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz"; | ||
5107 | sha512 = "ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="; | ||
5108 | }; | ||
5109 | }; | ||
5110 | "regenerator-transform-0.14.4" = { | ||
5111 | name = "regenerator-transform"; | ||
5112 | packageName = "regenerator-transform"; | ||
5113 | version = "0.14.4"; | ||
5114 | src = fetchurl { | ||
5115 | url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz"; | ||
5116 | sha512 = "EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw=="; | ||
5117 | }; | ||
5118 | }; | ||
5119 | "regex-not-1.0.2" = { | ||
5120 | name = "regex-not"; | ||
5121 | packageName = "regex-not"; | ||
5122 | version = "1.0.2"; | ||
5123 | src = fetchurl { | ||
5124 | url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz"; | ||
5125 | sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A=="; | ||
5126 | }; | ||
5127 | }; | ||
5128 | "regexpu-core-4.7.0" = { | ||
5129 | name = "regexpu-core"; | ||
5130 | packageName = "regexpu-core"; | ||
5131 | version = "4.7.0"; | ||
5132 | src = fetchurl { | ||
5133 | url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz"; | ||
5134 | sha512 = "TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ=="; | ||
5135 | }; | ||
5136 | }; | ||
5137 | "regjsgen-0.5.1" = { | ||
5138 | name = "regjsgen"; | ||
5139 | packageName = "regjsgen"; | ||
5140 | version = "0.5.1"; | ||
5141 | src = fetchurl { | ||
5142 | url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz"; | ||
5143 | sha512 = "5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg=="; | ||
5144 | }; | ||
5145 | }; | ||
5146 | "regjsparser-0.6.4" = { | ||
5147 | name = "regjsparser"; | ||
5148 | packageName = "regjsparser"; | ||
5149 | version = "0.6.4"; | ||
5150 | src = fetchurl { | ||
5151 | url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz"; | ||
5152 | sha512 = "64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw=="; | ||
5153 | }; | ||
5154 | }; | ||
5155 | "remove-trailing-separator-1.1.0" = { | ||
5156 | name = "remove-trailing-separator"; | ||
5157 | packageName = "remove-trailing-separator"; | ||
5158 | version = "1.1.0"; | ||
5159 | src = fetchurl { | ||
5160 | url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; | ||
5161 | sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; | ||
5162 | }; | ||
5163 | }; | ||
5164 | "repeat-element-1.1.3" = { | ||
5165 | name = "repeat-element"; | ||
5166 | packageName = "repeat-element"; | ||
5167 | version = "1.1.3"; | ||
5168 | src = fetchurl { | ||
5169 | url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz"; | ||
5170 | sha512 = "ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="; | ||
5171 | }; | ||
5172 | }; | ||
5173 | "repeat-string-1.6.1" = { | ||
5174 | name = "repeat-string"; | ||
5175 | packageName = "repeat-string"; | ||
5176 | version = "1.6.1"; | ||
5177 | src = fetchurl { | ||
5178 | url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz"; | ||
5179 | sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; | ||
5180 | }; | ||
5181 | }; | ||
5182 | "request-2.88.2" = { | ||
5183 | name = "request"; | ||
5184 | packageName = "request"; | ||
5185 | version = "2.88.2"; | ||
5186 | src = fetchurl { | ||
5187 | url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz"; | ||
5188 | sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="; | ||
5189 | }; | ||
5190 | }; | ||
5191 | "request-promise-core-1.1.3" = { | ||
5192 | name = "request-promise-core"; | ||
5193 | packageName = "request-promise-core"; | ||
5194 | version = "1.1.3"; | ||
5195 | src = fetchurl { | ||
5196 | url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz"; | ||
5197 | sha512 = "QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ=="; | ||
5198 | }; | ||
5199 | }; | ||
5200 | "request-promise-native-1.0.8" = { | ||
5201 | name = "request-promise-native"; | ||
5202 | packageName = "request-promise-native"; | ||
5203 | version = "1.0.8"; | ||
5204 | src = fetchurl { | ||
5205 | url = "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz"; | ||
5206 | sha512 = "dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ=="; | ||
5207 | }; | ||
5208 | }; | ||
5209 | "require-directory-2.1.1" = { | ||
5210 | name = "require-directory"; | ||
5211 | packageName = "require-directory"; | ||
5212 | version = "2.1.1"; | ||
5213 | src = fetchurl { | ||
5214 | url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"; | ||
5215 | sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; | ||
5216 | }; | ||
5217 | }; | ||
5218 | "require-main-filename-2.0.0" = { | ||
5219 | name = "require-main-filename"; | ||
5220 | packageName = "require-main-filename"; | ||
5221 | version = "2.0.0"; | ||
5222 | src = fetchurl { | ||
5223 | url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"; | ||
5224 | sha512 = "NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="; | ||
5225 | }; | ||
5226 | }; | ||
5227 | "resolve-1.17.0" = { | ||
5228 | name = "resolve"; | ||
5229 | packageName = "resolve"; | ||
5230 | version = "1.17.0"; | ||
5231 | src = fetchurl { | ||
5232 | url = "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz"; | ||
5233 | sha512 = "ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w=="; | ||
5234 | }; | ||
5235 | }; | ||
5236 | "resolve-from-3.0.0" = { | ||
5237 | name = "resolve-from"; | ||
5238 | packageName = "resolve-from"; | ||
5239 | version = "3.0.0"; | ||
5240 | src = fetchurl { | ||
5241 | url = "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz"; | ||
5242 | sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748"; | ||
5243 | }; | ||
5244 | }; | ||
5245 | "resolve-url-0.2.1" = { | ||
5246 | name = "resolve-url"; | ||
5247 | packageName = "resolve-url"; | ||
5248 | version = "0.2.1"; | ||
5249 | src = fetchurl { | ||
5250 | url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz"; | ||
5251 | sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; | ||
5252 | }; | ||
5253 | }; | ||
5254 | "restore-cursor-2.0.0" = { | ||
5255 | name = "restore-cursor"; | ||
5256 | packageName = "restore-cursor"; | ||
5257 | version = "2.0.0"; | ||
5258 | src = fetchurl { | ||
5259 | url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz"; | ||
5260 | sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; | ||
5261 | }; | ||
5262 | }; | ||
5263 | "ret-0.1.15" = { | ||
5264 | name = "ret"; | ||
5265 | packageName = "ret"; | ||
5266 | version = "0.1.15"; | ||
5267 | src = fetchurl { | ||
5268 | url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz"; | ||
5269 | sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="; | ||
5270 | }; | ||
5271 | }; | ||
5272 | "rgb-regex-1.0.1" = { | ||
5273 | name = "rgb-regex"; | ||
5274 | packageName = "rgb-regex"; | ||
5275 | version = "1.0.1"; | ||
5276 | src = fetchurl { | ||
5277 | url = "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz"; | ||
5278 | sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1"; | ||
5279 | }; | ||
5280 | }; | ||
5281 | "rgba-regex-1.0.0" = { | ||
5282 | name = "rgba-regex"; | ||
5283 | packageName = "rgba-regex"; | ||
5284 | version = "1.0.0"; | ||
5285 | src = fetchurl { | ||
5286 | url = "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz"; | ||
5287 | sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3"; | ||
5288 | }; | ||
5289 | }; | ||
5290 | "rimraf-2.6.3" = { | ||
5291 | name = "rimraf"; | ||
5292 | packageName = "rimraf"; | ||
5293 | version = "2.6.3"; | ||
5294 | src = fetchurl { | ||
5295 | url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz"; | ||
5296 | sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="; | ||
5297 | }; | ||
5298 | }; | ||
5299 | "ripemd160-2.0.2" = { | ||
5300 | name = "ripemd160"; | ||
5301 | packageName = "ripemd160"; | ||
5302 | version = "2.0.2"; | ||
5303 | src = fetchurl { | ||
5304 | url = "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"; | ||
5305 | sha512 = "ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="; | ||
5306 | }; | ||
5307 | }; | ||
5308 | "safe-buffer-5.1.2" = { | ||
5309 | name = "safe-buffer"; | ||
5310 | packageName = "safe-buffer"; | ||
5311 | version = "5.1.2"; | ||
5312 | src = fetchurl { | ||
5313 | url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"; | ||
5314 | sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; | ||
5315 | }; | ||
5316 | }; | ||
5317 | "safe-regex-1.1.0" = { | ||
5318 | name = "safe-regex"; | ||
5319 | packageName = "safe-regex"; | ||
5320 | version = "1.1.0"; | ||
5321 | src = fetchurl { | ||
5322 | url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz"; | ||
5323 | sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; | ||
5324 | }; | ||
5325 | }; | ||
5326 | "safer-buffer-2.1.2" = { | ||
5327 | name = "safer-buffer"; | ||
5328 | packageName = "safer-buffer"; | ||
5329 | version = "2.1.2"; | ||
5330 | src = fetchurl { | ||
5331 | url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"; | ||
5332 | sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; | ||
5333 | }; | ||
5334 | }; | ||
5335 | "safer-eval-1.3.6" = { | ||
5336 | name = "safer-eval"; | ||
5337 | packageName = "safer-eval"; | ||
5338 | version = "1.3.6"; | ||
5339 | src = fetchurl { | ||
5340 | url = "https://registry.npmjs.org/safer-eval/-/safer-eval-1.3.6.tgz"; | ||
5341 | sha512 = "DN9tBsZgtUOHODzSfO1nGCLhZtxc7Qq/d8/2SNxQZ9muYXZspSh1fO7HOsrf4lcelBNviAJLCxB/ggmG+jV1aw=="; | ||
5342 | }; | ||
5343 | }; | ||
5344 | "sax-1.2.4" = { | ||
5345 | name = "sax"; | ||
5346 | packageName = "sax"; | ||
5347 | version = "1.2.4"; | ||
5348 | src = fetchurl { | ||
5349 | url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"; | ||
5350 | sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="; | ||
5351 | }; | ||
5352 | }; | ||
5353 | "saxes-3.1.11" = { | ||
5354 | name = "saxes"; | ||
5355 | packageName = "saxes"; | ||
5356 | version = "3.1.11"; | ||
5357 | src = fetchurl { | ||
5358 | url = "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz"; | ||
5359 | sha512 = "Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g=="; | ||
5360 | }; | ||
5361 | }; | ||
5362 | "semver-5.7.1" = { | ||
5363 | name = "semver"; | ||
5364 | packageName = "semver"; | ||
5365 | version = "5.7.1"; | ||
5366 | src = fetchurl { | ||
5367 | url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"; | ||
5368 | sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="; | ||
5369 | }; | ||
5370 | }; | ||
5371 | "send-0.17.1" = { | ||
5372 | name = "send"; | ||
5373 | packageName = "send"; | ||
5374 | version = "0.17.1"; | ||
5375 | src = fetchurl { | ||
5376 | url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz"; | ||
5377 | sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg=="; | ||
5378 | }; | ||
5379 | }; | ||
5380 | "serialize-to-js-1.2.2" = { | ||
5381 | name = "serialize-to-js"; | ||
5382 | packageName = "serialize-to-js"; | ||
5383 | version = "1.2.2"; | ||
5384 | src = fetchurl { | ||
5385 | url = "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-1.2.2.tgz"; | ||
5386 | sha512 = "mUc8vA5iJghe+O+3s0YDGFLMJcqitVFk787YKiv8a4sf6RX5W0u81b+gcHrp15O0fFa010dRBVZvwcKXOWsL9Q=="; | ||
5387 | }; | ||
5388 | }; | ||
5389 | "serve-static-1.14.1" = { | ||
5390 | name = "serve-static"; | ||
5391 | packageName = "serve-static"; | ||
5392 | version = "1.14.1"; | ||
5393 | src = fetchurl { | ||
5394 | url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz"; | ||
5395 | sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg=="; | ||
5396 | }; | ||
5397 | }; | ||
5398 | "set-blocking-2.0.0" = { | ||
5399 | name = "set-blocking"; | ||
5400 | packageName = "set-blocking"; | ||
5401 | version = "2.0.0"; | ||
5402 | src = fetchurl { | ||
5403 | url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"; | ||
5404 | sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; | ||
5405 | }; | ||
5406 | }; | ||
5407 | "set-value-2.0.1" = { | ||
5408 | name = "set-value"; | ||
5409 | packageName = "set-value"; | ||
5410 | version = "2.0.1"; | ||
5411 | src = fetchurl { | ||
5412 | url = "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz"; | ||
5413 | sha512 = "JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw=="; | ||
5414 | }; | ||
5415 | }; | ||
5416 | "setimmediate-1.0.5" = { | ||
5417 | name = "setimmediate"; | ||
5418 | packageName = "setimmediate"; | ||
5419 | version = "1.0.5"; | ||
5420 | src = fetchurl { | ||
5421 | url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz"; | ||
5422 | sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285"; | ||
5423 | }; | ||
5424 | }; | ||
5425 | "setprototypeof-1.1.1" = { | ||
5426 | name = "setprototypeof"; | ||
5427 | packageName = "setprototypeof"; | ||
5428 | version = "1.1.1"; | ||
5429 | src = fetchurl { | ||
5430 | url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz"; | ||
5431 | sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="; | ||
5432 | }; | ||
5433 | }; | ||
5434 | "sha.js-2.4.11" = { | ||
5435 | name = "sha.js"; | ||
5436 | packageName = "sha.js"; | ||
5437 | version = "2.4.11"; | ||
5438 | src = fetchurl { | ||
5439 | url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"; | ||
5440 | sha512 = "QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ=="; | ||
5441 | }; | ||
5442 | }; | ||
5443 | "shallow-copy-0.0.1" = { | ||
5444 | name = "shallow-copy"; | ||
5445 | packageName = "shallow-copy"; | ||
5446 | version = "0.0.1"; | ||
5447 | src = fetchurl { | ||
5448 | url = "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz"; | ||
5449 | sha1 = "415f42702d73d810330292cc5ee86eae1a11a170"; | ||
5450 | }; | ||
5451 | }; | ||
5452 | "shebang-command-1.2.0" = { | ||
5453 | name = "shebang-command"; | ||
5454 | packageName = "shebang-command"; | ||
5455 | version = "1.2.0"; | ||
5456 | src = fetchurl { | ||
5457 | url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"; | ||
5458 | sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; | ||
5459 | }; | ||
5460 | }; | ||
5461 | "shebang-regex-1.0.0" = { | ||
5462 | name = "shebang-regex"; | ||
5463 | packageName = "shebang-regex"; | ||
5464 | version = "1.0.0"; | ||
5465 | src = fetchurl { | ||
5466 | url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"; | ||
5467 | sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; | ||
5468 | }; | ||
5469 | }; | ||
5470 | "sigmund-1.0.1" = { | ||
5471 | name = "sigmund"; | ||
5472 | packageName = "sigmund"; | ||
5473 | version = "1.0.1"; | ||
5474 | src = fetchurl { | ||
5475 | url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"; | ||
5476 | sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590"; | ||
5477 | }; | ||
5478 | }; | ||
5479 | "signal-exit-3.0.3" = { | ||
5480 | name = "signal-exit"; | ||
5481 | packageName = "signal-exit"; | ||
5482 | version = "3.0.3"; | ||
5483 | src = fetchurl { | ||
5484 | url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; | ||
5485 | sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; | ||
5486 | }; | ||
5487 | }; | ||
5488 | "simple-swizzle-0.2.2" = { | ||
5489 | name = "simple-swizzle"; | ||
5490 | packageName = "simple-swizzle"; | ||
5491 | version = "0.2.2"; | ||
5492 | src = fetchurl { | ||
5493 | url = "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; | ||
5494 | sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; | ||
5495 | }; | ||
5496 | }; | ||
5497 | "snapdragon-0.8.2" = { | ||
5498 | name = "snapdragon"; | ||
5499 | packageName = "snapdragon"; | ||
5500 | version = "0.8.2"; | ||
5501 | src = fetchurl { | ||
5502 | url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz"; | ||
5503 | sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg=="; | ||
5504 | }; | ||
5505 | }; | ||
5506 | "snapdragon-node-2.1.1" = { | ||
5507 | name = "snapdragon-node"; | ||
5508 | packageName = "snapdragon-node"; | ||
5509 | version = "2.1.1"; | ||
5510 | src = fetchurl { | ||
5511 | url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; | ||
5512 | sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw=="; | ||
5513 | }; | ||
5514 | }; | ||
5515 | "snapdragon-util-3.0.1" = { | ||
5516 | name = "snapdragon-util"; | ||
5517 | packageName = "snapdragon-util"; | ||
5518 | version = "3.0.1"; | ||
5519 | src = fetchurl { | ||
5520 | url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; | ||
5521 | sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ=="; | ||
5522 | }; | ||
5523 | }; | ||
5524 | "source-map-0.5.7" = { | ||
5525 | name = "source-map"; | ||
5526 | packageName = "source-map"; | ||
5527 | version = "0.5.7"; | ||
5528 | src = fetchurl { | ||
5529 | url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"; | ||
5530 | sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; | ||
5531 | }; | ||
5532 | }; | ||
5533 | "source-map-0.6.1" = { | ||
5534 | name = "source-map"; | ||
5535 | packageName = "source-map"; | ||
5536 | version = "0.6.1"; | ||
5537 | src = fetchurl { | ||
5538 | url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"; | ||
5539 | sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="; | ||
5540 | }; | ||
5541 | }; | ||
5542 | "source-map-resolve-0.5.3" = { | ||
5543 | name = "source-map-resolve"; | ||
5544 | packageName = "source-map-resolve"; | ||
5545 | version = "0.5.3"; | ||
5546 | src = fetchurl { | ||
5547 | url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; | ||
5548 | sha512 = "Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw=="; | ||
5549 | }; | ||
5550 | }; | ||
5551 | "source-map-support-0.5.19" = { | ||
5552 | name = "source-map-support"; | ||
5553 | packageName = "source-map-support"; | ||
5554 | version = "0.5.19"; | ||
5555 | src = fetchurl { | ||
5556 | url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz"; | ||
5557 | sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw=="; | ||
5558 | }; | ||
5559 | }; | ||
5560 | "source-map-url-0.4.0" = { | ||
5561 | name = "source-map-url"; | ||
5562 | packageName = "source-map-url"; | ||
5563 | version = "0.4.0"; | ||
5564 | src = fetchurl { | ||
5565 | url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz"; | ||
5566 | sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; | ||
5567 | }; | ||
5568 | }; | ||
5569 | "split-string-3.1.0" = { | ||
5570 | name = "split-string"; | ||
5571 | packageName = "split-string"; | ||
5572 | version = "3.1.0"; | ||
5573 | src = fetchurl { | ||
5574 | url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz"; | ||
5575 | sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw=="; | ||
5576 | }; | ||
5577 | }; | ||
5578 | "sprintf-js-1.0.3" = { | ||
5579 | name = "sprintf-js"; | ||
5580 | packageName = "sprintf-js"; | ||
5581 | version = "1.0.3"; | ||
5582 | src = fetchurl { | ||
5583 | url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; | ||
5584 | sha1 = "04e6926f662895354f3dd015203633b857297e2c"; | ||
5585 | }; | ||
5586 | }; | ||
5587 | "sshpk-1.16.1" = { | ||
5588 | name = "sshpk"; | ||
5589 | packageName = "sshpk"; | ||
5590 | version = "1.16.1"; | ||
5591 | src = fetchurl { | ||
5592 | url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; | ||
5593 | sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; | ||
5594 | }; | ||
5595 | }; | ||
5596 | "stable-0.1.8" = { | ||
5597 | name = "stable"; | ||
5598 | packageName = "stable"; | ||
5599 | version = "0.1.8"; | ||
5600 | src = fetchurl { | ||
5601 | url = "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"; | ||
5602 | sha512 = "ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="; | ||
5603 | }; | ||
5604 | }; | ||
5605 | "static-eval-2.0.5" = { | ||
5606 | name = "static-eval"; | ||
5607 | packageName = "static-eval"; | ||
5608 | version = "2.0.5"; | ||
5609 | src = fetchurl { | ||
5610 | url = "https://registry.npmjs.org/static-eval/-/static-eval-2.0.5.tgz"; | ||
5611 | sha512 = "nNbV6LbGtMBgv7e9LFkt5JV8RVlRsyJrphfAt9tOtBBW/SfnzZDf2KnS72an8e434A+9e/BmJuTxeGPvrAK7KA=="; | ||
5612 | }; | ||
5613 | }; | ||
5614 | "static-extend-0.1.2" = { | ||
5615 | name = "static-extend"; | ||
5616 | packageName = "static-extend"; | ||
5617 | version = "0.1.2"; | ||
5618 | src = fetchurl { | ||
5619 | url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz"; | ||
5620 | sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; | ||
5621 | }; | ||
5622 | }; | ||
5623 | "static-module-2.2.5" = { | ||
5624 | name = "static-module"; | ||
5625 | packageName = "static-module"; | ||
5626 | version = "2.2.5"; | ||
5627 | src = fetchurl { | ||
5628 | url = "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz"; | ||
5629 | sha512 = "D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ=="; | ||
5630 | }; | ||
5631 | }; | ||
5632 | "statuses-1.5.0" = { | ||
5633 | name = "statuses"; | ||
5634 | packageName = "statuses"; | ||
5635 | version = "1.5.0"; | ||
5636 | src = fetchurl { | ||
5637 | url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"; | ||
5638 | sha1 = "161c7dac177659fd9811f43771fa99381478628c"; | ||
5639 | }; | ||
5640 | }; | ||
5641 | "stealthy-require-1.1.1" = { | ||
5642 | name = "stealthy-require"; | ||
5643 | packageName = "stealthy-require"; | ||
5644 | version = "1.1.1"; | ||
5645 | src = fetchurl { | ||
5646 | url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz"; | ||
5647 | sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b"; | ||
5648 | }; | ||
5649 | }; | ||
5650 | "stream-browserify-2.0.2" = { | ||
5651 | name = "stream-browserify"; | ||
5652 | packageName = "stream-browserify"; | ||
5653 | version = "2.0.2"; | ||
5654 | src = fetchurl { | ||
5655 | url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz"; | ||
5656 | sha512 = "nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg=="; | ||
5657 | }; | ||
5658 | }; | ||
5659 | "stream-http-2.8.3" = { | ||
5660 | name = "stream-http"; | ||
5661 | packageName = "stream-http"; | ||
5662 | version = "2.8.3"; | ||
5663 | src = fetchurl { | ||
5664 | url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz"; | ||
5665 | sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw=="; | ||
5666 | }; | ||
5667 | }; | ||
5668 | "string-width-3.1.0" = { | ||
5669 | name = "string-width"; | ||
5670 | packageName = "string-width"; | ||
5671 | version = "3.1.0"; | ||
5672 | src = fetchurl { | ||
5673 | url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"; | ||
5674 | sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; | ||
5675 | }; | ||
5676 | }; | ||
5677 | "string.prototype.trimend-1.0.1" = { | ||
5678 | name = "string.prototype.trimend"; | ||
5679 | packageName = "string.prototype.trimend"; | ||
5680 | version = "1.0.1"; | ||
5681 | src = fetchurl { | ||
5682 | url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz"; | ||
5683 | sha512 = "LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g=="; | ||
5684 | }; | ||
5685 | }; | ||
5686 | "string.prototype.trimleft-2.1.2" = { | ||
5687 | name = "string.prototype.trimleft"; | ||
5688 | packageName = "string.prototype.trimleft"; | ||
5689 | version = "2.1.2"; | ||
5690 | src = fetchurl { | ||
5691 | url = "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz"; | ||
5692 | sha512 = "gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw=="; | ||
5693 | }; | ||
5694 | }; | ||
5695 | "string.prototype.trimright-2.1.2" = { | ||
5696 | name = "string.prototype.trimright"; | ||
5697 | packageName = "string.prototype.trimright"; | ||
5698 | version = "2.1.2"; | ||
5699 | src = fetchurl { | ||
5700 | url = "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz"; | ||
5701 | sha512 = "ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg=="; | ||
5702 | }; | ||
5703 | }; | ||
5704 | "string.prototype.trimstart-1.0.1" = { | ||
5705 | name = "string.prototype.trimstart"; | ||
5706 | packageName = "string.prototype.trimstart"; | ||
5707 | version = "1.0.1"; | ||
5708 | src = fetchurl { | ||
5709 | url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz"; | ||
5710 | sha512 = "XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw=="; | ||
5711 | }; | ||
5712 | }; | ||
5713 | "string_decoder-1.1.1" = { | ||
5714 | name = "string_decoder"; | ||
5715 | packageName = "string_decoder"; | ||
5716 | version = "1.1.1"; | ||
5717 | src = fetchurl { | ||
5718 | url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"; | ||
5719 | sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; | ||
5720 | }; | ||
5721 | }; | ||
5722 | "strip-ansi-3.0.1" = { | ||
5723 | name = "strip-ansi"; | ||
5724 | packageName = "strip-ansi"; | ||
5725 | version = "3.0.1"; | ||
5726 | src = fetchurl { | ||
5727 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; | ||
5728 | sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; | ||
5729 | }; | ||
5730 | }; | ||
5731 | "strip-ansi-4.0.0" = { | ||
5732 | name = "strip-ansi"; | ||
5733 | packageName = "strip-ansi"; | ||
5734 | version = "4.0.0"; | ||
5735 | src = fetchurl { | ||
5736 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"; | ||
5737 | sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; | ||
5738 | }; | ||
5739 | }; | ||
5740 | "strip-ansi-5.2.0" = { | ||
5741 | name = "strip-ansi"; | ||
5742 | packageName = "strip-ansi"; | ||
5743 | version = "5.2.0"; | ||
5744 | src = fetchurl { | ||
5745 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"; | ||
5746 | sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; | ||
5747 | }; | ||
5748 | }; | ||
5749 | "stylehacks-4.0.3" = { | ||
5750 | name = "stylehacks"; | ||
5751 | packageName = "stylehacks"; | ||
5752 | version = "4.0.3"; | ||
5753 | src = fetchurl { | ||
5754 | url = "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz"; | ||
5755 | sha512 = "7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g=="; | ||
5756 | }; | ||
5757 | }; | ||
5758 | "supports-color-2.0.0" = { | ||
5759 | name = "supports-color"; | ||
5760 | packageName = "supports-color"; | ||
5761 | version = "2.0.0"; | ||
5762 | src = fetchurl { | ||
5763 | url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"; | ||
5764 | sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; | ||
5765 | }; | ||
5766 | }; | ||
5767 | "supports-color-3.2.3" = { | ||
5768 | name = "supports-color"; | ||
5769 | packageName = "supports-color"; | ||
5770 | version = "3.2.3"; | ||
5771 | src = fetchurl { | ||
5772 | url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz"; | ||
5773 | sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"; | ||
5774 | }; | ||
5775 | }; | ||
5776 | "supports-color-5.5.0" = { | ||
5777 | name = "supports-color"; | ||
5778 | packageName = "supports-color"; | ||
5779 | version = "5.5.0"; | ||
5780 | src = fetchurl { | ||
5781 | url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"; | ||
5782 | sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; | ||
5783 | }; | ||
5784 | }; | ||
5785 | "supports-color-6.1.0" = { | ||
5786 | name = "supports-color"; | ||
5787 | packageName = "supports-color"; | ||
5788 | version = "6.1.0"; | ||
5789 | src = fetchurl { | ||
5790 | url = "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz"; | ||
5791 | sha512 = "qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ=="; | ||
5792 | }; | ||
5793 | }; | ||
5794 | "svgo-1.3.2" = { | ||
5795 | name = "svgo"; | ||
5796 | packageName = "svgo"; | ||
5797 | version = "1.3.2"; | ||
5798 | src = fetchurl { | ||
5799 | url = "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz"; | ||
5800 | sha512 = "yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw=="; | ||
5801 | }; | ||
5802 | }; | ||
5803 | "symbol-tree-3.2.4" = { | ||
5804 | name = "symbol-tree"; | ||
5805 | packageName = "symbol-tree"; | ||
5806 | version = "3.2.4"; | ||
5807 | src = fetchurl { | ||
5808 | url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz"; | ||
5809 | sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="; | ||
5810 | }; | ||
5811 | }; | ||
5812 | "temp-0.9.0" = { | ||
5813 | name = "temp"; | ||
5814 | packageName = "temp"; | ||
5815 | version = "0.9.0"; | ||
5816 | src = fetchurl { | ||
5817 | url = "https://registry.npmjs.org/temp/-/temp-0.9.0.tgz"; | ||
5818 | sha512 = "YfUhPQCJoNQE5N+FJQcdPz63O3x3sdT4Xju69Gj4iZe0lBKOtnAMi0SLj9xKhGkcGhsxThvTJ/usxtFPo438zQ=="; | ||
5819 | }; | ||
5820 | }; | ||
5821 | "terser-3.17.0" = { | ||
5822 | name = "terser"; | ||
5823 | packageName = "terser"; | ||
5824 | version = "3.17.0"; | ||
5825 | src = fetchurl { | ||
5826 | url = "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz"; | ||
5827 | sha512 = "/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ=="; | ||
5828 | }; | ||
5829 | }; | ||
5830 | "terser-4.6.12" = { | ||
5831 | name = "terser"; | ||
5832 | packageName = "terser"; | ||
5833 | version = "4.6.12"; | ||
5834 | src = fetchurl { | ||
5835 | url = "https://registry.npmjs.org/terser/-/terser-4.6.12.tgz"; | ||
5836 | sha512 = "fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww=="; | ||
5837 | }; | ||
5838 | }; | ||
5839 | "through2-2.0.5" = { | ||
5840 | name = "through2"; | ||
5841 | packageName = "through2"; | ||
5842 | version = "2.0.5"; | ||
5843 | src = fetchurl { | ||
5844 | url = "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"; | ||
5845 | sha512 = "/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ=="; | ||
5846 | }; | ||
5847 | }; | ||
5848 | "timers-browserify-2.0.11" = { | ||
5849 | name = "timers-browserify"; | ||
5850 | packageName = "timers-browserify"; | ||
5851 | version = "2.0.11"; | ||
5852 | src = fetchurl { | ||
5853 | url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz"; | ||
5854 | sha512 = "60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ=="; | ||
5855 | }; | ||
5856 | }; | ||
5857 | "timsort-0.3.0" = { | ||
5858 | name = "timsort"; | ||
5859 | packageName = "timsort"; | ||
5860 | version = "0.3.0"; | ||
5861 | src = fetchurl { | ||
5862 | url = "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz"; | ||
5863 | sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4"; | ||
5864 | }; | ||
5865 | }; | ||
5866 | "tiny-inflate-1.0.3" = { | ||
5867 | name = "tiny-inflate"; | ||
5868 | packageName = "tiny-inflate"; | ||
5869 | version = "1.0.3"; | ||
5870 | src = fetchurl { | ||
5871 | url = "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz"; | ||
5872 | sha512 = "pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="; | ||
5873 | }; | ||
5874 | }; | ||
5875 | "to-arraybuffer-1.0.1" = { | ||
5876 | name = "to-arraybuffer"; | ||
5877 | packageName = "to-arraybuffer"; | ||
5878 | version = "1.0.1"; | ||
5879 | src = fetchurl { | ||
5880 | url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; | ||
5881 | sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; | ||
5882 | }; | ||
5883 | }; | ||
5884 | "to-fast-properties-1.0.3" = { | ||
5885 | name = "to-fast-properties"; | ||
5886 | packageName = "to-fast-properties"; | ||
5887 | version = "1.0.3"; | ||
5888 | src = fetchurl { | ||
5889 | url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz"; | ||
5890 | sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47"; | ||
5891 | }; | ||
5892 | }; | ||
5893 | "to-fast-properties-2.0.0" = { | ||
5894 | name = "to-fast-properties"; | ||
5895 | packageName = "to-fast-properties"; | ||
5896 | version = "2.0.0"; | ||
5897 | src = fetchurl { | ||
5898 | url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; | ||
5899 | sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e"; | ||
5900 | }; | ||
5901 | }; | ||
5902 | "to-object-path-0.3.0" = { | ||
5903 | name = "to-object-path"; | ||
5904 | packageName = "to-object-path"; | ||
5905 | version = "0.3.0"; | ||
5906 | src = fetchurl { | ||
5907 | url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz"; | ||
5908 | sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; | ||
5909 | }; | ||
5910 | }; | ||
5911 | "to-regex-3.0.2" = { | ||
5912 | name = "to-regex"; | ||
5913 | packageName = "to-regex"; | ||
5914 | version = "3.0.2"; | ||
5915 | src = fetchurl { | ||
5916 | url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz"; | ||
5917 | sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw=="; | ||
5918 | }; | ||
5919 | }; | ||
5920 | "to-regex-range-2.1.1" = { | ||
5921 | name = "to-regex-range"; | ||
5922 | packageName = "to-regex-range"; | ||
5923 | version = "2.1.1"; | ||
5924 | src = fetchurl { | ||
5925 | url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz"; | ||
5926 | sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; | ||
5927 | }; | ||
5928 | }; | ||
5929 | "toidentifier-1.0.0" = { | ||
5930 | name = "toidentifier"; | ||
5931 | packageName = "toidentifier"; | ||
5932 | version = "1.0.0"; | ||
5933 | src = fetchurl { | ||
5934 | url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz"; | ||
5935 | sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="; | ||
5936 | }; | ||
5937 | }; | ||
5938 | "tough-cookie-2.5.0" = { | ||
5939 | name = "tough-cookie"; | ||
5940 | packageName = "tough-cookie"; | ||
5941 | version = "2.5.0"; | ||
5942 | src = fetchurl { | ||
5943 | url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz"; | ||
5944 | sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="; | ||
5945 | }; | ||
5946 | }; | ||
5947 | "tr46-1.0.1" = { | ||
5948 | name = "tr46"; | ||
5949 | packageName = "tr46"; | ||
5950 | version = "1.0.1"; | ||
5951 | src = fetchurl { | ||
5952 | url = "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz"; | ||
5953 | sha1 = "a8b13fd6bfd2489519674ccde55ba3693b706d09"; | ||
5954 | }; | ||
5955 | }; | ||
5956 | "trim-right-1.0.1" = { | ||
5957 | name = "trim-right"; | ||
5958 | packageName = "trim-right"; | ||
5959 | version = "1.0.1"; | ||
5960 | src = fetchurl { | ||
5961 | url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz"; | ||
5962 | sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003"; | ||
5963 | }; | ||
5964 | }; | ||
5965 | "tty-browserify-0.0.0" = { | ||
5966 | name = "tty-browserify"; | ||
5967 | packageName = "tty-browserify"; | ||
5968 | version = "0.0.0"; | ||
5969 | src = fetchurl { | ||
5970 | url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz"; | ||
5971 | sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6"; | ||
5972 | }; | ||
5973 | }; | ||
5974 | "tunnel-agent-0.6.0" = { | ||
5975 | name = "tunnel-agent"; | ||
5976 | packageName = "tunnel-agent"; | ||
5977 | version = "0.6.0"; | ||
5978 | src = fetchurl { | ||
5979 | url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; | ||
5980 | sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; | ||
5981 | }; | ||
5982 | }; | ||
5983 | "tweetnacl-0.14.5" = { | ||
5984 | name = "tweetnacl"; | ||
5985 | packageName = "tweetnacl"; | ||
5986 | version = "0.14.5"; | ||
5987 | src = fetchurl { | ||
5988 | url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; | ||
5989 | sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; | ||
5990 | }; | ||
5991 | }; | ||
5992 | "type-check-0.3.2" = { | ||
5993 | name = "type-check"; | ||
5994 | packageName = "type-check"; | ||
5995 | version = "0.3.2"; | ||
5996 | src = fetchurl { | ||
5997 | url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"; | ||
5998 | sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; | ||
5999 | }; | ||
6000 | }; | ||
6001 | "typedarray-0.0.6" = { | ||
6002 | name = "typedarray"; | ||
6003 | packageName = "typedarray"; | ||
6004 | version = "0.0.6"; | ||
6005 | src = fetchurl { | ||
6006 | url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"; | ||
6007 | sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; | ||
6008 | }; | ||
6009 | }; | ||
6010 | "uncss-0.17.3" = { | ||
6011 | name = "uncss"; | ||
6012 | packageName = "uncss"; | ||
6013 | version = "0.17.3"; | ||
6014 | src = fetchurl { | ||
6015 | url = "https://registry.npmjs.org/uncss/-/uncss-0.17.3.tgz"; | ||
6016 | sha512 = "ksdDWl81YWvF/X14fOSw4iu8tESDHFIeyKIeDrK6GEVTQvqJc1WlOEXqostNwOCi3qAj++4EaLsdAgPmUbEyog=="; | ||
6017 | }; | ||
6018 | }; | ||
6019 | "unicode-canonical-property-names-ecmascript-1.0.4" = { | ||
6020 | name = "unicode-canonical-property-names-ecmascript"; | ||
6021 | packageName = "unicode-canonical-property-names-ecmascript"; | ||
6022 | version = "1.0.4"; | ||
6023 | src = fetchurl { | ||
6024 | url = "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz"; | ||
6025 | sha512 = "jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="; | ||
6026 | }; | ||
6027 | }; | ||
6028 | "unicode-match-property-ecmascript-1.0.4" = { | ||
6029 | name = "unicode-match-property-ecmascript"; | ||
6030 | packageName = "unicode-match-property-ecmascript"; | ||
6031 | version = "1.0.4"; | ||
6032 | src = fetchurl { | ||
6033 | url = "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz"; | ||
6034 | sha512 = "L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg=="; | ||
6035 | }; | ||
6036 | }; | ||
6037 | "unicode-match-property-value-ecmascript-1.2.0" = { | ||
6038 | name = "unicode-match-property-value-ecmascript"; | ||
6039 | packageName = "unicode-match-property-value-ecmascript"; | ||
6040 | version = "1.2.0"; | ||
6041 | src = fetchurl { | ||
6042 | url = "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz"; | ||
6043 | sha512 = "wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ=="; | ||
6044 | }; | ||
6045 | }; | ||
6046 | "unicode-property-aliases-ecmascript-1.1.0" = { | ||
6047 | name = "unicode-property-aliases-ecmascript"; | ||
6048 | packageName = "unicode-property-aliases-ecmascript"; | ||
6049 | version = "1.1.0"; | ||
6050 | src = fetchurl { | ||
6051 | url = "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz"; | ||
6052 | sha512 = "PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg=="; | ||
6053 | }; | ||
6054 | }; | ||
6055 | "unicode-trie-0.3.1" = { | ||
6056 | name = "unicode-trie"; | ||
6057 | packageName = "unicode-trie"; | ||
6058 | version = "0.3.1"; | ||
6059 | src = fetchurl { | ||
6060 | url = "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz"; | ||
6061 | sha1 = "d671dddd89101a08bac37b6a5161010602052085"; | ||
6062 | }; | ||
6063 | }; | ||
6064 | "union-value-1.0.1" = { | ||
6065 | name = "union-value"; | ||
6066 | packageName = "union-value"; | ||
6067 | version = "1.0.1"; | ||
6068 | src = fetchurl { | ||
6069 | url = "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz"; | ||
6070 | sha512 = "tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg=="; | ||
6071 | }; | ||
6072 | }; | ||
6073 | "uniq-1.0.1" = { | ||
6074 | name = "uniq"; | ||
6075 | packageName = "uniq"; | ||
6076 | version = "1.0.1"; | ||
6077 | src = fetchurl { | ||
6078 | url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz"; | ||
6079 | sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff"; | ||
6080 | }; | ||
6081 | }; | ||
6082 | "uniqs-2.0.0" = { | ||
6083 | name = "uniqs"; | ||
6084 | packageName = "uniqs"; | ||
6085 | version = "2.0.0"; | ||
6086 | src = fetchurl { | ||
6087 | url = "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz"; | ||
6088 | sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02"; | ||
6089 | }; | ||
6090 | }; | ||
6091 | "unquote-1.1.1" = { | ||
6092 | name = "unquote"; | ||
6093 | packageName = "unquote"; | ||
6094 | version = "1.1.1"; | ||
6095 | src = fetchurl { | ||
6096 | url = "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz"; | ||
6097 | sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544"; | ||
6098 | }; | ||
6099 | }; | ||
6100 | "unset-value-1.0.0" = { | ||
6101 | name = "unset-value"; | ||
6102 | packageName = "unset-value"; | ||
6103 | version = "1.0.0"; | ||
6104 | src = fetchurl { | ||
6105 | url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz"; | ||
6106 | sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; | ||
6107 | }; | ||
6108 | }; | ||
6109 | "upath-1.2.0" = { | ||
6110 | name = "upath"; | ||
6111 | packageName = "upath"; | ||
6112 | version = "1.2.0"; | ||
6113 | src = fetchurl { | ||
6114 | url = "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz"; | ||
6115 | sha512 = "aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg=="; | ||
6116 | }; | ||
6117 | }; | ||
6118 | "uri-js-4.2.2" = { | ||
6119 | name = "uri-js"; | ||
6120 | packageName = "uri-js"; | ||
6121 | version = "4.2.2"; | ||
6122 | src = fetchurl { | ||
6123 | url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz"; | ||
6124 | sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ=="; | ||
6125 | }; | ||
6126 | }; | ||
6127 | "urix-0.1.0" = { | ||
6128 | name = "urix"; | ||
6129 | packageName = "urix"; | ||
6130 | version = "0.1.0"; | ||
6131 | src = fetchurl { | ||
6132 | url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz"; | ||
6133 | sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; | ||
6134 | }; | ||
6135 | }; | ||
6136 | "url-0.11.0" = { | ||
6137 | name = "url"; | ||
6138 | packageName = "url"; | ||
6139 | version = "0.11.0"; | ||
6140 | src = fetchurl { | ||
6141 | url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz"; | ||
6142 | sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"; | ||
6143 | }; | ||
6144 | }; | ||
6145 | "use-3.1.1" = { | ||
6146 | name = "use"; | ||
6147 | packageName = "use"; | ||
6148 | version = "3.1.1"; | ||
6149 | src = fetchurl { | ||
6150 | url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz"; | ||
6151 | sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="; | ||
6152 | }; | ||
6153 | }; | ||
6154 | "util-0.10.3" = { | ||
6155 | name = "util"; | ||
6156 | packageName = "util"; | ||
6157 | version = "0.10.3"; | ||
6158 | src = fetchurl { | ||
6159 | url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz"; | ||
6160 | sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; | ||
6161 | }; | ||
6162 | }; | ||
6163 | "util-0.11.1" = { | ||
6164 | name = "util"; | ||
6165 | packageName = "util"; | ||
6166 | version = "0.11.1"; | ||
6167 | src = fetchurl { | ||
6168 | url = "https://registry.npmjs.org/util/-/util-0.11.1.tgz"; | ||
6169 | sha512 = "HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ=="; | ||
6170 | }; | ||
6171 | }; | ||
6172 | "util-deprecate-1.0.2" = { | ||
6173 | name = "util-deprecate"; | ||
6174 | packageName = "util-deprecate"; | ||
6175 | version = "1.0.2"; | ||
6176 | src = fetchurl { | ||
6177 | url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; | ||
6178 | sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; | ||
6179 | }; | ||
6180 | }; | ||
6181 | "util.promisify-1.0.1" = { | ||
6182 | name = "util.promisify"; | ||
6183 | packageName = "util.promisify"; | ||
6184 | version = "1.0.1"; | ||
6185 | src = fetchurl { | ||
6186 | url = "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz"; | ||
6187 | sha512 = "g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA=="; | ||
6188 | }; | ||
6189 | }; | ||
6190 | "uuid-3.4.0" = { | ||
6191 | name = "uuid"; | ||
6192 | packageName = "uuid"; | ||
6193 | version = "3.4.0"; | ||
6194 | src = fetchurl { | ||
6195 | url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"; | ||
6196 | sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="; | ||
6197 | }; | ||
6198 | }; | ||
6199 | "v8-compile-cache-2.1.0" = { | ||
6200 | name = "v8-compile-cache"; | ||
6201 | packageName = "v8-compile-cache"; | ||
6202 | version = "2.1.0"; | ||
6203 | src = fetchurl { | ||
6204 | url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz"; | ||
6205 | sha512 = "usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g=="; | ||
6206 | }; | ||
6207 | }; | ||
6208 | "vendors-1.0.4" = { | ||
6209 | name = "vendors"; | ||
6210 | packageName = "vendors"; | ||
6211 | version = "1.0.4"; | ||
6212 | src = fetchurl { | ||
6213 | url = "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz"; | ||
6214 | sha512 = "/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w=="; | ||
6215 | }; | ||
6216 | }; | ||
6217 | "verror-1.10.0" = { | ||
6218 | name = "verror"; | ||
6219 | packageName = "verror"; | ||
6220 | version = "1.10.0"; | ||
6221 | src = fetchurl { | ||
6222 | url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; | ||
6223 | sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; | ||
6224 | }; | ||
6225 | }; | ||
6226 | "vlq-0.2.3" = { | ||
6227 | name = "vlq"; | ||
6228 | packageName = "vlq"; | ||
6229 | version = "0.2.3"; | ||
6230 | src = fetchurl { | ||
6231 | url = "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz"; | ||
6232 | sha512 = "DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow=="; | ||
6233 | }; | ||
6234 | }; | ||
6235 | "vm-browserify-1.1.2" = { | ||
6236 | name = "vm-browserify"; | ||
6237 | packageName = "vm-browserify"; | ||
6238 | version = "1.1.2"; | ||
6239 | src = fetchurl { | ||
6240 | url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"; | ||
6241 | sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="; | ||
6242 | }; | ||
6243 | }; | ||
6244 | "w3c-hr-time-1.0.2" = { | ||
6245 | name = "w3c-hr-time"; | ||
6246 | packageName = "w3c-hr-time"; | ||
6247 | version = "1.0.2"; | ||
6248 | src = fetchurl { | ||
6249 | url = "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz"; | ||
6250 | sha512 = "z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ=="; | ||
6251 | }; | ||
6252 | }; | ||
6253 | "w3c-xmlserializer-1.1.2" = { | ||
6254 | name = "w3c-xmlserializer"; | ||
6255 | packageName = "w3c-xmlserializer"; | ||
6256 | version = "1.1.2"; | ||
6257 | src = fetchurl { | ||
6258 | url = "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz"; | ||
6259 | sha512 = "p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg=="; | ||
6260 | }; | ||
6261 | }; | ||
6262 | "wcwidth-1.0.1" = { | ||
6263 | name = "wcwidth"; | ||
6264 | packageName = "wcwidth"; | ||
6265 | version = "1.0.1"; | ||
6266 | src = fetchurl { | ||
6267 | url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"; | ||
6268 | sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"; | ||
6269 | }; | ||
6270 | }; | ||
6271 | "webidl-conversions-4.0.2" = { | ||
6272 | name = "webidl-conversions"; | ||
6273 | packageName = "webidl-conversions"; | ||
6274 | version = "4.0.2"; | ||
6275 | src = fetchurl { | ||
6276 | url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz"; | ||
6277 | sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg=="; | ||
6278 | }; | ||
6279 | }; | ||
6280 | "whatwg-encoding-1.0.5" = { | ||
6281 | name = "whatwg-encoding"; | ||
6282 | packageName = "whatwg-encoding"; | ||
6283 | version = "1.0.5"; | ||
6284 | src = fetchurl { | ||
6285 | url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz"; | ||
6286 | sha512 = "b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw=="; | ||
6287 | }; | ||
6288 | }; | ||
6289 | "whatwg-mimetype-2.3.0" = { | ||
6290 | name = "whatwg-mimetype"; | ||
6291 | packageName = "whatwg-mimetype"; | ||
6292 | version = "2.3.0"; | ||
6293 | src = fetchurl { | ||
6294 | url = "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz"; | ||
6295 | sha512 = "M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="; | ||
6296 | }; | ||
6297 | }; | ||
6298 | "whatwg-url-7.1.0" = { | ||
6299 | name = "whatwg-url"; | ||
6300 | packageName = "whatwg-url"; | ||
6301 | version = "7.1.0"; | ||
6302 | src = fetchurl { | ||
6303 | url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz"; | ||
6304 | sha512 = "WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg=="; | ||
6305 | }; | ||
6306 | }; | ||
6307 | "which-1.3.1" = { | ||
6308 | name = "which"; | ||
6309 | packageName = "which"; | ||
6310 | version = "1.3.1"; | ||
6311 | src = fetchurl { | ||
6312 | url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz"; | ||
6313 | sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; | ||
6314 | }; | ||
6315 | }; | ||
6316 | "which-module-2.0.0" = { | ||
6317 | name = "which-module"; | ||
6318 | packageName = "which-module"; | ||
6319 | version = "2.0.0"; | ||
6320 | src = fetchurl { | ||
6321 | url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz"; | ||
6322 | sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; | ||
6323 | }; | ||
6324 | }; | ||
6325 | "word-wrap-1.2.3" = { | ||
6326 | name = "word-wrap"; | ||
6327 | packageName = "word-wrap"; | ||
6328 | version = "1.2.3"; | ||
6329 | src = fetchurl { | ||
6330 | url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"; | ||
6331 | sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="; | ||
6332 | }; | ||
6333 | }; | ||
6334 | "wrap-ansi-5.1.0" = { | ||
6335 | name = "wrap-ansi"; | ||
6336 | packageName = "wrap-ansi"; | ||
6337 | version = "5.1.0"; | ||
6338 | src = fetchurl { | ||
6339 | url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz"; | ||
6340 | sha512 = "QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q=="; | ||
6341 | }; | ||
6342 | }; | ||
6343 | "wrappy-1.0.2" = { | ||
6344 | name = "wrappy"; | ||
6345 | packageName = "wrappy"; | ||
6346 | version = "1.0.2"; | ||
6347 | src = fetchurl { | ||
6348 | url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; | ||
6349 | sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; | ||
6350 | }; | ||
6351 | }; | ||
6352 | "ws-5.2.2" = { | ||
6353 | name = "ws"; | ||
6354 | packageName = "ws"; | ||
6355 | version = "5.2.2"; | ||
6356 | src = fetchurl { | ||
6357 | url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz"; | ||
6358 | sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA=="; | ||
6359 | }; | ||
6360 | }; | ||
6361 | "ws-6.2.1" = { | ||
6362 | name = "ws"; | ||
6363 | packageName = "ws"; | ||
6364 | version = "6.2.1"; | ||
6365 | src = fetchurl { | ||
6366 | url = "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz"; | ||
6367 | sha512 = "GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA=="; | ||
6368 | }; | ||
6369 | }; | ||
6370 | "xml-name-validator-3.0.0" = { | ||
6371 | name = "xml-name-validator"; | ||
6372 | packageName = "xml-name-validator"; | ||
6373 | version = "3.0.0"; | ||
6374 | src = fetchurl { | ||
6375 | url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz"; | ||
6376 | sha512 = "A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="; | ||
6377 | }; | ||
6378 | }; | ||
6379 | "xmlchars-2.2.0" = { | ||
6380 | name = "xmlchars"; | ||
6381 | packageName = "xmlchars"; | ||
6382 | version = "2.2.0"; | ||
6383 | src = fetchurl { | ||
6384 | url = "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz"; | ||
6385 | sha512 = "JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="; | ||
6386 | }; | ||
6387 | }; | ||
6388 | "xtend-4.0.2" = { | ||
6389 | name = "xtend"; | ||
6390 | packageName = "xtend"; | ||
6391 | version = "4.0.2"; | ||
6392 | src = fetchurl { | ||
6393 | url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"; | ||
6394 | sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="; | ||
6395 | }; | ||
6396 | }; | ||
6397 | "y18n-4.0.0" = { | ||
6398 | name = "y18n"; | ||
6399 | packageName = "y18n"; | ||
6400 | version = "4.0.0"; | ||
6401 | src = fetchurl { | ||
6402 | url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz"; | ||
6403 | sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="; | ||
6404 | }; | ||
6405 | }; | ||
6406 | "yallist-2.1.2" = { | ||
6407 | name = "yallist"; | ||
6408 | packageName = "yallist"; | ||
6409 | version = "2.1.2"; | ||
6410 | src = fetchurl { | ||
6411 | url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"; | ||
6412 | sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; | ||
6413 | }; | ||
6414 | }; | ||
6415 | "yargs-14.2.3" = { | ||
6416 | name = "yargs"; | ||
6417 | packageName = "yargs"; | ||
6418 | version = "14.2.3"; | ||
6419 | src = fetchurl { | ||
6420 | url = "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz"; | ||
6421 | sha512 = "ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg=="; | ||
6422 | }; | ||
6423 | }; | ||
6424 | "yargs-parser-15.0.1" = { | ||
6425 | name = "yargs-parser"; | ||
6426 | packageName = "yargs-parser"; | ||
6427 | version = "15.0.1"; | ||
6428 | src = fetchurl { | ||
6429 | url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz"; | ||
6430 | sha512 = "0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw=="; | ||
6431 | }; | ||
6432 | }; | ||
6433 | }; | ||
6434 | args = { | ||
6435 | name = "codenamesgreen"; | ||
6436 | packageName = "codenamesgreen"; | ||
6437 | version = "1.0.0"; | ||
6438 | src = let | ||
6439 | upstream = fetchFromGitHub { | ||
6440 | owner = "jbowens"; | ||
6441 | repo = "codenamesgreen"; | ||
6442 | rev = "6d014d0df14bee72495e01f12885ef31cba3bd6b"; | ||
6443 | sha256 = "0bkaf52rnjw792q0755in4k5jbcrmgq06cl03fdl6zdr8kq2mhm0"; | ||
6444 | }; | ||
6445 | in | ||
6446 | runCommand "codenamesgreen-src" {} '' | ||
6447 | cp -a ${upstream} $out | ||
6448 | chmod -R u+w $out | ||
6449 | cd $out | ||
6450 | patch -p1 < ${./codenames.patch} | ||
6451 | patch -p1 < ${./immae-assets.patch} | ||
6452 | ''; | ||
6453 | dependencies = [ | ||
6454 | sources."@babel/code-frame-7.0.0" | ||
6455 | (sources."@babel/core-7.3.4" // { | ||
6456 | dependencies = [ | ||
6457 | sources."json5-2.1.3" | ||
6458 | sources."source-map-0.5.7" | ||
6459 | ]; | ||
6460 | }) | ||
6461 | (sources."@babel/generator-7.3.4" // { | ||
6462 | dependencies = [ | ||
6463 | sources."source-map-0.5.7" | ||
6464 | ]; | ||
6465 | }) | ||
6466 | (sources."@babel/helper-annotate-as-pure-7.8.3" // { | ||
6467 | dependencies = [ | ||
6468 | sources."@babel/types-7.9.5" | ||
6469 | ]; | ||
6470 | }) | ||
6471 | (sources."@babel/helper-builder-binary-assignment-operator-visitor-7.8.3" // { | ||
6472 | dependencies = [ | ||
6473 | sources."@babel/types-7.9.5" | ||
6474 | ]; | ||
6475 | }) | ||
6476 | (sources."@babel/helper-builder-react-jsx-7.9.0" // { | ||
6477 | dependencies = [ | ||
6478 | sources."@babel/types-7.9.5" | ||
6479 | ]; | ||
6480 | }) | ||
6481 | sources."@babel/helper-create-regexp-features-plugin-7.8.8" | ||
6482 | (sources."@babel/helper-define-map-7.8.3" // { | ||
6483 | dependencies = [ | ||
6484 | sources."@babel/types-7.9.5" | ||
6485 | ]; | ||
6486 | }) | ||
6487 | (sources."@babel/helper-explode-assignable-expression-7.8.3" // { | ||
6488 | dependencies = [ | ||
6489 | sources."@babel/code-frame-7.8.3" | ||
6490 | sources."@babel/generator-7.9.5" | ||
6491 | sources."@babel/parser-7.9.4" | ||
6492 | sources."@babel/traverse-7.9.5" | ||
6493 | sources."@babel/types-7.9.5" | ||
6494 | sources."source-map-0.5.7" | ||
6495 | ]; | ||
6496 | }) | ||
6497 | (sources."@babel/helper-function-name-7.9.5" // { | ||
6498 | dependencies = [ | ||
6499 | sources."@babel/code-frame-7.8.3" | ||
6500 | sources."@babel/parser-7.9.4" | ||
6501 | sources."@babel/template-7.8.6" | ||
6502 | sources."@babel/types-7.9.5" | ||
6503 | ]; | ||
6504 | }) | ||
6505 | (sources."@babel/helper-get-function-arity-7.8.3" // { | ||
6506 | dependencies = [ | ||
6507 | sources."@babel/types-7.9.5" | ||
6508 | ]; | ||
6509 | }) | ||
6510 | (sources."@babel/helper-hoist-variables-7.8.3" // { | ||
6511 | dependencies = [ | ||
6512 | sources."@babel/types-7.9.5" | ||
6513 | ]; | ||
6514 | }) | ||
6515 | (sources."@babel/helper-member-expression-to-functions-7.8.3" // { | ||
6516 | dependencies = [ | ||
6517 | sources."@babel/types-7.9.5" | ||
6518 | ]; | ||
6519 | }) | ||
6520 | (sources."@babel/helper-module-imports-7.8.3" // { | ||
6521 | dependencies = [ | ||
6522 | sources."@babel/types-7.9.5" | ||
6523 | ]; | ||
6524 | }) | ||
6525 | (sources."@babel/helper-module-transforms-7.9.0" // { | ||
6526 | dependencies = [ | ||
6527 | sources."@babel/code-frame-7.8.3" | ||
6528 | sources."@babel/parser-7.9.4" | ||
6529 | sources."@babel/template-7.8.6" | ||
6530 | sources."@babel/types-7.9.5" | ||
6531 | ]; | ||
6532 | }) | ||
6533 | (sources."@babel/helper-optimise-call-expression-7.8.3" // { | ||
6534 | dependencies = [ | ||
6535 | sources."@babel/types-7.9.5" | ||
6536 | ]; | ||
6537 | }) | ||
6538 | sources."@babel/helper-plugin-utils-7.8.3" | ||
6539 | sources."@babel/helper-regex-7.8.3" | ||
6540 | (sources."@babel/helper-remap-async-to-generator-7.8.3" // { | ||
6541 | dependencies = [ | ||
6542 | sources."@babel/code-frame-7.8.3" | ||
6543 | sources."@babel/generator-7.9.5" | ||
6544 | sources."@babel/parser-7.9.4" | ||
6545 | sources."@babel/template-7.8.6" | ||
6546 | sources."@babel/traverse-7.9.5" | ||
6547 | sources."@babel/types-7.9.5" | ||
6548 | sources."source-map-0.5.7" | ||
6549 | ]; | ||
6550 | }) | ||
6551 | (sources."@babel/helper-replace-supers-7.8.6" // { | ||
6552 | dependencies = [ | ||
6553 | sources."@babel/code-frame-7.8.3" | ||
6554 | sources."@babel/generator-7.9.5" | ||
6555 | sources."@babel/parser-7.9.4" | ||
6556 | sources."@babel/traverse-7.9.5" | ||
6557 | sources."@babel/types-7.9.5" | ||
6558 | sources."source-map-0.5.7" | ||
6559 | ]; | ||
6560 | }) | ||
6561 | (sources."@babel/helper-simple-access-7.8.3" // { | ||
6562 | dependencies = [ | ||
6563 | sources."@babel/code-frame-7.8.3" | ||
6564 | sources."@babel/parser-7.9.4" | ||
6565 | sources."@babel/template-7.8.6" | ||
6566 | sources."@babel/types-7.9.5" | ||
6567 | ]; | ||
6568 | }) | ||
6569 | (sources."@babel/helper-split-export-declaration-7.8.3" // { | ||
6570 | dependencies = [ | ||
6571 | sources."@babel/types-7.9.5" | ||
6572 | ]; | ||
6573 | }) | ||
6574 | sources."@babel/helper-validator-identifier-7.9.5" | ||
6575 | (sources."@babel/helper-wrap-function-7.8.3" // { | ||
6576 | dependencies = [ | ||
6577 | sources."@babel/code-frame-7.8.3" | ||
6578 | sources."@babel/generator-7.9.5" | ||
6579 | sources."@babel/parser-7.9.4" | ||
6580 | sources."@babel/template-7.8.6" | ||
6581 | sources."@babel/traverse-7.9.5" | ||
6582 | sources."@babel/types-7.9.5" | ||
6583 | sources."source-map-0.5.7" | ||
6584 | ]; | ||
6585 | }) | ||
6586 | (sources."@babel/helpers-7.9.2" // { | ||
6587 | dependencies = [ | ||
6588 | sources."@babel/code-frame-7.8.3" | ||
6589 | sources."@babel/generator-7.9.5" | ||
6590 | sources."@babel/parser-7.9.4" | ||
6591 | sources."@babel/template-7.8.6" | ||
6592 | sources."@babel/traverse-7.9.5" | ||
6593 | sources."@babel/types-7.9.5" | ||
6594 | sources."source-map-0.5.7" | ||
6595 | ]; | ||
6596 | }) | ||
6597 | sources."@babel/highlight-7.9.0" | ||
6598 | sources."@babel/parser-7.3.4" | ||
6599 | sources."@babel/plugin-proposal-async-generator-functions-7.8.3" | ||
6600 | sources."@babel/plugin-proposal-json-strings-7.8.3" | ||
6601 | sources."@babel/plugin-proposal-object-rest-spread-7.9.5" | ||
6602 | sources."@babel/plugin-proposal-optional-catch-binding-7.8.3" | ||
6603 | sources."@babel/plugin-proposal-unicode-property-regex-7.8.8" | ||
6604 | sources."@babel/plugin-syntax-async-generators-7.8.4" | ||
6605 | sources."@babel/plugin-syntax-flow-7.8.3" | ||
6606 | sources."@babel/plugin-syntax-json-strings-7.8.3" | ||
6607 | sources."@babel/plugin-syntax-jsx-7.8.3" | ||
6608 | sources."@babel/plugin-syntax-object-rest-spread-7.8.3" | ||
6609 | sources."@babel/plugin-syntax-optional-catch-binding-7.8.3" | ||
6610 | sources."@babel/plugin-transform-arrow-functions-7.8.3" | ||
6611 | sources."@babel/plugin-transform-async-to-generator-7.8.3" | ||
6612 | sources."@babel/plugin-transform-block-scoped-functions-7.8.3" | ||
6613 | sources."@babel/plugin-transform-block-scoping-7.8.3" | ||
6614 | sources."@babel/plugin-transform-classes-7.9.5" | ||
6615 | sources."@babel/plugin-transform-computed-properties-7.8.3" | ||
6616 | sources."@babel/plugin-transform-destructuring-7.9.5" | ||
6617 | sources."@babel/plugin-transform-dotall-regex-7.8.3" | ||
6618 | sources."@babel/plugin-transform-duplicate-keys-7.8.3" | ||
6619 | sources."@babel/plugin-transform-exponentiation-operator-7.8.3" | ||
6620 | sources."@babel/plugin-transform-flow-strip-types-7.3.4" | ||
6621 | sources."@babel/plugin-transform-for-of-7.9.0" | ||
6622 | sources."@babel/plugin-transform-function-name-7.8.3" | ||
6623 | sources."@babel/plugin-transform-literals-7.8.3" | ||
6624 | sources."@babel/plugin-transform-modules-amd-7.9.0" | ||
6625 | sources."@babel/plugin-transform-modules-commonjs-7.2.0" | ||
6626 | sources."@babel/plugin-transform-modules-systemjs-7.9.0" | ||
6627 | sources."@babel/plugin-transform-modules-umd-7.9.0" | ||
6628 | sources."@babel/plugin-transform-named-capturing-groups-regex-7.8.3" | ||
6629 | sources."@babel/plugin-transform-new-target-7.8.3" | ||
6630 | sources."@babel/plugin-transform-object-super-7.8.3" | ||
6631 | sources."@babel/plugin-transform-parameters-7.9.5" | ||
6632 | sources."@babel/plugin-transform-react-jsx-7.3.0" | ||
6633 | sources."@babel/plugin-transform-regenerator-7.8.7" | ||
6634 | sources."@babel/plugin-transform-shorthand-properties-7.8.3" | ||
6635 | sources."@babel/plugin-transform-spread-7.8.3" | ||
6636 | sources."@babel/plugin-transform-sticky-regex-7.8.3" | ||
6637 | sources."@babel/plugin-transform-template-literals-7.8.3" | ||
6638 | sources."@babel/plugin-transform-typeof-symbol-7.8.4" | ||
6639 | sources."@babel/plugin-transform-unicode-regex-7.8.3" | ||
6640 | sources."@babel/preset-env-7.3.4" | ||
6641 | (sources."@babel/runtime-7.3.4" // { | ||
6642 | dependencies = [ | ||
6643 | sources."regenerator-runtime-0.12.1" | ||
6644 | ]; | ||
6645 | }) | ||
6646 | sources."@babel/template-7.2.2" | ||
6647 | sources."@babel/traverse-7.3.4" | ||
6648 | sources."@babel/types-7.3.4" | ||
6649 | sources."@iarna/toml-2.2.5" | ||
6650 | sources."@mrmlnc/readdir-enhanced-2.2.1" | ||
6651 | sources."@nodelib/fs.stat-1.1.3" | ||
6652 | sources."@parcel/fs-1.11.0" | ||
6653 | sources."@parcel/logger-1.11.1" | ||
6654 | sources."@parcel/utils-1.11.0" | ||
6655 | sources."@parcel/watcher-1.12.1" | ||
6656 | sources."@parcel/workers-1.11.0" | ||
6657 | sources."@types/q-1.5.2" | ||
6658 | sources."abab-2.0.3" | ||
6659 | sources."abbrev-1.1.1" | ||
6660 | sources."acorn-7.1.1" | ||
6661 | (sources."acorn-globals-4.3.4" // { | ||
6662 | dependencies = [ | ||
6663 | sources."acorn-6.4.1" | ||
6664 | ]; | ||
6665 | }) | ||
6666 | sources."acorn-walk-6.2.0" | ||
6667 | sources."ajv-6.12.2" | ||
6668 | sources."alphanum-sort-1.0.2" | ||
6669 | sources."ansi-regex-3.0.0" | ||
6670 | sources."ansi-styles-3.2.1" | ||
6671 | (sources."ansi-to-html-0.6.14" // { | ||
6672 | dependencies = [ | ||
6673 | sources."entities-1.1.2" | ||
6674 | ]; | ||
6675 | }) | ||
6676 | (sources."anymatch-2.0.0" // { | ||
6677 | dependencies = [ | ||
6678 | sources."normalize-path-2.1.1" | ||
6679 | ]; | ||
6680 | }) | ||
6681 | sources."argparse-1.0.10" | ||
6682 | sources."arr-diff-4.0.0" | ||
6683 | sources."arr-flatten-1.1.0" | ||
6684 | sources."arr-union-3.1.0" | ||
6685 | sources."array-equal-1.0.0" | ||
6686 | sources."array-unique-0.3.2" | ||
6687 | sources."asn1-0.2.4" | ||
6688 | sources."asn1.js-4.10.1" | ||
6689 | (sources."assert-1.5.0" // { | ||
6690 | dependencies = [ | ||
6691 | sources."inherits-2.0.1" | ||
6692 | sources."util-0.10.3" | ||
6693 | ]; | ||
6694 | }) | ||
6695 | sources."assert-plus-1.0.0" | ||
6696 | sources."assign-symbols-1.0.0" | ||
6697 | sources."async-each-1.0.3" | ||
6698 | sources."async-limiter-1.0.1" | ||
6699 | sources."asynckit-0.4.0" | ||
6700 | sources."atob-2.1.2" | ||
6701 | sources."aws-sign2-0.7.0" | ||
6702 | sources."aws4-1.9.1" | ||
6703 | sources."babel-plugin-dynamic-import-node-2.3.3" | ||
6704 | (sources."babel-runtime-6.26.0" // { | ||
6705 | dependencies = [ | ||
6706 | sources."regenerator-runtime-0.11.1" | ||
6707 | ]; | ||
6708 | }) | ||
6709 | (sources."babel-types-6.26.0" // { | ||
6710 | dependencies = [ | ||
6711 | sources."to-fast-properties-1.0.3" | ||
6712 | ]; | ||
6713 | }) | ||
6714 | sources."babylon-walk-1.0.2" | ||
6715 | sources."balanced-match-1.0.0" | ||
6716 | (sources."base-0.11.2" // { | ||
6717 | dependencies = [ | ||
6718 | sources."define-property-1.0.0" | ||
6719 | sources."is-accessor-descriptor-1.0.0" | ||
6720 | sources."is-data-descriptor-1.0.0" | ||
6721 | sources."is-descriptor-1.0.2" | ||
6722 | ]; | ||
6723 | }) | ||
6724 | sources."base64-js-1.3.1" | ||
6725 | sources."bcrypt-pbkdf-1.0.2" | ||
6726 | sources."binary-extensions-1.13.1" | ||
6727 | sources."bindings-1.5.0" | ||
6728 | sources."bn.js-4.11.8" | ||
6729 | sources."boolbase-1.0.0" | ||
6730 | sources."brace-expansion-1.1.11" | ||
6731 | (sources."braces-2.3.2" // { | ||
6732 | dependencies = [ | ||
6733 | sources."extend-shallow-2.0.1" | ||
6734 | ]; | ||
6735 | }) | ||
6736 | sources."brfs-1.6.1" | ||
6737 | sources."brorand-1.1.0" | ||
6738 | sources."browser-process-hrtime-1.0.0" | ||
6739 | sources."browserify-aes-1.2.0" | ||
6740 | sources."browserify-cipher-1.0.1" | ||
6741 | sources."browserify-des-1.0.2" | ||
6742 | sources."browserify-rsa-4.0.1" | ||
6743 | sources."browserify-sign-4.0.4" | ||
6744 | (sources."browserify-zlib-0.2.0" // { | ||
6745 | dependencies = [ | ||
6746 | sources."pako-1.0.11" | ||
6747 | ]; | ||
6748 | }) | ||
6749 | sources."browserslist-4.12.0" | ||
6750 | sources."buffer-4.9.2" | ||
6751 | sources."buffer-equal-0.0.1" | ||
6752 | sources."buffer-from-1.1.1" | ||
6753 | sources."buffer-xor-1.0.3" | ||
6754 | sources."builtin-status-codes-3.0.0" | ||
6755 | sources."cache-base-1.0.1" | ||
6756 | sources."call-me-maybe-1.0.1" | ||
6757 | sources."caller-callsite-2.0.0" | ||
6758 | sources."caller-path-2.0.0" | ||
6759 | sources."callsites-2.0.0" | ||
6760 | sources."camelcase-5.3.1" | ||
6761 | sources."caniuse-api-3.0.0" | ||
6762 | sources."caniuse-lite-1.0.30001048" | ||
6763 | sources."caseless-0.12.0" | ||
6764 | (sources."chalk-2.4.2" // { | ||
6765 | dependencies = [ | ||
6766 | sources."supports-color-5.5.0" | ||
6767 | ]; | ||
6768 | }) | ||
6769 | (sources."chokidar-2.1.8" // { | ||
6770 | dependencies = [ | ||
6771 | sources."fsevents-1.2.12" | ||
6772 | ]; | ||
6773 | }) | ||
6774 | sources."cipher-base-1.0.4" | ||
6775 | (sources."class-utils-0.3.6" // { | ||
6776 | dependencies = [ | ||
6777 | sources."define-property-0.2.5" | ||
6778 | ]; | ||
6779 | }) | ||
6780 | sources."cli-cursor-2.1.0" | ||
6781 | sources."cli-spinners-1.3.1" | ||
6782 | (sources."cliui-5.0.0" // { | ||
6783 | dependencies = [ | ||
6784 | sources."ansi-regex-4.1.0" | ||
6785 | sources."strip-ansi-5.2.0" | ||
6786 | ]; | ||
6787 | }) | ||
6788 | sources."clone-2.1.2" | ||
6789 | sources."clones-1.2.0" | ||
6790 | sources."coa-2.0.2" | ||
6791 | sources."collection-visit-1.0.0" | ||
6792 | sources."color-3.1.2" | ||
6793 | sources."color-convert-1.9.3" | ||
6794 | sources."color-name-1.1.3" | ||
6795 | sources."color-string-1.5.3" | ||
6796 | sources."combined-stream-1.0.8" | ||
6797 | sources."command-exists-1.2.9" | ||
6798 | sources."commander-2.20.3" | ||
6799 | sources."component-emitter-1.3.0" | ||
6800 | sources."concat-map-0.0.1" | ||
6801 | sources."concat-stream-1.6.2" | ||
6802 | sources."config-chain-1.1.12" | ||
6803 | sources."console-browserify-1.2.0" | ||
6804 | sources."constants-browserify-1.0.0" | ||
6805 | sources."convert-source-map-1.7.0" | ||
6806 | sources."copy-descriptor-0.1.1" | ||
6807 | sources."core-js-2.6.11" | ||
6808 | sources."core-util-is-1.0.2" | ||
6809 | sources."cosmiconfig-5.2.1" | ||
6810 | sources."create-ecdh-4.0.3" | ||
6811 | sources."create-hash-1.2.0" | ||
6812 | sources."create-hmac-1.1.7" | ||
6813 | sources."cross-spawn-6.0.5" | ||
6814 | sources."crypto-browserify-3.12.0" | ||
6815 | sources."css-color-names-0.0.4" | ||
6816 | sources."css-declaration-sorter-4.0.1" | ||
6817 | (sources."css-modules-loader-core-1.1.0" // { | ||
6818 | dependencies = [ | ||
6819 | sources."ansi-regex-2.1.1" | ||
6820 | sources."ansi-styles-2.2.1" | ||
6821 | (sources."chalk-1.1.3" // { | ||
6822 | dependencies = [ | ||
6823 | sources."supports-color-2.0.0" | ||
6824 | ]; | ||
6825 | }) | ||
6826 | sources."has-flag-1.0.0" | ||
6827 | sources."postcss-6.0.1" | ||
6828 | sources."source-map-0.5.7" | ||
6829 | sources."strip-ansi-3.0.1" | ||
6830 | sources."supports-color-3.2.3" | ||
6831 | ]; | ||
6832 | }) | ||
6833 | sources."css-select-2.1.0" | ||
6834 | sources."css-select-base-adapter-0.1.1" | ||
6835 | sources."css-selector-tokenizer-0.7.2" | ||
6836 | sources."css-tree-1.0.0-alpha.37" | ||
6837 | sources."css-what-3.2.1" | ||
6838 | sources."cssesc-3.0.0" | ||
6839 | sources."cssnano-4.1.10" | ||
6840 | sources."cssnano-preset-default-4.0.7" | ||
6841 | sources."cssnano-util-get-arguments-4.0.0" | ||
6842 | sources."cssnano-util-get-match-4.0.0" | ||
6843 | sources."cssnano-util-raw-cache-4.0.1" | ||
6844 | sources."cssnano-util-same-parent-4.0.1" | ||
6845 | (sources."csso-4.0.3" // { | ||
6846 | dependencies = [ | ||
6847 | sources."css-tree-1.0.0-alpha.39" | ||
6848 | sources."mdn-data-2.0.6" | ||
6849 | ]; | ||
6850 | }) | ||
6851 | sources."cssom-0.3.8" | ||
6852 | sources."cssstyle-1.4.0" | ||
6853 | sources."dashdash-1.14.1" | ||
6854 | sources."data-urls-1.1.0" | ||
6855 | sources."deasync-0.1.19" | ||
6856 | sources."debug-4.1.1" | ||
6857 | sources."decamelize-1.2.0" | ||
6858 | sources."decode-uri-component-0.2.0" | ||
6859 | sources."deep-is-0.1.3" | ||
6860 | (sources."defaults-1.0.3" // { | ||
6861 | dependencies = [ | ||
6862 | sources."clone-1.0.4" | ||
6863 | ]; | ||
6864 | }) | ||
6865 | sources."define-properties-1.1.3" | ||
6866 | (sources."define-property-2.0.2" // { | ||
6867 | dependencies = [ | ||
6868 | sources."is-accessor-descriptor-1.0.0" | ||
6869 | sources."is-data-descriptor-1.0.0" | ||
6870 | sources."is-descriptor-1.0.2" | ||
6871 | ]; | ||
6872 | }) | ||
6873 | sources."delayed-stream-1.0.0" | ||
6874 | sources."depd-1.1.2" | ||
6875 | sources."des.js-1.0.1" | ||
6876 | sources."destroy-1.0.4" | ||
6877 | sources."diffie-hellman-5.0.3" | ||
6878 | (sources."dom-serializer-0.2.2" // { | ||
6879 | dependencies = [ | ||
6880 | sources."domelementtype-2.0.1" | ||
6881 | ]; | ||
6882 | }) | ||
6883 | sources."domain-browser-1.2.0" | ||
6884 | sources."domelementtype-1.3.1" | ||
6885 | sources."domexception-1.0.1" | ||
6886 | sources."domhandler-2.4.2" | ||
6887 | sources."domutils-1.7.0" | ||
6888 | sources."dot-prop-5.2.0" | ||
6889 | sources."dotenv-5.0.1" | ||
6890 | sources."dotenv-expand-4.2.0" | ||
6891 | sources."duplexer2-0.1.4" | ||
6892 | sources."ecc-jsbn-0.1.2" | ||
6893 | sources."editorconfig-0.15.3" | ||
6894 | sources."ee-first-1.1.1" | ||
6895 | sources."electron-to-chromium-1.3.418" | ||
6896 | sources."elliptic-6.5.2" | ||
6897 | sources."elm-hot-1.1.1" | ||
6898 | sources."emoji-regex-7.0.3" | ||
6899 | sources."encodeurl-1.0.2" | ||
6900 | sources."entities-2.0.0" | ||
6901 | sources."error-ex-1.3.2" | ||
6902 | sources."es-abstract-1.17.5" | ||
6903 | sources."es-to-primitive-1.2.1" | ||
6904 | sources."escape-html-1.0.3" | ||
6905 | sources."escape-string-regexp-1.0.5" | ||
6906 | (sources."escodegen-1.9.1" // { | ||
6907 | dependencies = [ | ||
6908 | sources."esprima-3.1.3" | ||
6909 | ]; | ||
6910 | }) | ||
6911 | sources."esprima-4.0.1" | ||
6912 | sources."estraverse-4.3.0" | ||
6913 | sources."esutils-2.0.3" | ||
6914 | sources."etag-1.8.1" | ||
6915 | sources."events-3.1.0" | ||
6916 | sources."evp_bytestokey-1.0.3" | ||
6917 | (sources."expand-brackets-2.1.4" // { | ||
6918 | dependencies = [ | ||
6919 | sources."debug-2.6.9" | ||
6920 | sources."define-property-0.2.5" | ||
6921 | sources."extend-shallow-2.0.1" | ||
6922 | sources."ms-2.0.0" | ||
6923 | ]; | ||
6924 | }) | ||
6925 | sources."extend-3.0.2" | ||
6926 | (sources."extend-shallow-3.0.2" // { | ||
6927 | dependencies = [ | ||
6928 | sources."is-extendable-1.0.1" | ||
6929 | ]; | ||
6930 | }) | ||
6931 | (sources."extglob-2.0.4" // { | ||
6932 | dependencies = [ | ||
6933 | sources."define-property-1.0.0" | ||
6934 | sources."extend-shallow-2.0.1" | ||
6935 | sources."is-accessor-descriptor-1.0.0" | ||
6936 | sources."is-data-descriptor-1.0.0" | ||
6937 | sources."is-descriptor-1.0.2" | ||
6938 | ]; | ||
6939 | }) | ||
6940 | sources."extsprintf-1.3.0" | ||
6941 | (sources."falafel-2.2.4" // { | ||
6942 | dependencies = [ | ||
6943 | sources."isarray-2.0.5" | ||
6944 | ]; | ||
6945 | }) | ||
6946 | sources."fast-deep-equal-3.1.1" | ||
6947 | sources."fast-glob-2.2.7" | ||
6948 | sources."fast-json-stable-stringify-2.1.0" | ||
6949 | sources."fast-levenshtein-2.0.6" | ||
6950 | sources."fastparse-1.1.2" | ||
6951 | sources."file-uri-to-path-1.0.0" | ||
6952 | sources."filesize-3.6.1" | ||
6953 | (sources."fill-range-4.0.0" // { | ||
6954 | dependencies = [ | ||
6955 | sources."extend-shallow-2.0.1" | ||
6956 | ]; | ||
6957 | }) | ||
6958 | sources."find-elm-dependencies-2.0.2" | ||
6959 | sources."find-up-2.1.0" | ||
6960 | sources."firstline-1.2.0" | ||
6961 | sources."for-in-1.0.2" | ||
6962 | sources."foreach-2.0.5" | ||
6963 | sources."forever-agent-0.6.1" | ||
6964 | sources."form-data-2.3.3" | ||
6965 | sources."fragment-cache-0.2.1" | ||
6966 | sources."fresh-0.5.2" | ||
6967 | sources."fs.realpath-1.0.0" | ||
6968 | sources."function-bind-1.1.1" | ||
6969 | sources."get-caller-file-2.0.5" | ||
6970 | sources."get-port-3.2.0" | ||
6971 | sources."get-value-2.0.6" | ||
6972 | sources."getpass-0.1.7" | ||
6973 | sources."glob-7.1.4" | ||
6974 | (sources."glob-parent-3.1.0" // { | ||
6975 | dependencies = [ | ||
6976 | sources."is-glob-3.1.0" | ||
6977 | ]; | ||
6978 | }) | ||
6979 | sources."glob-to-regexp-0.3.0" | ||
6980 | sources."globals-11.12.0" | ||
6981 | sources."graceful-fs-4.2.3" | ||
6982 | sources."grapheme-breaker-0.3.2" | ||
6983 | sources."har-schema-2.0.0" | ||
6984 | sources."har-validator-5.1.3" | ||
6985 | sources."has-1.0.3" | ||
6986 | (sources."has-ansi-2.0.0" // { | ||
6987 | dependencies = [ | ||
6988 | sources."ansi-regex-2.1.1" | ||
6989 | ]; | ||
6990 | }) | ||
6991 | sources."has-flag-3.0.0" | ||
6992 | sources."has-symbols-1.0.1" | ||
6993 | sources."has-value-1.0.0" | ||
6994 | (sources."has-values-1.0.0" // { | ||
6995 | dependencies = [ | ||
6996 | sources."kind-of-4.0.0" | ||
6997 | ]; | ||
6998 | }) | ||
6999 | sources."hash-base-3.0.4" | ||
7000 | sources."hash.js-1.1.7" | ||
7001 | sources."hex-color-regex-1.1.0" | ||
7002 | sources."hmac-drbg-1.0.1" | ||
7003 | sources."hsl-regex-1.0.0" | ||
7004 | sources."hsla-regex-1.0.0" | ||
7005 | sources."html-comment-regex-1.1.2" | ||
7006 | sources."html-encoding-sniffer-1.0.2" | ||
7007 | sources."html-tags-1.2.0" | ||
7008 | (sources."htmlnano-0.2.5" // { | ||
7009 | dependencies = [ | ||
7010 | sources."posthtml-0.12.3" | ||
7011 | sources."terser-4.6.12" | ||
7012 | ]; | ||
7013 | }) | ||
7014 | (sources."htmlparser2-3.10.1" // { | ||
7015 | dependencies = [ | ||
7016 | sources."entities-1.1.2" | ||
7017 | sources."readable-stream-3.6.0" | ||
7018 | ]; | ||
7019 | }) | ||
7020 | sources."http-errors-1.7.3" | ||
7021 | sources."http-signature-1.2.0" | ||
7022 | sources."https-browserify-1.0.0" | ||
7023 | sources."iconv-lite-0.4.24" | ||
7024 | sources."icss-replace-symbols-1.1.0" | ||
7025 | sources."ieee754-1.1.13" | ||
7026 | sources."import-fresh-2.0.0" | ||
7027 | sources."indexes-of-1.0.1" | ||
7028 | sources."inflight-1.0.6" | ||
7029 | sources."inherits-2.0.4" | ||
7030 | sources."ini-1.3.5" | ||
7031 | sources."invariant-2.2.4" | ||
7032 | sources."is-absolute-url-2.1.0" | ||
7033 | (sources."is-accessor-descriptor-0.1.6" // { | ||
7034 | dependencies = [ | ||
7035 | sources."kind-of-3.2.2" | ||
7036 | ]; | ||
7037 | }) | ||
7038 | sources."is-arrayish-0.2.1" | ||
7039 | sources."is-binary-path-1.0.1" | ||
7040 | sources."is-buffer-1.1.6" | ||
7041 | sources."is-callable-1.1.5" | ||
7042 | sources."is-color-stop-1.1.0" | ||
7043 | (sources."is-data-descriptor-0.1.4" // { | ||
7044 | dependencies = [ | ||
7045 | sources."kind-of-3.2.2" | ||
7046 | ]; | ||
7047 | }) | ||
7048 | sources."is-date-object-1.0.2" | ||
7049 | (sources."is-descriptor-0.1.6" // { | ||
7050 | dependencies = [ | ||
7051 | sources."kind-of-5.1.0" | ||
7052 | ]; | ||
7053 | }) | ||
7054 | sources."is-directory-0.3.1" | ||
7055 | sources."is-extendable-0.1.1" | ||
7056 | sources."is-extglob-2.1.1" | ||
7057 | sources."is-fullwidth-code-point-2.0.0" | ||
7058 | sources."is-glob-4.0.1" | ||
7059 | sources."is-html-1.1.0" | ||
7060 | (sources."is-number-3.0.0" // { | ||
7061 | dependencies = [ | ||
7062 | sources."kind-of-3.2.2" | ||
7063 | ]; | ||
7064 | }) | ||
7065 | sources."is-obj-2.0.0" | ||
7066 | sources."is-plain-object-2.0.4" | ||
7067 | sources."is-regex-1.0.5" | ||
7068 | sources."is-resolvable-1.1.0" | ||
7069 | sources."is-svg-3.0.0" | ||
7070 | sources."is-symbol-1.0.3" | ||
7071 | sources."is-typedarray-1.0.0" | ||
7072 | sources."is-url-1.2.4" | ||
7073 | sources."is-windows-1.0.2" | ||
7074 | sources."is-wsl-1.1.0" | ||
7075 | sources."isarray-1.0.0" | ||
7076 | sources."isexe-2.0.0" | ||
7077 | sources."isobject-3.0.1" | ||
7078 | sources."isstream-0.1.2" | ||
7079 | (sources."js-beautify-1.11.0" // { | ||
7080 | dependencies = [ | ||
7081 | sources."mkdirp-1.0.4" | ||
7082 | ]; | ||
7083 | }) | ||
7084 | sources."js-levenshtein-1.1.6" | ||
7085 | sources."js-tokens-4.0.0" | ||
7086 | sources."js-yaml-3.13.1" | ||
7087 | sources."jsbn-0.1.1" | ||
7088 | (sources."jsdom-14.1.0" // { | ||
7089 | dependencies = [ | ||
7090 | sources."acorn-6.4.1" | ||
7091 | sources."escodegen-1.14.1" | ||
7092 | sources."ws-6.2.1" | ||
7093 | ]; | ||
7094 | }) | ||
7095 | sources."jsesc-2.5.2" | ||
7096 | sources."json-parse-better-errors-1.0.2" | ||
7097 | sources."json-schema-0.2.3" | ||
7098 | sources."json-schema-traverse-0.4.1" | ||
7099 | sources."json-stringify-safe-5.0.1" | ||
7100 | sources."json5-1.0.1" | ||
7101 | sources."jsprim-1.4.1" | ||
7102 | sources."kind-of-6.0.3" | ||
7103 | sources."levn-0.3.0" | ||
7104 | sources."locate-path-2.0.0" | ||
7105 | sources."lodash-4.17.15" | ||
7106 | sources."lodash.clone-4.5.0" | ||
7107 | sources."lodash.memoize-4.1.2" | ||
7108 | sources."lodash.sortby-4.7.0" | ||
7109 | sources."lodash.uniq-4.5.0" | ||
7110 | sources."log-symbols-2.2.0" | ||
7111 | sources."loose-envify-1.4.0" | ||
7112 | sources."lru-cache-4.1.5" | ||
7113 | sources."magic-string-0.22.5" | ||
7114 | sources."map-cache-0.2.2" | ||
7115 | sources."map-visit-1.0.0" | ||
7116 | sources."md5.js-1.3.5" | ||
7117 | sources."mdn-data-2.0.4" | ||
7118 | (sources."merge-source-map-1.0.4" // { | ||
7119 | dependencies = [ | ||
7120 | sources."source-map-0.5.7" | ||
7121 | ]; | ||
7122 | }) | ||
7123 | sources."merge2-1.3.0" | ||
7124 | sources."micromatch-3.1.10" | ||
7125 | sources."miller-rabin-4.0.1" | ||
7126 | sources."mime-1.6.0" | ||
7127 | sources."mime-db-1.44.0" | ||
7128 | sources."mime-types-2.1.27" | ||
7129 | sources."mimic-fn-1.2.0" | ||
7130 | sources."minimalistic-assert-1.0.1" | ||
7131 | sources."minimalistic-crypto-utils-1.0.1" | ||
7132 | sources."minimatch-3.0.4" | ||
7133 | sources."minimist-1.2.5" | ||
7134 | (sources."mixin-deep-1.3.2" // { | ||
7135 | dependencies = [ | ||
7136 | sources."is-extendable-1.0.1" | ||
7137 | ]; | ||
7138 | }) | ||
7139 | sources."mkdirp-0.5.5" | ||
7140 | sources."ms-2.1.2" | ||
7141 | sources."nan-2.14.1" | ||
7142 | sources."nanomatch-1.2.13" | ||
7143 | sources."nice-try-1.0.5" | ||
7144 | sources."node-addon-api-1.7.1" | ||
7145 | sources."node-elm-compiler-5.0.4" | ||
7146 | sources."node-forge-0.7.6" | ||
7147 | (sources."node-libs-browser-2.2.1" // { | ||
7148 | dependencies = [ | ||
7149 | sources."punycode-1.4.1" | ||
7150 | ]; | ||
7151 | }) | ||
7152 | sources."node-releases-1.1.53" | ||
7153 | sources."nopt-4.0.3" | ||
7154 | sources."normalize-html-whitespace-1.0.0" | ||
7155 | sources."normalize-path-3.0.0" | ||
7156 | sources."normalize-url-3.3.0" | ||
7157 | sources."nth-check-1.0.2" | ||
7158 | sources."nwsapi-2.2.0" | ||
7159 | sources."oauth-sign-0.9.0" | ||
7160 | sources."object-assign-4.1.1" | ||
7161 | (sources."object-copy-0.1.0" // { | ||
7162 | dependencies = [ | ||
7163 | sources."define-property-0.2.5" | ||
7164 | sources."kind-of-3.2.2" | ||
7165 | ]; | ||
7166 | }) | ||
7167 | sources."object-inspect-1.7.0" | ||
7168 | sources."object-keys-1.1.1" | ||
7169 | sources."object-visit-1.0.1" | ||
7170 | sources."object.assign-4.1.0" | ||
7171 | sources."object.getownpropertydescriptors-2.1.0" | ||
7172 | sources."object.pick-1.3.0" | ||
7173 | sources."object.values-1.1.1" | ||
7174 | sources."on-finished-2.3.0" | ||
7175 | sources."once-1.4.0" | ||
7176 | sources."onetime-2.0.1" | ||
7177 | sources."opn-5.5.0" | ||
7178 | sources."optionator-0.8.3" | ||
7179 | sources."ora-2.1.0" | ||
7180 | sources."os-browserify-0.3.0" | ||
7181 | sources."os-homedir-1.0.2" | ||
7182 | sources."os-tmpdir-1.0.2" | ||
7183 | sources."osenv-0.1.5" | ||
7184 | sources."p-limit-1.3.0" | ||
7185 | sources."p-locate-2.0.0" | ||
7186 | sources."p-try-1.0.0" | ||
7187 | sources."pako-0.2.9" | ||
7188 | (sources."parcel-bundler-1.12.3" // { | ||
7189 | dependencies = [ | ||
7190 | sources."postcss-value-parser-3.3.1" | ||
7191 | ]; | ||
7192 | }) | ||
7193 | sources."parse-asn1-5.1.5" | ||
7194 | sources."parse-json-4.0.0" | ||
7195 | sources."parse5-5.1.0" | ||
7196 | sources."parseurl-1.3.3" | ||
7197 | sources."pascalcase-0.1.1" | ||
7198 | sources."path-browserify-0.0.1" | ||
7199 | sources."path-dirname-1.0.2" | ||
7200 | sources."path-exists-3.0.0" | ||
7201 | sources."path-is-absolute-1.0.1" | ||
7202 | sources."path-key-2.0.1" | ||
7203 | sources."path-parse-1.0.6" | ||
7204 | sources."pbkdf2-3.0.17" | ||
7205 | sources."performance-now-2.1.0" | ||
7206 | sources."physical-cpu-count-2.0.0" | ||
7207 | sources."pkg-up-2.0.0" | ||
7208 | sources."pn-1.1.0" | ||
7209 | sources."posix-character-classes-0.1.1" | ||
7210 | sources."postcss-7.0.27" | ||
7211 | sources."postcss-calc-7.0.2" | ||
7212 | (sources."postcss-colormin-4.0.3" // { | ||
7213 | dependencies = [ | ||
7214 | sources."postcss-value-parser-3.3.1" | ||
7215 | ]; | ||
7216 | }) | ||
7217 | (sources."postcss-convert-values-4.0.1" // { | ||
7218 | dependencies = [ | ||
7219 | sources."postcss-value-parser-3.3.1" | ||
7220 | ]; | ||
7221 | }) | ||
7222 | sources."postcss-discard-comments-4.0.2" | ||
7223 | sources."postcss-discard-duplicates-4.0.2" | ||
7224 | sources."postcss-discard-empty-4.0.1" | ||
7225 | sources."postcss-discard-overridden-4.0.1" | ||
7226 | (sources."postcss-merge-longhand-4.0.11" // { | ||
7227 | dependencies = [ | ||
7228 | sources."postcss-value-parser-3.3.1" | ||
7229 | ]; | ||
7230 | }) | ||
7231 | (sources."postcss-merge-rules-4.0.3" // { | ||
7232 | dependencies = [ | ||
7233 | sources."postcss-selector-parser-3.1.2" | ||
7234 | ]; | ||
7235 | }) | ||
7236 | (sources."postcss-minify-font-values-4.0.2" // { | ||
7237 | dependencies = [ | ||
7238 | sources."postcss-value-parser-3.3.1" | ||
7239 | ]; | ||
7240 | }) | ||
7241 | (sources."postcss-minify-gradients-4.0.2" // { | ||
7242 | dependencies = [ | ||
7243 | sources."postcss-value-parser-3.3.1" | ||
7244 | ]; | ||
7245 | }) | ||
7246 | (sources."postcss-minify-params-4.0.2" // { | ||
7247 | dependencies = [ | ||
7248 | sources."postcss-value-parser-3.3.1" | ||
7249 | ]; | ||
7250 | }) | ||
7251 | (sources."postcss-minify-selectors-4.0.2" // { | ||
7252 | dependencies = [ | ||
7253 | sources."postcss-selector-parser-3.1.2" | ||
7254 | ]; | ||
7255 | }) | ||
7256 | (sources."postcss-modules-extract-imports-1.1.0" // { | ||
7257 | dependencies = [ | ||
7258 | sources."postcss-6.0.23" | ||
7259 | sources."supports-color-5.5.0" | ||
7260 | ]; | ||
7261 | }) | ||
7262 | (sources."postcss-modules-local-by-default-1.2.0" // { | ||
7263 | dependencies = [ | ||
7264 | sources."postcss-6.0.23" | ||
7265 | sources."supports-color-5.5.0" | ||
7266 | ]; | ||
7267 | }) | ||
7268 | (sources."postcss-modules-scope-1.1.0" // { | ||
7269 | dependencies = [ | ||
7270 | sources."postcss-6.0.23" | ||
7271 | sources."supports-color-5.5.0" | ||
7272 | ]; | ||
7273 | }) | ||
7274 | (sources."postcss-modules-values-1.3.0" // { | ||
7275 | dependencies = [ | ||
7276 | sources."postcss-6.0.23" | ||
7277 | sources."supports-color-5.5.0" | ||
7278 | ]; | ||
7279 | }) | ||
7280 | sources."postcss-normalize-charset-4.0.1" | ||
7281 | (sources."postcss-normalize-display-values-4.0.2" // { | ||
7282 | dependencies = [ | ||
7283 | sources."postcss-value-parser-3.3.1" | ||
7284 | ]; | ||
7285 | }) | ||
7286 | (sources."postcss-normalize-positions-4.0.2" // { | ||
7287 | dependencies = [ | ||
7288 | sources."postcss-value-parser-3.3.1" | ||
7289 | ]; | ||
7290 | }) | ||
7291 | (sources."postcss-normalize-repeat-style-4.0.2" // { | ||
7292 | dependencies = [ | ||
7293 | sources."postcss-value-parser-3.3.1" | ||
7294 | ]; | ||
7295 | }) | ||
7296 | (sources."postcss-normalize-string-4.0.2" // { | ||
7297 | dependencies = [ | ||
7298 | sources."postcss-value-parser-3.3.1" | ||
7299 | ]; | ||
7300 | }) | ||
7301 | (sources."postcss-normalize-timing-functions-4.0.2" // { | ||
7302 | dependencies = [ | ||
7303 | sources."postcss-value-parser-3.3.1" | ||
7304 | ]; | ||
7305 | }) | ||
7306 | (sources."postcss-normalize-unicode-4.0.1" // { | ||
7307 | dependencies = [ | ||
7308 | sources."postcss-value-parser-3.3.1" | ||
7309 | ]; | ||
7310 | }) | ||
7311 | (sources."postcss-normalize-url-4.0.1" // { | ||
7312 | dependencies = [ | ||
7313 | sources."postcss-value-parser-3.3.1" | ||
7314 | ]; | ||
7315 | }) | ||
7316 | (sources."postcss-normalize-whitespace-4.0.2" // { | ||
7317 | dependencies = [ | ||
7318 | sources."postcss-value-parser-3.3.1" | ||
7319 | ]; | ||
7320 | }) | ||
7321 | (sources."postcss-ordered-values-4.1.2" // { | ||
7322 | dependencies = [ | ||
7323 | sources."postcss-value-parser-3.3.1" | ||
7324 | ]; | ||
7325 | }) | ||
7326 | sources."postcss-reduce-initial-4.0.3" | ||
7327 | (sources."postcss-reduce-transforms-4.0.2" // { | ||
7328 | dependencies = [ | ||
7329 | sources."postcss-value-parser-3.3.1" | ||
7330 | ]; | ||
7331 | }) | ||
7332 | sources."postcss-selector-parser-6.0.2" | ||
7333 | (sources."postcss-svgo-4.0.2" // { | ||
7334 | dependencies = [ | ||
7335 | sources."postcss-value-parser-3.3.1" | ||
7336 | ]; | ||
7337 | }) | ||
7338 | sources."postcss-unique-selectors-4.0.1" | ||
7339 | sources."postcss-value-parser-4.0.3" | ||
7340 | sources."posthtml-0.11.6" | ||
7341 | sources."posthtml-parser-0.4.2" | ||
7342 | sources."posthtml-render-1.2.2" | ||
7343 | sources."prelude-ls-1.1.2" | ||
7344 | sources."private-0.1.8" | ||
7345 | sources."process-0.11.10" | ||
7346 | sources."process-nextick-args-2.0.1" | ||
7347 | sources."proto-list-1.2.4" | ||
7348 | sources."pseudomap-1.0.2" | ||
7349 | sources."psl-1.8.0" | ||
7350 | sources."public-encrypt-4.0.3" | ||
7351 | sources."punycode-2.1.1" | ||
7352 | sources."purgecss-1.4.2" | ||
7353 | sources."q-1.5.1" | ||
7354 | sources."qs-6.5.2" | ||
7355 | sources."querystring-0.2.0" | ||
7356 | sources."querystring-es3-0.2.1" | ||
7357 | sources."quote-stream-1.0.2" | ||
7358 | sources."randombytes-2.1.0" | ||
7359 | sources."randomfill-1.0.4" | ||
7360 | sources."range-parser-1.2.1" | ||
7361 | sources."readable-stream-2.3.7" | ||
7362 | sources."readdirp-2.2.1" | ||
7363 | sources."regenerate-1.4.0" | ||
7364 | sources."regenerate-unicode-properties-8.2.0" | ||
7365 | sources."regenerator-runtime-0.13.5" | ||
7366 | (sources."regenerator-transform-0.14.4" // { | ||
7367 | dependencies = [ | ||
7368 | sources."@babel/runtime-7.9.2" | ||
7369 | ]; | ||
7370 | }) | ||
7371 | sources."regex-not-1.0.2" | ||
7372 | sources."regexpu-core-4.7.0" | ||
7373 | sources."regjsgen-0.5.1" | ||
7374 | (sources."regjsparser-0.6.4" // { | ||
7375 | dependencies = [ | ||
7376 | sources."jsesc-0.5.0" | ||
7377 | ]; | ||
7378 | }) | ||
7379 | sources."remove-trailing-separator-1.1.0" | ||
7380 | sources."repeat-element-1.1.3" | ||
7381 | sources."repeat-string-1.6.1" | ||
7382 | sources."request-2.88.2" | ||
7383 | sources."request-promise-core-1.1.3" | ||
7384 | sources."request-promise-native-1.0.8" | ||
7385 | sources."require-directory-2.1.1" | ||
7386 | sources."require-main-filename-2.0.0" | ||
7387 | sources."resolve-1.17.0" | ||
7388 | sources."resolve-from-3.0.0" | ||
7389 | sources."resolve-url-0.2.1" | ||
7390 | sources."restore-cursor-2.0.0" | ||
7391 | sources."ret-0.1.15" | ||
7392 | sources."rgb-regex-1.0.1" | ||
7393 | sources."rgba-regex-1.0.0" | ||
7394 | sources."rimraf-2.6.3" | ||
7395 | sources."ripemd160-2.0.2" | ||
7396 | sources."safe-buffer-5.1.2" | ||
7397 | sources."safe-regex-1.1.0" | ||
7398 | sources."safer-buffer-2.1.2" | ||
7399 | sources."safer-eval-1.3.6" | ||
7400 | sources."sax-1.2.4" | ||
7401 | sources."saxes-3.1.11" | ||
7402 | sources."semver-5.7.1" | ||
7403 | (sources."send-0.17.1" // { | ||
7404 | dependencies = [ | ||
7405 | (sources."debug-2.6.9" // { | ||
7406 | dependencies = [ | ||
7407 | sources."ms-2.0.0" | ||
7408 | ]; | ||
7409 | }) | ||
7410 | sources."ms-2.1.1" | ||
7411 | ]; | ||
7412 | }) | ||
7413 | sources."serialize-to-js-1.2.2" | ||
7414 | sources."serve-static-1.14.1" | ||
7415 | sources."set-blocking-2.0.0" | ||
7416 | (sources."set-value-2.0.1" // { | ||
7417 | dependencies = [ | ||
7418 | sources."extend-shallow-2.0.1" | ||
7419 | ]; | ||
7420 | }) | ||
7421 | sources."setimmediate-1.0.5" | ||
7422 | sources."setprototypeof-1.1.1" | ||
7423 | sources."sha.js-2.4.11" | ||
7424 | sources."shallow-copy-0.0.1" | ||
7425 | sources."shebang-command-1.2.0" | ||
7426 | sources."shebang-regex-1.0.0" | ||
7427 | sources."sigmund-1.0.1" | ||
7428 | sources."signal-exit-3.0.3" | ||
7429 | (sources."simple-swizzle-0.2.2" // { | ||
7430 | dependencies = [ | ||
7431 | sources."is-arrayish-0.3.2" | ||
7432 | ]; | ||
7433 | }) | ||
7434 | (sources."snapdragon-0.8.2" // { | ||
7435 | dependencies = [ | ||
7436 | sources."debug-2.6.9" | ||
7437 | sources."define-property-0.2.5" | ||
7438 | sources."extend-shallow-2.0.1" | ||
7439 | sources."ms-2.0.0" | ||
7440 | sources."source-map-0.5.7" | ||
7441 | ]; | ||
7442 | }) | ||
7443 | (sources."snapdragon-node-2.1.1" // { | ||
7444 | dependencies = [ | ||
7445 | sources."define-property-1.0.0" | ||
7446 | sources."is-accessor-descriptor-1.0.0" | ||
7447 | sources."is-data-descriptor-1.0.0" | ||
7448 | sources."is-descriptor-1.0.2" | ||
7449 | ]; | ||
7450 | }) | ||
7451 | (sources."snapdragon-util-3.0.1" // { | ||
7452 | dependencies = [ | ||
7453 | sources."kind-of-3.2.2" | ||
7454 | ]; | ||
7455 | }) | ||
7456 | sources."source-map-0.6.1" | ||
7457 | sources."source-map-resolve-0.5.3" | ||
7458 | sources."source-map-support-0.5.19" | ||
7459 | sources."source-map-url-0.4.0" | ||
7460 | sources."split-string-3.1.0" | ||
7461 | sources."sprintf-js-1.0.3" | ||
7462 | sources."sshpk-1.16.1" | ||
7463 | sources."stable-0.1.8" | ||
7464 | (sources."static-eval-2.0.5" // { | ||
7465 | dependencies = [ | ||
7466 | sources."escodegen-1.14.1" | ||
7467 | ]; | ||
7468 | }) | ||
7469 | (sources."static-extend-0.1.2" // { | ||
7470 | dependencies = [ | ||
7471 | sources."define-property-0.2.5" | ||
7472 | ]; | ||
7473 | }) | ||
7474 | (sources."static-module-2.2.5" // { | ||
7475 | dependencies = [ | ||
7476 | sources."object-inspect-1.4.1" | ||
7477 | ]; | ||
7478 | }) | ||
7479 | sources."statuses-1.5.0" | ||
7480 | sources."stealthy-require-1.1.1" | ||
7481 | sources."stream-browserify-2.0.2" | ||
7482 | sources."stream-http-2.8.3" | ||
7483 | (sources."string-width-3.1.0" // { | ||
7484 | dependencies = [ | ||
7485 | sources."ansi-regex-4.1.0" | ||
7486 | sources."strip-ansi-5.2.0" | ||
7487 | ]; | ||
7488 | }) | ||
7489 | sources."string.prototype.trimend-1.0.1" | ||
7490 | sources."string.prototype.trimleft-2.1.2" | ||
7491 | sources."string.prototype.trimright-2.1.2" | ||
7492 | sources."string.prototype.trimstart-1.0.1" | ||
7493 | sources."string_decoder-1.1.1" | ||
7494 | sources."strip-ansi-4.0.0" | ||
7495 | (sources."stylehacks-4.0.3" // { | ||
7496 | dependencies = [ | ||
7497 | sources."postcss-selector-parser-3.1.2" | ||
7498 | ]; | ||
7499 | }) | ||
7500 | sources."supports-color-6.1.0" | ||
7501 | sources."svgo-1.3.2" | ||
7502 | sources."symbol-tree-3.2.4" | ||
7503 | sources."temp-0.9.0" | ||
7504 | sources."terser-3.17.0" | ||
7505 | sources."through2-2.0.5" | ||
7506 | sources."timers-browserify-2.0.11" | ||
7507 | sources."timsort-0.3.0" | ||
7508 | sources."tiny-inflate-1.0.3" | ||
7509 | sources."to-arraybuffer-1.0.1" | ||
7510 | sources."to-fast-properties-2.0.0" | ||
7511 | (sources."to-object-path-0.3.0" // { | ||
7512 | dependencies = [ | ||
7513 | sources."kind-of-3.2.2" | ||
7514 | ]; | ||
7515 | }) | ||
7516 | sources."to-regex-3.0.2" | ||
7517 | sources."to-regex-range-2.1.1" | ||
7518 | sources."toidentifier-1.0.0" | ||
7519 | sources."tough-cookie-2.5.0" | ||
7520 | sources."tr46-1.0.1" | ||
7521 | sources."trim-right-1.0.1" | ||
7522 | sources."tty-browserify-0.0.0" | ||
7523 | sources."tunnel-agent-0.6.0" | ||
7524 | sources."tweetnacl-0.14.5" | ||
7525 | sources."type-check-0.3.2" | ||
7526 | sources."typedarray-0.0.6" | ||
7527 | (sources."uncss-0.17.3" // { | ||
7528 | dependencies = [ | ||
7529 | sources."is-absolute-url-3.0.3" | ||
7530 | ]; | ||
7531 | }) | ||
7532 | sources."unicode-canonical-property-names-ecmascript-1.0.4" | ||
7533 | sources."unicode-match-property-ecmascript-1.0.4" | ||
7534 | sources."unicode-match-property-value-ecmascript-1.2.0" | ||
7535 | sources."unicode-property-aliases-ecmascript-1.1.0" | ||
7536 | sources."unicode-trie-0.3.1" | ||
7537 | sources."union-value-1.0.1" | ||
7538 | sources."uniq-1.0.1" | ||
7539 | sources."uniqs-2.0.0" | ||
7540 | sources."unquote-1.1.1" | ||
7541 | (sources."unset-value-1.0.0" // { | ||
7542 | dependencies = [ | ||
7543 | (sources."has-value-0.3.1" // { | ||
7544 | dependencies = [ | ||
7545 | sources."isobject-2.1.0" | ||
7546 | ]; | ||
7547 | }) | ||
7548 | sources."has-values-0.1.4" | ||
7549 | ]; | ||
7550 | }) | ||
7551 | sources."upath-1.2.0" | ||
7552 | sources."uri-js-4.2.2" | ||
7553 | sources."urix-0.1.0" | ||
7554 | (sources."url-0.11.0" // { | ||
7555 | dependencies = [ | ||
7556 | sources."punycode-1.3.2" | ||
7557 | ]; | ||
7558 | }) | ||
7559 | sources."use-3.1.1" | ||
7560 | (sources."util-0.11.1" // { | ||
7561 | dependencies = [ | ||
7562 | sources."inherits-2.0.3" | ||
7563 | ]; | ||
7564 | }) | ||
7565 | sources."util-deprecate-1.0.2" | ||
7566 | sources."util.promisify-1.0.1" | ||
7567 | sources."uuid-3.4.0" | ||
7568 | sources."v8-compile-cache-2.1.0" | ||
7569 | sources."vendors-1.0.4" | ||
7570 | sources."verror-1.10.0" | ||
7571 | sources."vlq-0.2.3" | ||
7572 | sources."vm-browserify-1.1.2" | ||
7573 | sources."w3c-hr-time-1.0.2" | ||
7574 | sources."w3c-xmlserializer-1.1.2" | ||
7575 | sources."wcwidth-1.0.1" | ||
7576 | sources."webidl-conversions-4.0.2" | ||
7577 | sources."whatwg-encoding-1.0.5" | ||
7578 | sources."whatwg-mimetype-2.3.0" | ||
7579 | sources."whatwg-url-7.1.0" | ||
7580 | sources."which-1.3.1" | ||
7581 | sources."which-module-2.0.0" | ||
7582 | sources."word-wrap-1.2.3" | ||
7583 | (sources."wrap-ansi-5.1.0" // { | ||
7584 | dependencies = [ | ||
7585 | sources."ansi-regex-4.1.0" | ||
7586 | sources."strip-ansi-5.2.0" | ||
7587 | ]; | ||
7588 | }) | ||
7589 | sources."wrappy-1.0.2" | ||
7590 | sources."ws-5.2.2" | ||
7591 | sources."xml-name-validator-3.0.0" | ||
7592 | sources."xmlchars-2.2.0" | ||
7593 | sources."xtend-4.0.2" | ||
7594 | sources."y18n-4.0.0" | ||
7595 | sources."yallist-2.1.2" | ||
7596 | (sources."yargs-14.2.3" // { | ||
7597 | dependencies = [ | ||
7598 | sources."find-up-3.0.0" | ||
7599 | sources."locate-path-3.0.0" | ||
7600 | sources."p-limit-2.3.0" | ||
7601 | sources."p-locate-3.0.0" | ||
7602 | sources."p-try-2.2.0" | ||
7603 | ]; | ||
7604 | }) | ||
7605 | sources."yargs-parser-15.0.1" | ||
7606 | ]; | ||
7607 | buildInputs = globalBuildInputs; | ||
7608 | meta = { | ||
7609 | license = "MIT"; | ||
7610 | }; | ||
7611 | production = false; | ||
7612 | bypassCache = true; | ||
7613 | reconstructLock = false; | ||
7614 | }; | ||
7615 | in | ||
7616 | { | ||
7617 | args = args; | ||
7618 | sources = sources; | ||
7619 | tarball = nodeEnv.buildNodeSourceDist args; | ||
7620 | package = nodeEnv.buildNodePackage args; | ||
7621 | shell = nodeEnv.buildNodeShell args; | ||
7622 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/registry.dat b/systems/eldiron/websites/games/codenames/registry.dat new file mode 100644 index 0000000..a8585a8 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/registry.dat | |||
Binary files differ | |||
diff --git a/systems/eldiron/websites/games/codenames/shell.nix b/systems/eldiron/websites/games/codenames/shell.nix new file mode 100644 index 0000000..053696b --- /dev/null +++ b/systems/eldiron/websites/games/codenames/shell.nix | |||
@@ -0,0 +1,50 @@ | |||
1 | { pkgs ? import <nixpkgs> {} }: with pkgs; | ||
2 | let | ||
3 | greenapid = callPackage ./greenapid.nix {}; | ||
4 | frontend = callPackage ./frontend.nix {}; | ||
5 | nginx_conf = writeText "nginx.conf" '' | ||
6 | pid ./nginx.pid; | ||
7 | error_log stderr; | ||
8 | daemon off; | ||
9 | events { | ||
10 | } | ||
11 | http { | ||
12 | include ${mailcap}/etc/nginx/mime.types; | ||
13 | server { | ||
14 | listen 0.0.0.0:8081; | ||
15 | listen [::]:8081; | ||
16 | location /api/ { | ||
17 | proxy_set_header X-Real-IP $remote_addr; | ||
18 | proxy_set_header Host $host; | ||
19 | proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
20 | proxy_pass http://127.0.0.1:8080/; | ||
21 | } | ||
22 | location / { | ||
23 | root ${frontend}; | ||
24 | try_files $uri $uri/ /index.html; | ||
25 | } | ||
26 | } | ||
27 | } | ||
28 | ''; | ||
29 | in | ||
30 | pkgs.mkShell { | ||
31 | buildInputs = [ | ||
32 | greenapid | ||
33 | frontend | ||
34 | python2 | ||
35 | nginx | ||
36 | ]; | ||
37 | shellHook = '' | ||
38 | greenapid & | ||
39 | pid=$! | ||
40 | |||
41 | finish() { | ||
42 | kill $pid; | ||
43 | } | ||
44 | |||
45 | trap finish EXIT | ||
46 | |||
47 | nginx -c ${nginx_conf} -p ./nginx/ | ||
48 | exit | ||
49 | ''; | ||
50 | } | ||
diff --git a/systems/eldiron/websites/games/codenames/wordlists/french.txt b/systems/eldiron/websites/games/codenames/wordlists/french.txt new file mode 100644 index 0000000..462ddc4 --- /dev/null +++ b/systems/eldiron/websites/games/codenames/wordlists/french.txt | |||
@@ -0,0 +1,694 @@ | |||
1 | ACCIDENT | ||
2 | ACHAT | ||
3 | ACNÉ | ||
4 | ACTION | ||
5 | ADOLESCENT | ||
6 | AFRIQUE | ||
7 | AIGUILLE | ||
8 | ALLUMER | ||
9 | ALPES | ||
10 | ALPHABET | ||
11 | ALTITUDE | ||
12 | AMÉRIQUE | ||
13 | AMI | ||
14 | AMOUR | ||
15 | AMPOULE | ||
16 | ANNIVERSAIRE | ||
17 | APPÉTIT | ||
18 | ARAIGNÉE | ||
19 | ARBRE | ||
20 | ARC | ||
21 | ARC-EN-CIEL | ||
22 | ARGENT | ||
23 | ARME | ||
24 | ARMÉE | ||
25 | ASCENSEUR | ||
26 | ASIE | ||
27 | ASSIS | ||
28 | ASTRONAUTE | ||
29 | ATCHOUM | ||
30 | ATHLÈTE | ||
31 | ATLANTIDE | ||
32 | AUBE | ||
33 | AUSTRALIE | ||
34 | AVEC | ||
35 | AVENTURE | ||
36 | AVION | ||
37 | AVOCAT | ||
38 | BAC | ||
39 | BAGUETTE | ||
40 | BAIN | ||
41 | BAISER | ||
42 | BALAI | ||
43 | BALLE | ||
44 | BALLON | ||
45 | BAMBOU | ||
46 | BANANE | ||
47 | BANNIR | ||
48 | BARBE | ||
49 | BARRIÈRE | ||
50 | BAS | ||
51 | BASKET | ||
52 | BATEAU | ||
53 | BÂTON | ||
54 | BATTERIE | ||
55 | BÉBÉ | ||
56 | BEETHOVEN | ||
57 | BÊTE | ||
58 | BIBERON | ||
59 | BIÈRE | ||
60 | BLANC | ||
61 | BLÉ | ||
62 | BLEU | ||
63 | BOB | ||
64 | BOISSON | ||
65 | BOÎTE | ||
66 | BOMBE | ||
67 | BONBON | ||
68 | BONNET | ||
69 | BORD | ||
70 | BORDEAUX | ||
71 | BOTTE | ||
72 | BOUE | ||
73 | BOUGIE | ||
74 | BOULE | ||
75 | BOUTEILLE | ||
76 | BOUTON | ||
77 | BRANCHE | ||
78 | BRAS | ||
79 | BRAVO | ||
80 | BRETAGNE | ||
81 | BRISE | ||
82 | BROSSE | ||
83 | BRUIT | ||
84 | BRUME | ||
85 | BRUN | ||
86 | BÛCHE | ||
87 | BULLE | ||
88 | BUREAU | ||
89 | BUT | ||
90 | CABANE | ||
91 | CABINE | ||
92 | CACHER | ||
93 | CADEAU | ||
94 | CAFARD | ||
95 | CAFÉ | ||
96 | CAISSE | ||
97 | CALCULER | ||
98 | CALME | ||
99 | CAMÉRA | ||
100 | CAMION | ||
101 | CAMPING | ||
102 | CANADA | ||
103 | CANARD | ||
104 | CANETTE | ||
105 | CANINE | ||
106 | CAP | ||
107 | CAPITALISME | ||
108 | CAR | ||
109 | CAROTTE | ||
110 | CARRÉ | ||
111 | CARTE | ||
112 | CARTON | ||
113 | CASQUE | ||
114 | CASSER | ||
115 | CASSETTE | ||
116 | CAUCHEMAR | ||
117 | CAUSE | ||
118 | CEINTURE | ||
119 | CELLULE | ||
120 | CERCLE | ||
121 | CHAÎNE | ||
122 | CHAIR | ||
123 | CHAISE | ||
124 | CHAMP | ||
125 | CHAMPION | ||
126 | CHANT | ||
127 | CHAPEAU | ||
128 | CHARBON | ||
129 | CHARGE | ||
130 | CHASSE | ||
131 | CHAT | ||
132 | CHÂTEAU | ||
133 | CHAUD | ||
134 | CHAUSSURE | ||
135 | CHAUVE | ||
136 | CHEF | ||
137 | CHEMISE | ||
138 | CHÊNE | ||
139 | CHER | ||
140 | CHEVAL | ||
141 | CHEVALIER | ||
142 | CHEVEU | ||
143 | CHIEN | ||
144 | CHIFFRE | ||
145 | CHINE | ||
146 | CHOCOLAT | ||
147 | CHÔMAGE | ||
148 | CIEL | ||
149 | CIL | ||
150 | CINÉMA | ||
151 | CIRE | ||
152 | CIRQUE | ||
153 | CITRON | ||
154 | CLÉ | ||
155 | CLOU | ||
156 | CLOWN | ||
157 | COACH | ||
158 | COCCINELLE | ||
159 | CODE | ||
160 | CŒUR | ||
161 | COL | ||
162 | COLLE | ||
163 | COLLINE | ||
164 | COLONNE | ||
165 | CÔNE | ||
166 | CONFORT | ||
167 | CONTINU | ||
168 | CONTRE | ||
169 | CONVERSATION | ||
170 | COPAIN | ||
171 | COQ | ||
172 | COQUILLAGE | ||
173 | CORBEAU | ||
174 | CORDE | ||
175 | CORPS | ||
176 | CÔTE | ||
177 | COUDE | ||
178 | COULOIR | ||
179 | COUP | ||
180 | COUR | ||
181 | COURANT | ||
182 | COURRIER | ||
183 | COURS | ||
184 | COURSE | ||
185 | COURT | ||
186 | COUTEAU | ||
187 | COUVERT | ||
188 | COUVERTURE | ||
189 | COWBOY | ||
190 | CRAC | ||
191 | CRAYON | ||
192 | CRÈME | ||
193 | CRITIQUE | ||
194 | CROCHET | ||
195 | CROIX | ||
196 | CROÛTE | ||
197 | CUILLÈRE | ||
198 | CUIR | ||
199 | CUISINE | ||
200 | CULOTTE | ||
201 | CYCLE | ||
202 | DARD | ||
203 | DÉ | ||
204 | DEBOUT | ||
205 | DÉFAUT | ||
206 | DEHORS | ||
207 | DÉMOCRATIE | ||
208 | DENT | ||
209 | DENTISTE | ||
210 | DESSIN | ||
211 | DEVOIR | ||
212 | DIAMANT | ||
213 | DICTIONNAIRE | ||
214 | DIEU | ||
215 | DINOSAURE | ||
216 | DISCOURS | ||
217 | DISQUE | ||
218 | DIX | ||
219 | DOCTEUR | ||
220 | DOIGT | ||
221 | DOMINO | ||
222 | DORMIR | ||
223 | DROIT | ||
224 | EAU | ||
225 | ÉCHEC | ||
226 | ÉCHELLE | ||
227 | ÉCLAIR | ||
228 | ÉCOLE | ||
229 | ÉCRAN | ||
230 | ÉCRASER | ||
231 | ÉCRIT | ||
232 | ÉGLISE | ||
233 | ÉGOUT | ||
234 | ÉLECTRICITÉ | ||
235 | ÉLÉPHANT | ||
236 | ÉLÈVE | ||
237 | ELFE | ||
238 | EMPREINTE | ||
239 | ENCEINTE | ||
240 | ÉPICE | ||
241 | ÉPINE | ||
242 | ERREUR | ||
243 | ESPACE | ||
244 | ESPION | ||
245 | ESSENCE | ||
246 | ÉTAT | ||
247 | ÉTÉ | ||
248 | ÉTOILE | ||
249 | ÉTRANGER | ||
250 | ÉVENTAIL | ||
251 | ÉVOLUTION | ||
252 | EXPLOSION | ||
253 | EXTENSION | ||
254 | FACE | ||
255 | FAN | ||
256 | FARCE | ||
257 | FATIGUE | ||
258 | FAUTEUIL | ||
259 | FEMME | ||
260 | FENÊTRE | ||
261 | FER | ||
262 | FÊTE | ||
263 | FEU | ||
264 | FEUILLE | ||
265 | FIDÈLE | ||
266 | FIL | ||
267 | FILLE | ||
268 | FLAMME | ||
269 | FLÈCHE | ||
270 | FLEUR | ||
271 | FLEUVE | ||
272 | FOND | ||
273 | FOOTBALL | ||
274 | FORÊT | ||
275 | FORGER | ||
276 | FOUDRE | ||
277 | FOUET | ||
278 | FOUR | ||
279 | FOURMI | ||
280 | FROID | ||
281 | FROMAGE | ||
282 | FRONT | ||
283 | FRUIT | ||
284 | FUIR | ||
285 | FUTUR | ||
286 | GARÇON | ||
287 | GÂTEAU | ||
288 | GAUCHE | ||
289 | GAZ | ||
290 | GAZON | ||
291 | GEL | ||
292 | GENOU | ||
293 | GLACE | ||
294 | GOMME | ||
295 | GORGE | ||
296 | GOUTTE | ||
297 | GRAND | ||
298 | GRÈCE | ||
299 | GRENOUILLE | ||
300 | GRIPPE | ||
301 | GRIS | ||
302 | GROS | ||
303 | GROUPE | ||
304 | GUITARE | ||
305 | HASARD | ||
306 | HAUT | ||
307 | HÉLICOPTÈRE | ||
308 | HERBE | ||
309 | HEUREUX | ||
310 | HISTOIRE | ||
311 | HIVER | ||
312 | HÔTEL | ||
313 | HUGO | ||
314 | HUILE | ||
315 | HUMIDE | ||
316 | HUMOUR | ||
317 | INDICE | ||
318 | INTERNET | ||
319 | INVITER | ||
320 | ITALIE | ||
321 | JACQUES | ||
322 | JAMBE | ||
323 | JAMBON | ||
324 | JARDIN | ||
325 | JAUNE | ||
326 | JEAN | ||
327 | JEANNE | ||
328 | JET | ||
329 | JEU | ||
330 | JOGGING | ||
331 | JOUR | ||
332 | JOURNAL | ||
333 | JUPITER | ||
334 | KILO | ||
335 | KIWI | ||
336 | LAINE | ||
337 | LAIT | ||
338 | LANGUE | ||
339 | LAPIN | ||
340 | LATIN | ||
341 | LAVER | ||
342 | LECTEUR | ||
343 | LÉGER | ||
344 | LENT | ||
345 | LETTRE | ||
346 | LIEN | ||
347 | LIGNE | ||
348 | LINGE | ||
349 | LION | ||
350 | LIT | ||
351 | LIVRE | ||
352 | LOI | ||
353 | LONG | ||
354 | LOUIS | ||
355 | LOUP | ||
356 | LUMIÈRE | ||
357 | LUNDI | ||
358 | LUNE | ||
359 | LUNETTE | ||
360 | MACHINE | ||
361 | MACHO | ||
362 | MAIN | ||
363 | MAISON | ||
364 | MAÎTRESSE | ||
365 | MAL | ||
366 | MALADIE | ||
367 | MAMAN | ||
368 | MAMMOUTH | ||
369 | MANGER | ||
370 | MARAIS | ||
371 | MARC | ||
372 | MARCHE | ||
373 | MARIAGE | ||
374 | MARIE | ||
375 | MARIÉE | ||
376 | MARQUE | ||
377 | MARSEILLE | ||
378 | MASSE | ||
379 | MER | ||
380 | MESSE | ||
381 | MÈTRE | ||
382 | MÉTRO | ||
383 | MIAOU | ||
384 | MICRO | ||
385 | MIEUX | ||
386 | MILLE | ||
387 | MINE | ||
388 | MIROIR | ||
389 | MODERNE | ||
390 | MOITIÉ | ||
391 | MONDE | ||
392 | MONSTRE | ||
393 | MONTAGNE | ||
394 | MONTRE | ||
395 | MORT | ||
396 | MOTEUR | ||
397 | MOTO | ||
398 | MOU | ||
399 | MOUCHE | ||
400 | MOULIN | ||
401 | MOUSTACHE | ||
402 | MOUTON | ||
403 | MUR | ||
404 | MUSCLE | ||
405 | MUSIQUE | ||
406 | MYSTÈRE | ||
407 | NAGE | ||
408 | NATURE | ||
409 | NEIGE | ||
410 | NEUTRE | ||
411 | NEW YORK | ||
412 | NEZ | ||
413 | NID | ||
414 | NINJA | ||
415 | NIVEAU | ||
416 | NOËL | ||
417 | NŒUD | ||
418 | NOIR | ||
419 | NOUS | ||
420 | NUAGE | ||
421 | NUIT | ||
422 | NUMÉRO | ||
423 | ŒIL | ||
424 | ŒUF | ||
425 | OISEAU | ||
426 | OLYMPIQUE | ||
427 | OMBRE | ||
428 | ONGLE | ||
429 | OR | ||
430 | ORAL | ||
431 | ORANGE | ||
432 | ORDINATEUR | ||
433 | ORDRE | ||
434 | ORDURE | ||
435 | OREILLE | ||
436 | ORGANE | ||
437 | ORGUEIL | ||
438 | OURS | ||
439 | OUTIL | ||
440 | OUVERT | ||
441 | OVALE | ||
442 | PAIN | ||
443 | PALAIS | ||
444 | PANNEAU | ||
445 | PANTALON | ||
446 | PANTIN | ||
447 | PAPA | ||
448 | PAPIER | ||
449 | PAPILLON | ||
450 | PARADIS | ||
451 | PARC | ||
452 | PARIS | ||
453 | PAROLE | ||
454 | PARTIE | ||
455 | PASSE | ||
456 | PÂTE | ||
457 | PATIN | ||
458 | PATTE | ||
459 | PAUL | ||
460 | PAYER | ||
461 | PÊCHE | ||
462 | PEINTURE | ||
463 | PENDULE | ||
464 | PENSER | ||
465 | PERSONNE | ||
466 | PETIT | ||
467 | PEUR | ||
468 | PHILOSOPHE | ||
469 | PHOTO | ||
470 | PHRASE | ||
471 | PIANO | ||
472 | PIÈCE | ||
473 | PIED | ||
474 | PIERRE | ||
475 | PILE | ||
476 | PILOTE | ||
477 | PINCE | ||
478 | PIOCHE | ||
479 | PION | ||
480 | PIRATE | ||
481 | PIRE | ||
482 | PISCINE | ||
483 | PLACE | ||
484 | PLAFOND | ||
485 | PLAGE | ||
486 | PLAIE | ||
487 | PLAN | ||
488 | PLANCHE | ||
489 | PLANÈTE | ||
490 | PLANTE | ||
491 | PLASTIQUE | ||
492 | PLAT | ||
493 | PLOMB | ||
494 | PLONGER | ||
495 | PLUIE | ||
496 | POCHE | ||
497 | POÈTE | ||
498 | POIDS | ||
499 | POING | ||
500 | POINT | ||
501 | POIVRE | ||
502 | POLICE | ||
503 | POLITIQUE | ||
504 | POLLEN | ||
505 | POLO | ||
506 | POMME | ||
507 | POMPE | ||
508 | PONT | ||
509 | POPULATION | ||
510 | PORT | ||
511 | PORTE | ||
512 | PORTEFEUILLE | ||
513 | POSITIF | ||
514 | POSTE | ||
515 | POUBELLE | ||
516 | POULE | ||
517 | POUPÉE | ||
518 | POUSSER | ||
519 | POUSSIÈRE | ||
520 | POUVOIR | ||
521 | PRÉHISTOIRE | ||
522 | PREMIER | ||
523 | PRÉSENT | ||
524 | PRESSE | ||
525 | PRIER | ||
526 | PRINCESSE | ||
527 | PRISE | ||
528 | PRIVÉ | ||
529 | PROFESSEUR | ||
530 | PSYCHOLOGIE | ||
531 | PUBLIC | ||
532 | PULL | ||
533 | PUNK | ||
534 | PUZZLE | ||
535 | PYJAMA | ||
536 | QUATRE | ||
537 | QUINZE | ||
538 | RACE | ||
539 | RADIO | ||
540 | RAISIN | ||
541 | RAP | ||
542 | RAYÉ | ||
543 | RAYON | ||
544 | RÉFLÉCHIR | ||
545 | REINE | ||
546 | REPAS | ||
547 | REPTILE | ||
548 | REQUIN | ||
549 | RÊVE | ||
550 | RICHE | ||
551 | RIDEAU | ||
552 | RIEN | ||
553 | RIRE | ||
554 | ROBINET | ||
555 | ROCHE | ||
556 | ROI | ||
557 | ROND | ||
558 | ROSE | ||
559 | ROUE | ||
560 | ROUGE | ||
561 | ROUILLE | ||
562 | ROUX | ||
563 | RUSSIE | ||
564 | SABLE | ||
565 | SABRE | ||
566 | SAC | ||
567 | SAIN | ||
568 | SAISON | ||
569 | SALE | ||
570 | SALLE | ||
571 | SALUT | ||
572 | SAMU | ||
573 | SANDWICH | ||
574 | SANG | ||
575 | SAPIN | ||
576 | SATELLITE | ||
577 | SAUMON | ||
578 | SAUT | ||
579 | SAVOIR | ||
580 | SCHTROUMPF | ||
581 | SCIENCE | ||
582 | SCOUT | ||
583 | SEC | ||
584 | SEINE | ||
585 | SEL | ||
586 | SEPT | ||
587 | SERPENT | ||
588 | SERRER | ||
589 | SEXE | ||
590 | SHAMPOOING | ||
591 | SIÈCLE | ||
592 | SIÈGE | ||
593 | SIESTE | ||
594 | SILHOUETTE | ||
595 | SIRÈNE | ||
596 | SKI | ||
597 | SOLEIL | ||
598 | SOMMEIL | ||
599 | SON | ||
600 | SONNER | ||
601 | SORCIÈRE | ||
602 | SOURD | ||
603 | SOURIS | ||
604 | SPORT | ||
605 | STAR | ||
606 | STATION | ||
607 | STYLO | ||
608 | SUR | ||
609 | SURFACE | ||
610 | SUSHI | ||
611 | SWING | ||
612 | TABLEAU | ||
613 | TACHE | ||
614 | TAILLE | ||
615 | TANTE | ||
616 | TAPIS | ||
617 | TARD | ||
618 | TAXI | ||
619 | TÉLÉPHONE | ||
620 | TÉLÉVISION | ||
621 | TEMPLE | ||
622 | TEMPS | ||
623 | TENNIS | ||
624 | TÊTE | ||
625 | THÉ | ||
626 | TIGRE | ||
627 | TINTIN | ||
628 | TISSU | ||
629 | TITRE | ||
630 | TOAST | ||
631 | TOILETTE | ||
632 | TOKYO | ||
633 | TOMBE | ||
634 | TON | ||
635 | TOP | ||
636 | TOUCHE | ||
637 | TOUJOURS | ||
638 | TOUR | ||
639 | TOURNOI | ||
640 | TOUT | ||
641 | TRACE | ||
642 | TRAIN | ||
643 | TRAÎNER | ||
644 | TRANSPORT | ||
645 | TRAVAIL | ||
646 | TRÉSOR | ||
647 | TRIANGLE | ||
648 | TRISTE | ||
649 | TRÔNE | ||
650 | TROUPEAU | ||
651 | TSAR | ||
652 | TUBE | ||
653 | TUER | ||
654 | TUPPERWARE | ||
655 | TUYAU | ||
656 | |||
657 | TYPE | ||
658 | UNIVERSITÉ | ||
659 | VACHE | ||
660 | VAGUE | ||
661 | VAISSELLE | ||
662 | VALEUR | ||
663 | VER | ||
664 | VERDICT | ||
665 | VERRE | ||
666 | VERS | ||
667 | VERT | ||
668 | VESTE | ||
669 | VIANDE | ||
670 | VIDE | ||
671 | VIE | ||
672 | VIEUX | ||
673 | VILLE | ||
674 | VIN | ||
675 | VINGT | ||
676 | VIOLON | ||
677 | VIPÈRE | ||
678 | VISION | ||
679 | VITE | ||
680 | VIVE | ||
681 | VŒU | ||
682 | VOILE | ||
683 | VOISIN | ||
684 | VOITURE | ||
685 | VOL | ||
686 | VOLUME | ||
687 | VOTE | ||
688 | VOULOIR | ||
689 | VOYAGE | ||
690 | ZEN | ||
691 | ZÉRO | ||
692 | ZODIAQUE | ||
693 | ZONE | ||
694 | ZOO | ||
diff --git a/systems/eldiron/websites/games/terraforming-mars/default.nix b/systems/eldiron/websites/games/terraforming-mars/default.nix new file mode 100644 index 0000000..e90e72f --- /dev/null +++ b/systems/eldiron/websites/games/terraforming-mars/default.nix | |||
@@ -0,0 +1,75 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.games.terraforming-mars; | ||
4 | terraforming-mars = pkgs.callPackage ./terraforming-mars.nix {}; | ||
5 | in | ||
6 | { | ||
7 | options.myServices.websites.games.terraforming-mars.enable = lib.mkEnableOption "Enable Terraforming mars game"; | ||
8 | config = lib.mkIf cfg.enable { | ||
9 | myServices.dns.zones."immae.eu".subdomains.games.subdomains.terraforming-mars = with config.myServices.dns.helpers; | ||
10 | ips servers.eldiron.ips.main; | ||
11 | myServices.chatonsProperties.services.terraforming-mars = { | ||
12 | file.datetime = "2022-08-27T14:20:00"; | ||
13 | service = { | ||
14 | name = "Terraforming Mars"; | ||
15 | description = "Terraforming Mars Boardgame"; | ||
16 | website = "https://terraforming-mars.games.immae.eu/"; | ||
17 | logo = "https://terraforming-mars.games.immae.eu/favicon.ico"; | ||
18 | status.level = "OK"; | ||
19 | status.description = "OK"; | ||
20 | registration."" = ["NONE"]; | ||
21 | registration.load = "OPEN"; | ||
22 | install.type = "PACKAGE"; | ||
23 | }; | ||
24 | software = { | ||
25 | name = "Terraforming Mars"; | ||
26 | website = "https://github.com/terraforming-mars/terraforming-mars"; | ||
27 | license.url = "https://github.com/terraforming-mars/terraforming-mars/blob/main/LICENSE"; | ||
28 | license.name = "GNU General Public License v3.0"; | ||
29 | version = "unversionned"; | ||
30 | source.url = "https://github.com/terraforming-mars/terraforming-mars"; | ||
31 | }; | ||
32 | }; | ||
33 | systemd.services.terraforming-mars = { | ||
34 | path = [ pkgs.nodejs_16 pkgs.bashInteractive ]; | ||
35 | description = "Terraforming mars game"; | ||
36 | wantedBy = [ "multi-user.target" ]; | ||
37 | script = '' | ||
38 | export PORT=/run/terraforming-mars/socket.sock | ||
39 | export NODE_ENV=production | ||
40 | mkdir -p /var/lib/terraforming-mars/db | ||
41 | npm run start | ||
42 | ''; | ||
43 | postStart = '' | ||
44 | sleep 5; | ||
45 | chown :wwwrun /run/terraforming-mars/socket.sock | ||
46 | chmod g+w /run/terraforming-mars/socket.sock | ||
47 | ''; | ||
48 | environment.NPM_CONFIG_LOGS_DIR = "%S/terraforming-mars/npm_logs"; | ||
49 | environment.NPM_CONFIG_CACHE = "%S/terraforming-mars/npm_cache"; | ||
50 | serviceConfig = { | ||
51 | User = "terraformingmars"; | ||
52 | DynamicUser = true; | ||
53 | SupplementaryGroups = [ "wwwrun" ]; | ||
54 | Type = "simple"; | ||
55 | WorkingDirectory = terraforming-mars; | ||
56 | RuntimeDirectory = "terraforming-mars"; | ||
57 | StateDirectory = "terraforming-mars"; | ||
58 | }; | ||
59 | }; | ||
60 | |||
61 | security.acme.certs.games.extraDomainNames = [ "terraforming-mars.games.immae.eu" ]; | ||
62 | security.acme.certs.games.domain = "games.immae.eu"; | ||
63 | services.websites.env.tools.vhostConfs.games_terraforming-mars = { | ||
64 | certName = "games"; | ||
65 | hosts = [ "terraforming-mars.games.immae.eu" ]; | ||
66 | root = null; | ||
67 | extraConfig = [ | ||
68 | '' | ||
69 | ProxyPass / unix:///run/terraforming-mars/socket.sock|http://terraforming-mars.games.immae.eu/ | ||
70 | ProxyPassReverse / unix:///run/terraforming-mars/socket.sock|http://terraforming-mars.games.immae.eu/ | ||
71 | '' | ||
72 | ]; | ||
73 | }; | ||
74 | }; | ||
75 | } | ||
diff --git a/systems/eldiron/websites/games/terraforming-mars/immae-assets.patch b/systems/eldiron/websites/games/terraforming-mars/immae-assets.patch new file mode 100644 index 0000000..684a7df --- /dev/null +++ b/systems/eldiron/websites/games/terraforming-mars/immae-assets.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | diff --git a/assets/index.html b/assets/index.html | ||
2 | index 220192834..d77a0fc80 100644 | ||
3 | --- a/assets/index.html | ||
4 | +++ b/assets/index.html | ||
5 | @@ -2,7 +2,7 @@ | ||
6 | <html> | ||
7 | <head> | ||
8 | <link | ||
9 | - href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" | ||
10 | + href="https://assets.immae.eu/fonts/Ubuntu_swap/font.css" | ||
11 | rel="stylesheet" | ||
12 | /> | ||
13 | <link rel="stylesheet" type="text/css" media="all" href="/styles.css" /> | ||
diff --git a/systems/eldiron/websites/games/terraforming-mars/node-packages.nix b/systems/eldiron/websites/games/terraforming-mars/node-packages.nix new file mode 100644 index 0000000..e5fac49 --- /dev/null +++ b/systems/eldiron/websites/games/terraforming-mars/node-packages.nix | |||
@@ -0,0 +1,4353 @@ | |||
1 | # This file has been generated by node2nix 1.8.0. Do not edit! | ||
2 | |||
3 | {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? [], src}: | ||
4 | |||
5 | let | ||
6 | sources = { | ||
7 | "@babel/code-frame-7.12.13" = { | ||
8 | name = "_at_babel_slash_code-frame"; | ||
9 | packageName = "@babel/code-frame"; | ||
10 | version = "7.12.13"; | ||
11 | src = fetchurl { | ||
12 | url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz"; | ||
13 | sha512 = "HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g=="; | ||
14 | }; | ||
15 | }; | ||
16 | "@babel/helper-validator-identifier-7.12.11" = { | ||
17 | name = "_at_babel_slash_helper-validator-identifier"; | ||
18 | packageName = "@babel/helper-validator-identifier"; | ||
19 | version = "7.12.11"; | ||
20 | src = fetchurl { | ||
21 | url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz"; | ||
22 | sha512 = "np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="; | ||
23 | }; | ||
24 | }; | ||
25 | "@babel/highlight-7.13.10" = { | ||
26 | name = "_at_babel_slash_highlight"; | ||
27 | packageName = "@babel/highlight"; | ||
28 | version = "7.13.10"; | ||
29 | src = fetchurl { | ||
30 | url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz"; | ||
31 | sha512 = "5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg=="; | ||
32 | }; | ||
33 | }; | ||
34 | "@discoveryjs/json-ext-0.5.2" = { | ||
35 | name = "_at_discoveryjs_slash_json-ext"; | ||
36 | packageName = "@discoveryjs/json-ext"; | ||
37 | version = "0.5.2"; | ||
38 | src = fetchurl { | ||
39 | url = "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz"; | ||
40 | sha512 = "HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg=="; | ||
41 | }; | ||
42 | }; | ||
43 | "@nodelib/fs.scandir-2.1.4" = { | ||
44 | name = "_at_nodelib_slash_fs.scandir"; | ||
45 | packageName = "@nodelib/fs.scandir"; | ||
46 | version = "2.1.4"; | ||
47 | src = fetchurl { | ||
48 | url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz"; | ||
49 | sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA=="; | ||
50 | }; | ||
51 | }; | ||
52 | "@nodelib/fs.stat-2.0.4" = { | ||
53 | name = "_at_nodelib_slash_fs.stat"; | ||
54 | packageName = "@nodelib/fs.stat"; | ||
55 | version = "2.0.4"; | ||
56 | src = fetchurl { | ||
57 | url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz"; | ||
58 | sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q=="; | ||
59 | }; | ||
60 | }; | ||
61 | "@nodelib/fs.walk-1.2.6" = { | ||
62 | name = "_at_nodelib_slash_fs.walk"; | ||
63 | packageName = "@nodelib/fs.walk"; | ||
64 | version = "1.2.6"; | ||
65 | src = fetchurl { | ||
66 | url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz"; | ||
67 | sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow=="; | ||
68 | }; | ||
69 | }; | ||
70 | "@types/eslint-7.2.10" = { | ||
71 | name = "_at_types_slash_eslint"; | ||
72 | packageName = "@types/eslint"; | ||
73 | version = "7.2.10"; | ||
74 | src = fetchurl { | ||
75 | url = "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.10.tgz"; | ||
76 | sha512 = "kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ=="; | ||
77 | }; | ||
78 | }; | ||
79 | "@types/eslint-scope-3.7.0" = { | ||
80 | name = "_at_types_slash_eslint-scope"; | ||
81 | packageName = "@types/eslint-scope"; | ||
82 | version = "3.7.0"; | ||
83 | src = fetchurl { | ||
84 | url = "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz"; | ||
85 | sha512 = "O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw=="; | ||
86 | }; | ||
87 | }; | ||
88 | "@types/estree-0.0.46" = { | ||
89 | name = "_at_types_slash_estree"; | ||
90 | packageName = "@types/estree"; | ||
91 | version = "0.0.46"; | ||
92 | src = fetchurl { | ||
93 | url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz"; | ||
94 | sha512 = "laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg=="; | ||
95 | }; | ||
96 | }; | ||
97 | "@types/json-schema-7.0.7" = { | ||
98 | name = "_at_types_slash_json-schema"; | ||
99 | packageName = "@types/json-schema"; | ||
100 | version = "7.0.7"; | ||
101 | src = fetchurl { | ||
102 | url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz"; | ||
103 | sha512 = "cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA=="; | ||
104 | }; | ||
105 | }; | ||
106 | "@types/node-10.17.58" = { | ||
107 | name = "_at_types_slash_node"; | ||
108 | packageName = "@types/node"; | ||
109 | version = "10.17.58"; | ||
110 | src = fetchurl { | ||
111 | url = "https://registry.npmjs.org/@types/node/-/node-10.17.58.tgz"; | ||
112 | sha512 = "Dn5RBxLohjdHFj17dVVw3rtrZAeXeWg+LQfvxDIW/fdPkSiuQk7h3frKMYtsQhtIW42wkErDcy9UMVxhGW4O7w=="; | ||
113 | }; | ||
114 | }; | ||
115 | "@types/pg-7.14.11" = { | ||
116 | name = "_at_types_slash_pg"; | ||
117 | packageName = "@types/pg"; | ||
118 | version = "7.14.11"; | ||
119 | src = fetchurl { | ||
120 | url = "https://registry.npmjs.org/@types/pg/-/pg-7.14.11.tgz"; | ||
121 | sha512 = "EnZkZ1OMw9DvNfQkn2MTJrwKmhJYDEs5ujWrPfvseWNoI95N8B4HzU/Ltrq5ZfYxDX/Zg8mTzwr6UAyTjjFvXA=="; | ||
122 | }; | ||
123 | }; | ||
124 | "@types/sqlite3-3.1.7" = { | ||
125 | name = "_at_types_slash_sqlite3"; | ||
126 | packageName = "@types/sqlite3"; | ||
127 | version = "3.1.7"; | ||
128 | src = fetchurl { | ||
129 | url = "https://registry.npmjs.org/@types/sqlite3/-/sqlite3-3.1.7.tgz"; | ||
130 | sha512 = "8FHV/8Uzd7IwdHm5mvmF2Aif4aC/gjrt4axWD9SmfaxITnOjtOhCbOSTuqv/VbH1uq0QrwlaTj9aTz3gmR6u4w=="; | ||
131 | }; | ||
132 | }; | ||
133 | "@typescript-eslint/eslint-plugin-4.22.0" = { | ||
134 | name = "_at_typescript-eslint_slash_eslint-plugin"; | ||
135 | packageName = "@typescript-eslint/eslint-plugin"; | ||
136 | version = "4.22.0"; | ||
137 | src = fetchurl { | ||
138 | url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz"; | ||
139 | sha512 = "U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA=="; | ||
140 | }; | ||
141 | }; | ||
142 | "@typescript-eslint/experimental-utils-4.22.0" = { | ||
143 | name = "_at_typescript-eslint_slash_experimental-utils"; | ||
144 | packageName = "@typescript-eslint/experimental-utils"; | ||
145 | version = "4.22.0"; | ||
146 | src = fetchurl { | ||
147 | url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz"; | ||
148 | sha512 = "xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg=="; | ||
149 | }; | ||
150 | }; | ||
151 | "@typescript-eslint/parser-4.22.0" = { | ||
152 | name = "_at_typescript-eslint_slash_parser"; | ||
153 | packageName = "@typescript-eslint/parser"; | ||
154 | version = "4.22.0"; | ||
155 | src = fetchurl { | ||
156 | url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz"; | ||
157 | sha512 = "z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q=="; | ||
158 | }; | ||
159 | }; | ||
160 | "@typescript-eslint/scope-manager-4.22.0" = { | ||
161 | name = "_at_typescript-eslint_slash_scope-manager"; | ||
162 | packageName = "@typescript-eslint/scope-manager"; | ||
163 | version = "4.22.0"; | ||
164 | src = fetchurl { | ||
165 | url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz"; | ||
166 | sha512 = "OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q=="; | ||
167 | }; | ||
168 | }; | ||
169 | "@typescript-eslint/types-4.22.0" = { | ||
170 | name = "_at_typescript-eslint_slash_types"; | ||
171 | packageName = "@typescript-eslint/types"; | ||
172 | version = "4.22.0"; | ||
173 | src = fetchurl { | ||
174 | url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz"; | ||
175 | sha512 = "sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA=="; | ||
176 | }; | ||
177 | }; | ||
178 | "@typescript-eslint/typescript-estree-4.22.0" = { | ||
179 | name = "_at_typescript-eslint_slash_typescript-estree"; | ||
180 | packageName = "@typescript-eslint/typescript-estree"; | ||
181 | version = "4.22.0"; | ||
182 | src = fetchurl { | ||
183 | url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz"; | ||
184 | sha512 = "TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg=="; | ||
185 | }; | ||
186 | }; | ||
187 | "@typescript-eslint/visitor-keys-4.22.0" = { | ||
188 | name = "_at_typescript-eslint_slash_visitor-keys"; | ||
189 | packageName = "@typescript-eslint/visitor-keys"; | ||
190 | version = "4.22.0"; | ||
191 | src = fetchurl { | ||
192 | url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz"; | ||
193 | sha512 = "nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw=="; | ||
194 | }; | ||
195 | }; | ||
196 | "@webassemblyjs/ast-1.11.0" = { | ||
197 | name = "_at_webassemblyjs_slash_ast"; | ||
198 | packageName = "@webassemblyjs/ast"; | ||
199 | version = "1.11.0"; | ||
200 | src = fetchurl { | ||
201 | url = "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz"; | ||
202 | sha512 = "kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg=="; | ||
203 | }; | ||
204 | }; | ||
205 | "@webassemblyjs/floating-point-hex-parser-1.11.0" = { | ||
206 | name = "_at_webassemblyjs_slash_floating-point-hex-parser"; | ||
207 | packageName = "@webassemblyjs/floating-point-hex-parser"; | ||
208 | version = "1.11.0"; | ||
209 | src = fetchurl { | ||
210 | url = "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz"; | ||
211 | sha512 = "Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA=="; | ||
212 | }; | ||
213 | }; | ||
214 | "@webassemblyjs/helper-api-error-1.11.0" = { | ||
215 | name = "_at_webassemblyjs_slash_helper-api-error"; | ||
216 | packageName = "@webassemblyjs/helper-api-error"; | ||
217 | version = "1.11.0"; | ||
218 | src = fetchurl { | ||
219 | url = "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz"; | ||
220 | sha512 = "baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w=="; | ||
221 | }; | ||
222 | }; | ||
223 | "@webassemblyjs/helper-buffer-1.11.0" = { | ||
224 | name = "_at_webassemblyjs_slash_helper-buffer"; | ||
225 | packageName = "@webassemblyjs/helper-buffer"; | ||
226 | version = "1.11.0"; | ||
227 | src = fetchurl { | ||
228 | url = "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz"; | ||
229 | sha512 = "u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA=="; | ||
230 | }; | ||
231 | }; | ||
232 | "@webassemblyjs/helper-numbers-1.11.0" = { | ||
233 | name = "_at_webassemblyjs_slash_helper-numbers"; | ||
234 | packageName = "@webassemblyjs/helper-numbers"; | ||
235 | version = "1.11.0"; | ||
236 | src = fetchurl { | ||
237 | url = "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz"; | ||
238 | sha512 = "DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ=="; | ||
239 | }; | ||
240 | }; | ||
241 | "@webassemblyjs/helper-wasm-bytecode-1.11.0" = { | ||
242 | name = "_at_webassemblyjs_slash_helper-wasm-bytecode"; | ||
243 | packageName = "@webassemblyjs/helper-wasm-bytecode"; | ||
244 | version = "1.11.0"; | ||
245 | src = fetchurl { | ||
246 | url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz"; | ||
247 | sha512 = "MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA=="; | ||
248 | }; | ||
249 | }; | ||
250 | "@webassemblyjs/helper-wasm-section-1.11.0" = { | ||
251 | name = "_at_webassemblyjs_slash_helper-wasm-section"; | ||
252 | packageName = "@webassemblyjs/helper-wasm-section"; | ||
253 | version = "1.11.0"; | ||
254 | src = fetchurl { | ||
255 | url = "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz"; | ||
256 | sha512 = "3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew=="; | ||
257 | }; | ||
258 | }; | ||
259 | "@webassemblyjs/ieee754-1.11.0" = { | ||
260 | name = "_at_webassemblyjs_slash_ieee754"; | ||
261 | packageName = "@webassemblyjs/ieee754"; | ||
262 | version = "1.11.0"; | ||
263 | src = fetchurl { | ||
264 | url = "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz"; | ||
265 | sha512 = "KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA=="; | ||
266 | }; | ||
267 | }; | ||
268 | "@webassemblyjs/leb128-1.11.0" = { | ||
269 | name = "_at_webassemblyjs_slash_leb128"; | ||
270 | packageName = "@webassemblyjs/leb128"; | ||
271 | version = "1.11.0"; | ||
272 | src = fetchurl { | ||
273 | url = "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz"; | ||
274 | sha512 = "aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g=="; | ||
275 | }; | ||
276 | }; | ||
277 | "@webassemblyjs/utf8-1.11.0" = { | ||
278 | name = "_at_webassemblyjs_slash_utf8"; | ||
279 | packageName = "@webassemblyjs/utf8"; | ||
280 | version = "1.11.0"; | ||
281 | src = fetchurl { | ||
282 | url = "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz"; | ||
283 | sha512 = "A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw=="; | ||
284 | }; | ||
285 | }; | ||
286 | "@webassemblyjs/wasm-edit-1.11.0" = { | ||
287 | name = "_at_webassemblyjs_slash_wasm-edit"; | ||
288 | packageName = "@webassemblyjs/wasm-edit"; | ||
289 | version = "1.11.0"; | ||
290 | src = fetchurl { | ||
291 | url = "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz"; | ||
292 | sha512 = "JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ=="; | ||
293 | }; | ||
294 | }; | ||
295 | "@webassemblyjs/wasm-gen-1.11.0" = { | ||
296 | name = "_at_webassemblyjs_slash_wasm-gen"; | ||
297 | packageName = "@webassemblyjs/wasm-gen"; | ||
298 | version = "1.11.0"; | ||
299 | src = fetchurl { | ||
300 | url = "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz"; | ||
301 | sha512 = "BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ=="; | ||
302 | }; | ||
303 | }; | ||
304 | "@webassemblyjs/wasm-opt-1.11.0" = { | ||
305 | name = "_at_webassemblyjs_slash_wasm-opt"; | ||
306 | packageName = "@webassemblyjs/wasm-opt"; | ||
307 | version = "1.11.0"; | ||
308 | src = fetchurl { | ||
309 | url = "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz"; | ||
310 | sha512 = "tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg=="; | ||
311 | }; | ||
312 | }; | ||
313 | "@webassemblyjs/wasm-parser-1.11.0" = { | ||
314 | name = "_at_webassemblyjs_slash_wasm-parser"; | ||
315 | packageName = "@webassemblyjs/wasm-parser"; | ||
316 | version = "1.11.0"; | ||
317 | src = fetchurl { | ||
318 | url = "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz"; | ||
319 | sha512 = "6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw=="; | ||
320 | }; | ||
321 | }; | ||
322 | "@webassemblyjs/wast-printer-1.11.0" = { | ||
323 | name = "_at_webassemblyjs_slash_wast-printer"; | ||
324 | packageName = "@webassemblyjs/wast-printer"; | ||
325 | version = "1.11.0"; | ||
326 | src = fetchurl { | ||
327 | url = "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz"; | ||
328 | sha512 = "Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ=="; | ||
329 | }; | ||
330 | }; | ||
331 | "@webpack-cli/configtest-1.0.2" = { | ||
332 | name = "_at_webpack-cli_slash_configtest"; | ||
333 | packageName = "@webpack-cli/configtest"; | ||
334 | version = "1.0.2"; | ||
335 | src = fetchurl { | ||
336 | url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.2.tgz"; | ||
337 | sha512 = "3OBzV2fBGZ5TBfdW50cha1lHDVf9vlvRXnjpVbJBa20pSZQaSkMJZiwA8V2vD9ogyeXn8nU5s5A6mHyf5jhMzA=="; | ||
338 | }; | ||
339 | }; | ||
340 | "@webpack-cli/info-1.2.3" = { | ||
341 | name = "_at_webpack-cli_slash_info"; | ||
342 | packageName = "@webpack-cli/info"; | ||
343 | version = "1.2.3"; | ||
344 | src = fetchurl { | ||
345 | url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.3.tgz"; | ||
346 | sha512 = "lLek3/T7u40lTqzCGpC6CAbY6+vXhdhmwFRxZLMnRm6/sIF/7qMpT8MocXCRQfz0JAh63wpbXLMnsQ5162WS7Q=="; | ||
347 | }; | ||
348 | }; | ||
349 | "@webpack-cli/serve-1.3.1" = { | ||
350 | name = "_at_webpack-cli_slash_serve"; | ||
351 | packageName = "@webpack-cli/serve"; | ||
352 | version = "1.3.1"; | ||
353 | src = fetchurl { | ||
354 | url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.1.tgz"; | ||
355 | sha512 = "0qXvpeYO6vaNoRBI52/UsbcaBydJCggoBBnIo/ovQQdn6fug0BgwsjorV1hVS7fMqGVTZGcVxv8334gjmbj5hw=="; | ||
356 | }; | ||
357 | }; | ||
358 | "@xtuc/ieee754-1.2.0" = { | ||
359 | name = "_at_xtuc_slash_ieee754"; | ||
360 | packageName = "@xtuc/ieee754"; | ||
361 | version = "1.2.0"; | ||
362 | src = fetchurl { | ||
363 | url = "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz"; | ||
364 | sha512 = "DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="; | ||
365 | }; | ||
366 | }; | ||
367 | "@xtuc/long-4.2.2" = { | ||
368 | name = "_at_xtuc_slash_long"; | ||
369 | packageName = "@xtuc/long"; | ||
370 | version = "4.2.2"; | ||
371 | src = fetchurl { | ||
372 | url = "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz"; | ||
373 | sha512 = "NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="; | ||
374 | }; | ||
375 | }; | ||
376 | "abbrev-1.1.1" = { | ||
377 | name = "abbrev"; | ||
378 | packageName = "abbrev"; | ||
379 | version = "1.1.1"; | ||
380 | src = fetchurl { | ||
381 | url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"; | ||
382 | sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="; | ||
383 | }; | ||
384 | }; | ||
385 | "acorn-7.4.1" = { | ||
386 | name = "acorn"; | ||
387 | packageName = "acorn"; | ||
388 | version = "7.4.1"; | ||
389 | src = fetchurl { | ||
390 | url = "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"; | ||
391 | sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="; | ||
392 | }; | ||
393 | }; | ||
394 | "acorn-8.1.1" = { | ||
395 | name = "acorn"; | ||
396 | packageName = "acorn"; | ||
397 | version = "8.1.1"; | ||
398 | src = fetchurl { | ||
399 | url = "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz"; | ||
400 | sha512 = "xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g=="; | ||
401 | }; | ||
402 | }; | ||
403 | "acorn-jsx-5.3.1" = { | ||
404 | name = "acorn-jsx"; | ||
405 | packageName = "acorn-jsx"; | ||
406 | version = "5.3.1"; | ||
407 | src = fetchurl { | ||
408 | url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz"; | ||
409 | sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng=="; | ||
410 | }; | ||
411 | }; | ||
412 | "ajv-6.12.6" = { | ||
413 | name = "ajv"; | ||
414 | packageName = "ajv"; | ||
415 | version = "6.12.6"; | ||
416 | src = fetchurl { | ||
417 | url = "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"; | ||
418 | sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="; | ||
419 | }; | ||
420 | }; | ||
421 | "ajv-keywords-3.5.2" = { | ||
422 | name = "ajv-keywords"; | ||
423 | packageName = "ajv-keywords"; | ||
424 | version = "3.5.2"; | ||
425 | src = fetchurl { | ||
426 | url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"; | ||
427 | sha512 = "5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ=="; | ||
428 | }; | ||
429 | }; | ||
430 | "ansi-colors-4.1.1" = { | ||
431 | name = "ansi-colors"; | ||
432 | packageName = "ansi-colors"; | ||
433 | version = "4.1.1"; | ||
434 | src = fetchurl { | ||
435 | url = "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"; | ||
436 | sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="; | ||
437 | }; | ||
438 | }; | ||
439 | "ansi-escapes-4.3.2" = { | ||
440 | name = "ansi-escapes"; | ||
441 | packageName = "ansi-escapes"; | ||
442 | version = "4.3.2"; | ||
443 | src = fetchurl { | ||
444 | url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"; | ||
445 | sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ=="; | ||
446 | }; | ||
447 | }; | ||
448 | "ansi-regex-2.1.1" = { | ||
449 | name = "ansi-regex"; | ||
450 | packageName = "ansi-regex"; | ||
451 | version = "2.1.1"; | ||
452 | src = fetchurl { | ||
453 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"; | ||
454 | sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; | ||
455 | }; | ||
456 | }; | ||
457 | "ansi-regex-3.0.0" = { | ||
458 | name = "ansi-regex"; | ||
459 | packageName = "ansi-regex"; | ||
460 | version = "3.0.0"; | ||
461 | src = fetchurl { | ||
462 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz"; | ||
463 | sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; | ||
464 | }; | ||
465 | }; | ||
466 | "ansi-regex-4.1.0" = { | ||
467 | name = "ansi-regex"; | ||
468 | packageName = "ansi-regex"; | ||
469 | version = "4.1.0"; | ||
470 | src = fetchurl { | ||
471 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz"; | ||
472 | sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="; | ||
473 | }; | ||
474 | }; | ||
475 | "ansi-regex-5.0.0" = { | ||
476 | name = "ansi-regex"; | ||
477 | packageName = "ansi-regex"; | ||
478 | version = "5.0.0"; | ||
479 | src = fetchurl { | ||
480 | url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"; | ||
481 | sha512 = "bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="; | ||
482 | }; | ||
483 | }; | ||
484 | "ansi-styles-3.2.1" = { | ||
485 | name = "ansi-styles"; | ||
486 | packageName = "ansi-styles"; | ||
487 | version = "3.2.1"; | ||
488 | src = fetchurl { | ||
489 | url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"; | ||
490 | sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="; | ||
491 | }; | ||
492 | }; | ||
493 | "ansi-styles-4.3.0" = { | ||
494 | name = "ansi-styles"; | ||
495 | packageName = "ansi-styles"; | ||
496 | version = "4.3.0"; | ||
497 | src = fetchurl { | ||
498 | url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"; | ||
499 | sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="; | ||
500 | }; | ||
501 | }; | ||
502 | "aproba-1.2.0" = { | ||
503 | name = "aproba"; | ||
504 | packageName = "aproba"; | ||
505 | version = "1.2.0"; | ||
506 | src = fetchurl { | ||
507 | url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz"; | ||
508 | sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="; | ||
509 | }; | ||
510 | }; | ||
511 | "are-we-there-yet-1.1.5" = { | ||
512 | name = "are-we-there-yet"; | ||
513 | packageName = "are-we-there-yet"; | ||
514 | version = "1.1.5"; | ||
515 | src = fetchurl { | ||
516 | url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz"; | ||
517 | sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w=="; | ||
518 | }; | ||
519 | }; | ||
520 | "argparse-1.0.10" = { | ||
521 | name = "argparse"; | ||
522 | packageName = "argparse"; | ||
523 | version = "1.0.10"; | ||
524 | src = fetchurl { | ||
525 | url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; | ||
526 | sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; | ||
527 | }; | ||
528 | }; | ||
529 | "array-union-2.1.0" = { | ||
530 | name = "array-union"; | ||
531 | packageName = "array-union"; | ||
532 | version = "2.1.0"; | ||
533 | src = fetchurl { | ||
534 | url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"; | ||
535 | sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="; | ||
536 | }; | ||
537 | }; | ||
538 | "asn1-0.2.4" = { | ||
539 | name = "asn1"; | ||
540 | packageName = "asn1"; | ||
541 | version = "0.2.4"; | ||
542 | src = fetchurl { | ||
543 | url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz"; | ||
544 | sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg=="; | ||
545 | }; | ||
546 | }; | ||
547 | "assert-plus-1.0.0" = { | ||
548 | name = "assert-plus"; | ||
549 | packageName = "assert-plus"; | ||
550 | version = "1.0.0"; | ||
551 | src = fetchurl { | ||
552 | url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"; | ||
553 | sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; | ||
554 | }; | ||
555 | }; | ||
556 | "astral-regex-1.0.0" = { | ||
557 | name = "astral-regex"; | ||
558 | packageName = "astral-regex"; | ||
559 | version = "1.0.0"; | ||
560 | src = fetchurl { | ||
561 | url = "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz"; | ||
562 | sha512 = "+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg=="; | ||
563 | }; | ||
564 | }; | ||
565 | "asynckit-0.4.0" = { | ||
566 | name = "asynckit"; | ||
567 | packageName = "asynckit"; | ||
568 | version = "0.4.0"; | ||
569 | src = fetchurl { | ||
570 | url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"; | ||
571 | sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; | ||
572 | }; | ||
573 | }; | ||
574 | "aws-sign2-0.7.0" = { | ||
575 | name = "aws-sign2"; | ||
576 | packageName = "aws-sign2"; | ||
577 | version = "0.7.0"; | ||
578 | src = fetchurl { | ||
579 | url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz"; | ||
580 | sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; | ||
581 | }; | ||
582 | }; | ||
583 | "aws4-1.11.0" = { | ||
584 | name = "aws4"; | ||
585 | packageName = "aws4"; | ||
586 | version = "1.11.0"; | ||
587 | src = fetchurl { | ||
588 | url = "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz"; | ||
589 | sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="; | ||
590 | }; | ||
591 | }; | ||
592 | "balanced-match-1.0.2" = { | ||
593 | name = "balanced-match"; | ||
594 | packageName = "balanced-match"; | ||
595 | version = "1.0.2"; | ||
596 | src = fetchurl { | ||
597 | url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"; | ||
598 | sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="; | ||
599 | }; | ||
600 | }; | ||
601 | "bcrypt-pbkdf-1.0.2" = { | ||
602 | name = "bcrypt-pbkdf"; | ||
603 | packageName = "bcrypt-pbkdf"; | ||
604 | version = "1.0.2"; | ||
605 | src = fetchurl { | ||
606 | url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; | ||
607 | sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; | ||
608 | }; | ||
609 | }; | ||
610 | "block-stream-0.0.9" = { | ||
611 | name = "block-stream"; | ||
612 | packageName = "block-stream"; | ||
613 | version = "0.0.9"; | ||
614 | src = fetchurl { | ||
615 | url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz"; | ||
616 | sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a"; | ||
617 | }; | ||
618 | }; | ||
619 | "brace-expansion-1.1.11" = { | ||
620 | name = "brace-expansion"; | ||
621 | packageName = "brace-expansion"; | ||
622 | version = "1.1.11"; | ||
623 | src = fetchurl { | ||
624 | url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"; | ||
625 | sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="; | ||
626 | }; | ||
627 | }; | ||
628 | "braces-3.0.2" = { | ||
629 | name = "braces"; | ||
630 | packageName = "braces"; | ||
631 | version = "3.0.2"; | ||
632 | src = fetchurl { | ||
633 | url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"; | ||
634 | sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="; | ||
635 | }; | ||
636 | }; | ||
637 | "browserslist-4.16.4" = { | ||
638 | name = "browserslist"; | ||
639 | packageName = "browserslist"; | ||
640 | version = "4.16.4"; | ||
641 | src = fetchurl { | ||
642 | url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.4.tgz"; | ||
643 | sha512 = "d7rCxYV8I9kj41RH8UKYnvDYCRENUlHRgyXy/Rhr/1BaeLGfiCptEdFE8MIrvGfWbBFNjVYx76SQWvNX1j+/cQ=="; | ||
644 | }; | ||
645 | }; | ||
646 | "buffer-from-1.1.1" = { | ||
647 | name = "buffer-from"; | ||
648 | packageName = "buffer-from"; | ||
649 | version = "1.1.1"; | ||
650 | src = fetchurl { | ||
651 | url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"; | ||
652 | sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="; | ||
653 | }; | ||
654 | }; | ||
655 | "buffer-writer-2.0.0" = { | ||
656 | name = "buffer-writer"; | ||
657 | packageName = "buffer-writer"; | ||
658 | version = "2.0.0"; | ||
659 | src = fetchurl { | ||
660 | url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz"; | ||
661 | sha512 = "a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw=="; | ||
662 | }; | ||
663 | }; | ||
664 | "callsites-3.1.0" = { | ||
665 | name = "callsites"; | ||
666 | packageName = "callsites"; | ||
667 | version = "3.1.0"; | ||
668 | src = fetchurl { | ||
669 | url = "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"; | ||
670 | sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="; | ||
671 | }; | ||
672 | }; | ||
673 | "caniuse-lite-1.0.30001209" = { | ||
674 | name = "caniuse-lite"; | ||
675 | packageName = "caniuse-lite"; | ||
676 | version = "1.0.30001209"; | ||
677 | src = fetchurl { | ||
678 | url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001209.tgz"; | ||
679 | sha512 = "2Ktt4OeRM7EM/JaOZjuLzPYAIqmbwQMNnYbgooT+icoRGrKOyAxA1xhlnotBD1KArRSPsuJp3TdYcZYrL7qNxA=="; | ||
680 | }; | ||
681 | }; | ||
682 | "caseless-0.12.0" = { | ||
683 | name = "caseless"; | ||
684 | packageName = "caseless"; | ||
685 | version = "0.12.0"; | ||
686 | src = fetchurl { | ||
687 | url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz"; | ||
688 | sha1 = "1b681c21ff84033c826543090689420d187151dc"; | ||
689 | }; | ||
690 | }; | ||
691 | "chalk-2.4.2" = { | ||
692 | name = "chalk"; | ||
693 | packageName = "chalk"; | ||
694 | version = "2.4.2"; | ||
695 | src = fetchurl { | ||
696 | url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"; | ||
697 | sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="; | ||
698 | }; | ||
699 | }; | ||
700 | "chalk-4.1.0" = { | ||
701 | name = "chalk"; | ||
702 | packageName = "chalk"; | ||
703 | version = "4.1.0"; | ||
704 | src = fetchurl { | ||
705 | url = "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz"; | ||
706 | sha512 = "qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A=="; | ||
707 | }; | ||
708 | }; | ||
709 | "chardet-0.7.0" = { | ||
710 | name = "chardet"; | ||
711 | packageName = "chardet"; | ||
712 | version = "0.7.0"; | ||
713 | src = fetchurl { | ||
714 | url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"; | ||
715 | sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="; | ||
716 | }; | ||
717 | }; | ||
718 | "chownr-1.1.4" = { | ||
719 | name = "chownr"; | ||
720 | packageName = "chownr"; | ||
721 | version = "1.1.4"; | ||
722 | src = fetchurl { | ||
723 | url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz"; | ||
724 | sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="; | ||
725 | }; | ||
726 | }; | ||
727 | "chrome-trace-event-1.0.3" = { | ||
728 | name = "chrome-trace-event"; | ||
729 | packageName = "chrome-trace-event"; | ||
730 | version = "1.0.3"; | ||
731 | src = fetchurl { | ||
732 | url = "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz"; | ||
733 | sha512 = "p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="; | ||
734 | }; | ||
735 | }; | ||
736 | "cli-cursor-3.1.0" = { | ||
737 | name = "cli-cursor"; | ||
738 | packageName = "cli-cursor"; | ||
739 | version = "3.1.0"; | ||
740 | src = fetchurl { | ||
741 | url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz"; | ||
742 | sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw=="; | ||
743 | }; | ||
744 | }; | ||
745 | "cli-width-3.0.0" = { | ||
746 | name = "cli-width"; | ||
747 | packageName = "cli-width"; | ||
748 | version = "3.0.0"; | ||
749 | src = fetchurl { | ||
750 | url = "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz"; | ||
751 | sha512 = "FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw=="; | ||
752 | }; | ||
753 | }; | ||
754 | "clone-deep-4.0.1" = { | ||
755 | name = "clone-deep"; | ||
756 | packageName = "clone-deep"; | ||
757 | version = "4.0.1"; | ||
758 | src = fetchurl { | ||
759 | url = "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz"; | ||
760 | sha512 = "neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ=="; | ||
761 | }; | ||
762 | }; | ||
763 | "code-point-at-1.1.0" = { | ||
764 | name = "code-point-at"; | ||
765 | packageName = "code-point-at"; | ||
766 | version = "1.1.0"; | ||
767 | src = fetchurl { | ||
768 | url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz"; | ||
769 | sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"; | ||
770 | }; | ||
771 | }; | ||
772 | "color-convert-1.9.3" = { | ||
773 | name = "color-convert"; | ||
774 | packageName = "color-convert"; | ||
775 | version = "1.9.3"; | ||
776 | src = fetchurl { | ||
777 | url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"; | ||
778 | sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="; | ||
779 | }; | ||
780 | }; | ||
781 | "color-convert-2.0.1" = { | ||
782 | name = "color-convert"; | ||
783 | packageName = "color-convert"; | ||
784 | version = "2.0.1"; | ||
785 | src = fetchurl { | ||
786 | url = "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"; | ||
787 | sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="; | ||
788 | }; | ||
789 | }; | ||
790 | "color-name-1.1.3" = { | ||
791 | name = "color-name"; | ||
792 | packageName = "color-name"; | ||
793 | version = "1.1.3"; | ||
794 | src = fetchurl { | ||
795 | url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"; | ||
796 | sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; | ||
797 | }; | ||
798 | }; | ||
799 | "color-name-1.1.4" = { | ||
800 | name = "color-name"; | ||
801 | packageName = "color-name"; | ||
802 | version = "1.1.4"; | ||
803 | src = fetchurl { | ||
804 | url = "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"; | ||
805 | sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="; | ||
806 | }; | ||
807 | }; | ||
808 | "colorette-1.2.2" = { | ||
809 | name = "colorette"; | ||
810 | packageName = "colorette"; | ||
811 | version = "1.2.2"; | ||
812 | src = fetchurl { | ||
813 | url = "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz"; | ||
814 | sha512 = "MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="; | ||
815 | }; | ||
816 | }; | ||
817 | "combined-stream-1.0.8" = { | ||
818 | name = "combined-stream"; | ||
819 | packageName = "combined-stream"; | ||
820 | version = "1.0.8"; | ||
821 | src = fetchurl { | ||
822 | url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"; | ||
823 | sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="; | ||
824 | }; | ||
825 | }; | ||
826 | "commander-2.20.3" = { | ||
827 | name = "commander"; | ||
828 | packageName = "commander"; | ||
829 | version = "2.20.3"; | ||
830 | src = fetchurl { | ||
831 | url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"; | ||
832 | sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="; | ||
833 | }; | ||
834 | }; | ||
835 | "commander-7.2.0" = { | ||
836 | name = "commander"; | ||
837 | packageName = "commander"; | ||
838 | version = "7.2.0"; | ||
839 | src = fetchurl { | ||
840 | url = "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"; | ||
841 | sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="; | ||
842 | }; | ||
843 | }; | ||
844 | "compression-webpack-plugin-7.1.2" = { | ||
845 | name = "compression-webpack-plugin"; | ||
846 | packageName = "compression-webpack-plugin"; | ||
847 | version = "7.1.2"; | ||
848 | src = fetchurl { | ||
849 | url = "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-7.1.2.tgz"; | ||
850 | sha512 = "9DKNW6ILLjx+bNBoviHDgLx6swBhWWH9ApClC9sTH2NoFfQM47BapQfovCm9zjD9v1uZwInF5a925FB9ErGQeQ=="; | ||
851 | }; | ||
852 | }; | ||
853 | "concat-map-0.0.1" = { | ||
854 | name = "concat-map"; | ||
855 | packageName = "concat-map"; | ||
856 | version = "0.0.1"; | ||
857 | src = fetchurl { | ||
858 | url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"; | ||
859 | sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; | ||
860 | }; | ||
861 | }; | ||
862 | "config-chain-1.1.12" = { | ||
863 | name = "config-chain"; | ||
864 | packageName = "config-chain"; | ||
865 | version = "1.1.12"; | ||
866 | src = fetchurl { | ||
867 | url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz"; | ||
868 | sha512 = "a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA=="; | ||
869 | }; | ||
870 | }; | ||
871 | "console-control-strings-1.1.0" = { | ||
872 | name = "console-control-strings"; | ||
873 | packageName = "console-control-strings"; | ||
874 | version = "1.1.0"; | ||
875 | src = fetchurl { | ||
876 | url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"; | ||
877 | sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e"; | ||
878 | }; | ||
879 | }; | ||
880 | "console-stamp-3.0.0-rc4.2" = { | ||
881 | name = "console-stamp"; | ||
882 | packageName = "console-stamp"; | ||
883 | version = "3.0.0-rc4.2"; | ||
884 | src = fetchurl { | ||
885 | url = "https://registry.npmjs.org/console-stamp/-/console-stamp-3.0.0-rc4.2.tgz"; | ||
886 | sha512 = "ncGYdZsfDbBYYiaPXr9NHfZbSSkoVzYyh8nHji9/3ovw35Jn4ozo0btcirtfIznXT4xNgBQW+IyTVLISnNumdQ=="; | ||
887 | }; | ||
888 | }; | ||
889 | "copy-anything-2.0.3" = { | ||
890 | name = "copy-anything"; | ||
891 | packageName = "copy-anything"; | ||
892 | version = "2.0.3"; | ||
893 | src = fetchurl { | ||
894 | url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz"; | ||
895 | sha512 = "GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ=="; | ||
896 | }; | ||
897 | }; | ||
898 | "core-util-is-1.0.2" = { | ||
899 | name = "core-util-is"; | ||
900 | packageName = "core-util-is"; | ||
901 | version = "1.0.2"; | ||
902 | src = fetchurl { | ||
903 | url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"; | ||
904 | sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; | ||
905 | }; | ||
906 | }; | ||
907 | "cross-spawn-6.0.5" = { | ||
908 | name = "cross-spawn"; | ||
909 | packageName = "cross-spawn"; | ||
910 | version = "6.0.5"; | ||
911 | src = fetchurl { | ||
912 | url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz"; | ||
913 | sha512 = "eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ=="; | ||
914 | }; | ||
915 | }; | ||
916 | "cross-spawn-7.0.3" = { | ||
917 | name = "cross-spawn"; | ||
918 | packageName = "cross-spawn"; | ||
919 | version = "7.0.3"; | ||
920 | src = fetchurl { | ||
921 | url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"; | ||
922 | sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="; | ||
923 | }; | ||
924 | }; | ||
925 | "dashdash-1.14.1" = { | ||
926 | name = "dashdash"; | ||
927 | packageName = "dashdash"; | ||
928 | version = "1.14.1"; | ||
929 | src = fetchurl { | ||
930 | url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz"; | ||
931 | sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; | ||
932 | }; | ||
933 | }; | ||
934 | "dateformat-3.0.3" = { | ||
935 | name = "dateformat"; | ||
936 | packageName = "dateformat"; | ||
937 | version = "3.0.3"; | ||
938 | src = fetchurl { | ||
939 | url = "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz"; | ||
940 | sha512 = "jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="; | ||
941 | }; | ||
942 | }; | ||
943 | "de-indent-1.0.2" = { | ||
944 | name = "de-indent"; | ||
945 | packageName = "de-indent"; | ||
946 | version = "1.0.2"; | ||
947 | src = fetchurl { | ||
948 | url = "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz"; | ||
949 | sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d"; | ||
950 | }; | ||
951 | }; | ||
952 | "debug-3.2.7" = { | ||
953 | name = "debug"; | ||
954 | packageName = "debug"; | ||
955 | version = "3.2.7"; | ||
956 | src = fetchurl { | ||
957 | url = "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"; | ||
958 | sha512 = "CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="; | ||
959 | }; | ||
960 | }; | ||
961 | "debug-4.3.1" = { | ||
962 | name = "debug"; | ||
963 | packageName = "debug"; | ||
964 | version = "4.3.1"; | ||
965 | src = fetchurl { | ||
966 | url = "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"; | ||
967 | sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="; | ||
968 | }; | ||
969 | }; | ||
970 | "deep-extend-0.6.0" = { | ||
971 | name = "deep-extend"; | ||
972 | packageName = "deep-extend"; | ||
973 | version = "0.6.0"; | ||
974 | src = fetchurl { | ||
975 | url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"; | ||
976 | sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="; | ||
977 | }; | ||
978 | }; | ||
979 | "deep-is-0.1.3" = { | ||
980 | name = "deep-is"; | ||
981 | packageName = "deep-is"; | ||
982 | version = "0.1.3"; | ||
983 | src = fetchurl { | ||
984 | url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"; | ||
985 | sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; | ||
986 | }; | ||
987 | }; | ||
988 | "delayed-stream-1.0.0" = { | ||
989 | name = "delayed-stream"; | ||
990 | packageName = "delayed-stream"; | ||
991 | version = "1.0.0"; | ||
992 | src = fetchurl { | ||
993 | url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"; | ||
994 | sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; | ||
995 | }; | ||
996 | }; | ||
997 | "delegates-1.0.0" = { | ||
998 | name = "delegates"; | ||
999 | packageName = "delegates"; | ||
1000 | version = "1.0.0"; | ||
1001 | src = fetchurl { | ||
1002 | url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"; | ||
1003 | sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a"; | ||
1004 | }; | ||
1005 | }; | ||
1006 | "detect-libc-1.0.3" = { | ||
1007 | name = "detect-libc"; | ||
1008 | packageName = "detect-libc"; | ||
1009 | version = "1.0.3"; | ||
1010 | src = fetchurl { | ||
1011 | url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz"; | ||
1012 | sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"; | ||
1013 | }; | ||
1014 | }; | ||
1015 | "dialog-polyfill-0.5.6" = { | ||
1016 | name = "dialog-polyfill"; | ||
1017 | packageName = "dialog-polyfill"; | ||
1018 | version = "0.5.6"; | ||
1019 | src = fetchurl { | ||
1020 | url = "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz"; | ||
1021 | sha512 = "ZbVDJI9uvxPAKze6z146rmfUZjBqNEwcnFTVamQzXH+svluiV7swmVIGr7miwADgfgt1G2JQIytypM9fbyhX4w=="; | ||
1022 | }; | ||
1023 | }; | ||
1024 | "dir-glob-3.0.1" = { | ||
1025 | name = "dir-glob"; | ||
1026 | packageName = "dir-glob"; | ||
1027 | version = "3.0.1"; | ||
1028 | src = fetchurl { | ||
1029 | url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"; | ||
1030 | sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="; | ||
1031 | }; | ||
1032 | }; | ||
1033 | "doctrine-3.0.0" = { | ||
1034 | name = "doctrine"; | ||
1035 | packageName = "doctrine"; | ||
1036 | version = "3.0.0"; | ||
1037 | src = fetchurl { | ||
1038 | url = "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"; | ||
1039 | sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="; | ||
1040 | }; | ||
1041 | }; | ||
1042 | "dotenv-8.2.0" = { | ||
1043 | name = "dotenv"; | ||
1044 | packageName = "dotenv"; | ||
1045 | version = "8.2.0"; | ||
1046 | src = fetchurl { | ||
1047 | url = "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz"; | ||
1048 | sha512 = "8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="; | ||
1049 | }; | ||
1050 | }; | ||
1051 | "ecc-jsbn-0.1.2" = { | ||
1052 | name = "ecc-jsbn"; | ||
1053 | packageName = "ecc-jsbn"; | ||
1054 | version = "0.1.2"; | ||
1055 | src = fetchurl { | ||
1056 | url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; | ||
1057 | sha1 = "3a83a904e54353287874c564b7549386849a98c9"; | ||
1058 | }; | ||
1059 | }; | ||
1060 | "editorconfig-0.15.3" = { | ||
1061 | name = "editorconfig"; | ||
1062 | packageName = "editorconfig"; | ||
1063 | version = "0.15.3"; | ||
1064 | src = fetchurl { | ||
1065 | url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz"; | ||
1066 | sha512 = "M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g=="; | ||
1067 | }; | ||
1068 | }; | ||
1069 | "electron-to-chromium-1.3.717" = { | ||
1070 | name = "electron-to-chromium"; | ||
1071 | packageName = "electron-to-chromium"; | ||
1072 | version = "1.3.717"; | ||
1073 | src = fetchurl { | ||
1074 | url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.717.tgz"; | ||
1075 | sha512 = "OfzVPIqD1MkJ7fX+yTl2nKyOE4FReeVfMCzzxQS+Kp43hZYwHwThlGP+EGIZRXJsxCM7dqo8Y65NOX/HP12iXQ=="; | ||
1076 | }; | ||
1077 | }; | ||
1078 | "emoji-regex-7.0.3" = { | ||
1079 | name = "emoji-regex"; | ||
1080 | packageName = "emoji-regex"; | ||
1081 | version = "7.0.3"; | ||
1082 | src = fetchurl { | ||
1083 | url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz"; | ||
1084 | sha512 = "CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="; | ||
1085 | }; | ||
1086 | }; | ||
1087 | "emoji-regex-8.0.0" = { | ||
1088 | name = "emoji-regex"; | ||
1089 | packageName = "emoji-regex"; | ||
1090 | version = "8.0.0"; | ||
1091 | src = fetchurl { | ||
1092 | url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"; | ||
1093 | sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="; | ||
1094 | }; | ||
1095 | }; | ||
1096 | "enhanced-resolve-5.7.0" = { | ||
1097 | name = "enhanced-resolve"; | ||
1098 | packageName = "enhanced-resolve"; | ||
1099 | version = "5.7.0"; | ||
1100 | src = fetchurl { | ||
1101 | url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz"; | ||
1102 | sha512 = "6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw=="; | ||
1103 | }; | ||
1104 | }; | ||
1105 | "enquirer-2.3.6" = { | ||
1106 | name = "enquirer"; | ||
1107 | packageName = "enquirer"; | ||
1108 | version = "2.3.6"; | ||
1109 | src = fetchurl { | ||
1110 | url = "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz"; | ||
1111 | sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg=="; | ||
1112 | }; | ||
1113 | }; | ||
1114 | "envinfo-7.8.1" = { | ||
1115 | name = "envinfo"; | ||
1116 | packageName = "envinfo"; | ||
1117 | version = "7.8.1"; | ||
1118 | src = fetchurl { | ||
1119 | url = "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz"; | ||
1120 | sha512 = "/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw=="; | ||
1121 | }; | ||
1122 | }; | ||
1123 | "errno-0.1.8" = { | ||
1124 | name = "errno"; | ||
1125 | packageName = "errno"; | ||
1126 | version = "0.1.8"; | ||
1127 | src = fetchurl { | ||
1128 | url = "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz"; | ||
1129 | sha512 = "dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A=="; | ||
1130 | }; | ||
1131 | }; | ||
1132 | "es-module-lexer-0.4.1" = { | ||
1133 | name = "es-module-lexer"; | ||
1134 | packageName = "es-module-lexer"; | ||
1135 | version = "0.4.1"; | ||
1136 | src = fetchurl { | ||
1137 | url = "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz"; | ||
1138 | sha512 = "ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA=="; | ||
1139 | }; | ||
1140 | }; | ||
1141 | "escalade-3.1.1" = { | ||
1142 | name = "escalade"; | ||
1143 | packageName = "escalade"; | ||
1144 | version = "3.1.1"; | ||
1145 | src = fetchurl { | ||
1146 | url = "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"; | ||
1147 | sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="; | ||
1148 | }; | ||
1149 | }; | ||
1150 | "escape-string-regexp-1.0.5" = { | ||
1151 | name = "escape-string-regexp"; | ||
1152 | packageName = "escape-string-regexp"; | ||
1153 | version = "1.0.5"; | ||
1154 | src = fetchurl { | ||
1155 | url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; | ||
1156 | sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; | ||
1157 | }; | ||
1158 | }; | ||
1159 | "eslint-6.8.0" = { | ||
1160 | name = "eslint"; | ||
1161 | packageName = "eslint"; | ||
1162 | version = "6.8.0"; | ||
1163 | src = fetchurl { | ||
1164 | url = "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz"; | ||
1165 | sha512 = "K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig=="; | ||
1166 | }; | ||
1167 | }; | ||
1168 | "eslint-config-google-0.14.0" = { | ||
1169 | name = "eslint-config-google"; | ||
1170 | packageName = "eslint-config-google"; | ||
1171 | version = "0.14.0"; | ||
1172 | src = fetchurl { | ||
1173 | url = "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz"; | ||
1174 | sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw=="; | ||
1175 | }; | ||
1176 | }; | ||
1177 | "eslint-plugin-vue-6.2.2" = { | ||
1178 | name = "eslint-plugin-vue"; | ||
1179 | packageName = "eslint-plugin-vue"; | ||
1180 | version = "6.2.2"; | ||
1181 | src = fetchurl { | ||
1182 | url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz"; | ||
1183 | sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ=="; | ||
1184 | }; | ||
1185 | }; | ||
1186 | "eslint-scope-5.1.1" = { | ||
1187 | name = "eslint-scope"; | ||
1188 | packageName = "eslint-scope"; | ||
1189 | version = "5.1.1"; | ||
1190 | src = fetchurl { | ||
1191 | url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"; | ||
1192 | sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="; | ||
1193 | }; | ||
1194 | }; | ||
1195 | "eslint-utils-1.4.3" = { | ||
1196 | name = "eslint-utils"; | ||
1197 | packageName = "eslint-utils"; | ||
1198 | version = "1.4.3"; | ||
1199 | src = fetchurl { | ||
1200 | url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz"; | ||
1201 | sha512 = "fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q=="; | ||
1202 | }; | ||
1203 | }; | ||
1204 | "eslint-utils-2.1.0" = { | ||
1205 | name = "eslint-utils"; | ||
1206 | packageName = "eslint-utils"; | ||
1207 | version = "2.1.0"; | ||
1208 | src = fetchurl { | ||
1209 | url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"; | ||
1210 | sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="; | ||
1211 | }; | ||
1212 | }; | ||
1213 | "eslint-visitor-keys-1.3.0" = { | ||
1214 | name = "eslint-visitor-keys"; | ||
1215 | packageName = "eslint-visitor-keys"; | ||
1216 | version = "1.3.0"; | ||
1217 | src = fetchurl { | ||
1218 | url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"; | ||
1219 | sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="; | ||
1220 | }; | ||
1221 | }; | ||
1222 | "eslint-visitor-keys-2.0.0" = { | ||
1223 | name = "eslint-visitor-keys"; | ||
1224 | packageName = "eslint-visitor-keys"; | ||
1225 | version = "2.0.0"; | ||
1226 | src = fetchurl { | ||
1227 | url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz"; | ||
1228 | sha512 = "QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ=="; | ||
1229 | }; | ||
1230 | }; | ||
1231 | "espree-6.2.1" = { | ||
1232 | name = "espree"; | ||
1233 | packageName = "espree"; | ||
1234 | version = "6.2.1"; | ||
1235 | src = fetchurl { | ||
1236 | url = "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz"; | ||
1237 | sha512 = "ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw=="; | ||
1238 | }; | ||
1239 | }; | ||
1240 | "esprima-4.0.1" = { | ||
1241 | name = "esprima"; | ||
1242 | packageName = "esprima"; | ||
1243 | version = "4.0.1"; | ||
1244 | src = fetchurl { | ||
1245 | url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; | ||
1246 | sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; | ||
1247 | }; | ||
1248 | }; | ||
1249 | "esquery-1.4.0" = { | ||
1250 | name = "esquery"; | ||
1251 | packageName = "esquery"; | ||
1252 | version = "1.4.0"; | ||
1253 | src = fetchurl { | ||
1254 | url = "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz"; | ||
1255 | sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w=="; | ||
1256 | }; | ||
1257 | }; | ||
1258 | "esrecurse-4.3.0" = { | ||
1259 | name = "esrecurse"; | ||
1260 | packageName = "esrecurse"; | ||
1261 | version = "4.3.0"; | ||
1262 | src = fetchurl { | ||
1263 | url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"; | ||
1264 | sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="; | ||
1265 | }; | ||
1266 | }; | ||
1267 | "estraverse-4.3.0" = { | ||
1268 | name = "estraverse"; | ||
1269 | packageName = "estraverse"; | ||
1270 | version = "4.3.0"; | ||
1271 | src = fetchurl { | ||
1272 | url = "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"; | ||
1273 | sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="; | ||
1274 | }; | ||
1275 | }; | ||
1276 | "estraverse-5.2.0" = { | ||
1277 | name = "estraverse"; | ||
1278 | packageName = "estraverse"; | ||
1279 | version = "5.2.0"; | ||
1280 | src = fetchurl { | ||
1281 | url = "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"; | ||
1282 | sha512 = "BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="; | ||
1283 | }; | ||
1284 | }; | ||
1285 | "esutils-2.0.3" = { | ||
1286 | name = "esutils"; | ||
1287 | packageName = "esutils"; | ||
1288 | version = "2.0.3"; | ||
1289 | src = fetchurl { | ||
1290 | url = "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"; | ||
1291 | sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="; | ||
1292 | }; | ||
1293 | }; | ||
1294 | "events-3.3.0" = { | ||
1295 | name = "events"; | ||
1296 | packageName = "events"; | ||
1297 | version = "3.3.0"; | ||
1298 | src = fetchurl { | ||
1299 | url = "https://registry.npmjs.org/events/-/events-3.3.0.tgz"; | ||
1300 | sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="; | ||
1301 | }; | ||
1302 | }; | ||
1303 | "execa-5.0.0" = { | ||
1304 | name = "execa"; | ||
1305 | packageName = "execa"; | ||
1306 | version = "5.0.0"; | ||
1307 | src = fetchurl { | ||
1308 | url = "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz"; | ||
1309 | sha512 = "ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ=="; | ||
1310 | }; | ||
1311 | }; | ||
1312 | "extend-3.0.2" = { | ||
1313 | name = "extend"; | ||
1314 | packageName = "extend"; | ||
1315 | version = "3.0.2"; | ||
1316 | src = fetchurl { | ||
1317 | url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz"; | ||
1318 | sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="; | ||
1319 | }; | ||
1320 | }; | ||
1321 | "external-editor-3.1.0" = { | ||
1322 | name = "external-editor"; | ||
1323 | packageName = "external-editor"; | ||
1324 | version = "3.1.0"; | ||
1325 | src = fetchurl { | ||
1326 | url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"; | ||
1327 | sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew=="; | ||
1328 | }; | ||
1329 | }; | ||
1330 | "extsprintf-1.3.0" = { | ||
1331 | name = "extsprintf"; | ||
1332 | packageName = "extsprintf"; | ||
1333 | version = "1.3.0"; | ||
1334 | src = fetchurl { | ||
1335 | url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz"; | ||
1336 | sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; | ||
1337 | }; | ||
1338 | }; | ||
1339 | "fast-deep-equal-3.1.3" = { | ||
1340 | name = "fast-deep-equal"; | ||
1341 | packageName = "fast-deep-equal"; | ||
1342 | version = "3.1.3"; | ||
1343 | src = fetchurl { | ||
1344 | url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"; | ||
1345 | sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="; | ||
1346 | }; | ||
1347 | }; | ||
1348 | "fast-glob-3.2.5" = { | ||
1349 | name = "fast-glob"; | ||
1350 | packageName = "fast-glob"; | ||
1351 | version = "3.2.5"; | ||
1352 | src = fetchurl { | ||
1353 | url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz"; | ||
1354 | sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg=="; | ||
1355 | }; | ||
1356 | }; | ||
1357 | "fast-json-stable-stringify-2.1.0" = { | ||
1358 | name = "fast-json-stable-stringify"; | ||
1359 | packageName = "fast-json-stable-stringify"; | ||
1360 | version = "2.1.0"; | ||
1361 | src = fetchurl { | ||
1362 | url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; | ||
1363 | sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="; | ||
1364 | }; | ||
1365 | }; | ||
1366 | "fast-levenshtein-2.0.6" = { | ||
1367 | name = "fast-levenshtein"; | ||
1368 | packageName = "fast-levenshtein"; | ||
1369 | version = "2.0.6"; | ||
1370 | src = fetchurl { | ||
1371 | url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; | ||
1372 | sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; | ||
1373 | }; | ||
1374 | }; | ||
1375 | "fastest-levenshtein-1.0.12" = { | ||
1376 | name = "fastest-levenshtein"; | ||
1377 | packageName = "fastest-levenshtein"; | ||
1378 | version = "1.0.12"; | ||
1379 | src = fetchurl { | ||
1380 | url = "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz"; | ||
1381 | sha512 = "On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow=="; | ||
1382 | }; | ||
1383 | }; | ||
1384 | "fastq-1.11.0" = { | ||
1385 | name = "fastq"; | ||
1386 | packageName = "fastq"; | ||
1387 | version = "1.11.0"; | ||
1388 | src = fetchurl { | ||
1389 | url = "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz"; | ||
1390 | sha512 = "7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g=="; | ||
1391 | }; | ||
1392 | }; | ||
1393 | "figures-3.2.0" = { | ||
1394 | name = "figures"; | ||
1395 | packageName = "figures"; | ||
1396 | version = "3.2.0"; | ||
1397 | src = fetchurl { | ||
1398 | url = "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz"; | ||
1399 | sha512 = "yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg=="; | ||
1400 | }; | ||
1401 | }; | ||
1402 | "file-entry-cache-5.0.1" = { | ||
1403 | name = "file-entry-cache"; | ||
1404 | packageName = "file-entry-cache"; | ||
1405 | version = "5.0.1"; | ||
1406 | src = fetchurl { | ||
1407 | url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz"; | ||
1408 | sha512 = "bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g=="; | ||
1409 | }; | ||
1410 | }; | ||
1411 | "fill-range-7.0.1" = { | ||
1412 | name = "fill-range"; | ||
1413 | packageName = "fill-range"; | ||
1414 | version = "7.0.1"; | ||
1415 | src = fetchurl { | ||
1416 | url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"; | ||
1417 | sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="; | ||
1418 | }; | ||
1419 | }; | ||
1420 | "find-up-4.1.0" = { | ||
1421 | name = "find-up"; | ||
1422 | packageName = "find-up"; | ||
1423 | version = "4.1.0"; | ||
1424 | src = fetchurl { | ||
1425 | url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz"; | ||
1426 | sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw=="; | ||
1427 | }; | ||
1428 | }; | ||
1429 | "flat-cache-2.0.1" = { | ||
1430 | name = "flat-cache"; | ||
1431 | packageName = "flat-cache"; | ||
1432 | version = "2.0.1"; | ||
1433 | src = fetchurl { | ||
1434 | url = "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz"; | ||
1435 | sha512 = "LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA=="; | ||
1436 | }; | ||
1437 | }; | ||
1438 | "flatted-2.0.2" = { | ||
1439 | name = "flatted"; | ||
1440 | packageName = "flatted"; | ||
1441 | version = "2.0.2"; | ||
1442 | src = fetchurl { | ||
1443 | url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz"; | ||
1444 | sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="; | ||
1445 | }; | ||
1446 | }; | ||
1447 | "forever-agent-0.6.1" = { | ||
1448 | name = "forever-agent"; | ||
1449 | packageName = "forever-agent"; | ||
1450 | version = "0.6.1"; | ||
1451 | src = fetchurl { | ||
1452 | url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"; | ||
1453 | sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; | ||
1454 | }; | ||
1455 | }; | ||
1456 | "form-data-2.3.3" = { | ||
1457 | name = "form-data"; | ||
1458 | packageName = "form-data"; | ||
1459 | version = "2.3.3"; | ||
1460 | src = fetchurl { | ||
1461 | url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz"; | ||
1462 | sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ=="; | ||
1463 | }; | ||
1464 | }; | ||
1465 | "fs-minipass-1.2.7" = { | ||
1466 | name = "fs-minipass"; | ||
1467 | packageName = "fs-minipass"; | ||
1468 | version = "1.2.7"; | ||
1469 | src = fetchurl { | ||
1470 | url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz"; | ||
1471 | sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA=="; | ||
1472 | }; | ||
1473 | }; | ||
1474 | "fs.realpath-1.0.0" = { | ||
1475 | name = "fs.realpath"; | ||
1476 | packageName = "fs.realpath"; | ||
1477 | version = "1.0.0"; | ||
1478 | src = fetchurl { | ||
1479 | url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"; | ||
1480 | sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; | ||
1481 | }; | ||
1482 | }; | ||
1483 | "fstream-1.0.12" = { | ||
1484 | name = "fstream"; | ||
1485 | packageName = "fstream"; | ||
1486 | version = "1.0.12"; | ||
1487 | src = fetchurl { | ||
1488 | url = "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz"; | ||
1489 | sha512 = "WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg=="; | ||
1490 | }; | ||
1491 | }; | ||
1492 | "function-bind-1.1.1" = { | ||
1493 | name = "function-bind"; | ||
1494 | packageName = "function-bind"; | ||
1495 | version = "1.1.1"; | ||
1496 | src = fetchurl { | ||
1497 | url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"; | ||
1498 | sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="; | ||
1499 | }; | ||
1500 | }; | ||
1501 | "functional-red-black-tree-1.0.1" = { | ||
1502 | name = "functional-red-black-tree"; | ||
1503 | packageName = "functional-red-black-tree"; | ||
1504 | version = "1.0.1"; | ||
1505 | src = fetchurl { | ||
1506 | url = "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; | ||
1507 | sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"; | ||
1508 | }; | ||
1509 | }; | ||
1510 | "gauge-2.7.4" = { | ||
1511 | name = "gauge"; | ||
1512 | packageName = "gauge"; | ||
1513 | version = "2.7.4"; | ||
1514 | src = fetchurl { | ||
1515 | url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz"; | ||
1516 | sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7"; | ||
1517 | }; | ||
1518 | }; | ||
1519 | "get-stream-6.0.1" = { | ||
1520 | name = "get-stream"; | ||
1521 | packageName = "get-stream"; | ||
1522 | version = "6.0.1"; | ||
1523 | src = fetchurl { | ||
1524 | url = "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"; | ||
1525 | sha512 = "ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg=="; | ||
1526 | }; | ||
1527 | }; | ||
1528 | "getpass-0.1.7" = { | ||
1529 | name = "getpass"; | ||
1530 | packageName = "getpass"; | ||
1531 | version = "0.1.7"; | ||
1532 | src = fetchurl { | ||
1533 | url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz"; | ||
1534 | sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; | ||
1535 | }; | ||
1536 | }; | ||
1537 | "glob-7.1.6" = { | ||
1538 | name = "glob"; | ||
1539 | packageName = "glob"; | ||
1540 | version = "7.1.6"; | ||
1541 | src = fetchurl { | ||
1542 | url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"; | ||
1543 | sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="; | ||
1544 | }; | ||
1545 | }; | ||
1546 | "glob-parent-5.1.2" = { | ||
1547 | name = "glob-parent"; | ||
1548 | packageName = "glob-parent"; | ||
1549 | version = "5.1.2"; | ||
1550 | src = fetchurl { | ||
1551 | url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"; | ||
1552 | sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="; | ||
1553 | }; | ||
1554 | }; | ||
1555 | "glob-to-regexp-0.4.1" = { | ||
1556 | name = "glob-to-regexp"; | ||
1557 | packageName = "glob-to-regexp"; | ||
1558 | version = "0.4.1"; | ||
1559 | src = fetchurl { | ||
1560 | url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"; | ||
1561 | sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="; | ||
1562 | }; | ||
1563 | }; | ||
1564 | "globals-12.4.0" = { | ||
1565 | name = "globals"; | ||
1566 | packageName = "globals"; | ||
1567 | version = "12.4.0"; | ||
1568 | src = fetchurl { | ||
1569 | url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz"; | ||
1570 | sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg=="; | ||
1571 | }; | ||
1572 | }; | ||
1573 | "globby-11.0.3" = { | ||
1574 | name = "globby"; | ||
1575 | packageName = "globby"; | ||
1576 | version = "11.0.3"; | ||
1577 | src = fetchurl { | ||
1578 | url = "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz"; | ||
1579 | sha512 = "ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg=="; | ||
1580 | }; | ||
1581 | }; | ||
1582 | "graceful-fs-4.2.6" = { | ||
1583 | name = "graceful-fs"; | ||
1584 | packageName = "graceful-fs"; | ||
1585 | version = "4.2.6"; | ||
1586 | src = fetchurl { | ||
1587 | url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz"; | ||
1588 | sha512 = "nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ=="; | ||
1589 | }; | ||
1590 | }; | ||
1591 | "har-schema-2.0.0" = { | ||
1592 | name = "har-schema"; | ||
1593 | packageName = "har-schema"; | ||
1594 | version = "2.0.0"; | ||
1595 | src = fetchurl { | ||
1596 | url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz"; | ||
1597 | sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; | ||
1598 | }; | ||
1599 | }; | ||
1600 | "har-validator-5.1.5" = { | ||
1601 | name = "har-validator"; | ||
1602 | packageName = "har-validator"; | ||
1603 | version = "5.1.5"; | ||
1604 | src = fetchurl { | ||
1605 | url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz"; | ||
1606 | sha512 = "nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w=="; | ||
1607 | }; | ||
1608 | }; | ||
1609 | "has-1.0.3" = { | ||
1610 | name = "has"; | ||
1611 | packageName = "has"; | ||
1612 | version = "1.0.3"; | ||
1613 | src = fetchurl { | ||
1614 | url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz"; | ||
1615 | sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="; | ||
1616 | }; | ||
1617 | }; | ||
1618 | "has-flag-3.0.0" = { | ||
1619 | name = "has-flag"; | ||
1620 | packageName = "has-flag"; | ||
1621 | version = "3.0.0"; | ||
1622 | src = fetchurl { | ||
1623 | url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"; | ||
1624 | sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; | ||
1625 | }; | ||
1626 | }; | ||
1627 | "has-flag-4.0.0" = { | ||
1628 | name = "has-flag"; | ||
1629 | packageName = "has-flag"; | ||
1630 | version = "4.0.0"; | ||
1631 | src = fetchurl { | ||
1632 | url = "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"; | ||
1633 | sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="; | ||
1634 | }; | ||
1635 | }; | ||
1636 | "has-unicode-2.0.1" = { | ||
1637 | name = "has-unicode"; | ||
1638 | packageName = "has-unicode"; | ||
1639 | version = "2.0.1"; | ||
1640 | src = fetchurl { | ||
1641 | url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"; | ||
1642 | sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9"; | ||
1643 | }; | ||
1644 | }; | ||
1645 | "he-1.2.0" = { | ||
1646 | name = "he"; | ||
1647 | packageName = "he"; | ||
1648 | version = "1.2.0"; | ||
1649 | src = fetchurl { | ||
1650 | url = "https://registry.npmjs.org/he/-/he-1.2.0.tgz"; | ||
1651 | sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="; | ||
1652 | }; | ||
1653 | }; | ||
1654 | "http-signature-1.2.0" = { | ||
1655 | name = "http-signature"; | ||
1656 | packageName = "http-signature"; | ||
1657 | version = "1.2.0"; | ||
1658 | src = fetchurl { | ||
1659 | url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz"; | ||
1660 | sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; | ||
1661 | }; | ||
1662 | }; | ||
1663 | "human-signals-2.1.0" = { | ||
1664 | name = "human-signals"; | ||
1665 | packageName = "human-signals"; | ||
1666 | version = "2.1.0"; | ||
1667 | src = fetchurl { | ||
1668 | url = "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"; | ||
1669 | sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw=="; | ||
1670 | }; | ||
1671 | }; | ||
1672 | "iconv-lite-0.4.24" = { | ||
1673 | name = "iconv-lite"; | ||
1674 | packageName = "iconv-lite"; | ||
1675 | version = "0.4.24"; | ||
1676 | src = fetchurl { | ||
1677 | url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"; | ||
1678 | sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA=="; | ||
1679 | }; | ||
1680 | }; | ||
1681 | "ignore-4.0.6" = { | ||
1682 | name = "ignore"; | ||
1683 | packageName = "ignore"; | ||
1684 | version = "4.0.6"; | ||
1685 | src = fetchurl { | ||
1686 | url = "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"; | ||
1687 | sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="; | ||
1688 | }; | ||
1689 | }; | ||
1690 | "ignore-5.1.8" = { | ||
1691 | name = "ignore"; | ||
1692 | packageName = "ignore"; | ||
1693 | version = "5.1.8"; | ||
1694 | src = fetchurl { | ||
1695 | url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz"; | ||
1696 | sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="; | ||
1697 | }; | ||
1698 | }; | ||
1699 | "ignore-walk-3.0.3" = { | ||
1700 | name = "ignore-walk"; | ||
1701 | packageName = "ignore-walk"; | ||
1702 | version = "3.0.3"; | ||
1703 | src = fetchurl { | ||
1704 | url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz"; | ||
1705 | sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw=="; | ||
1706 | }; | ||
1707 | }; | ||
1708 | "image-size-0.5.5" = { | ||
1709 | name = "image-size"; | ||
1710 | packageName = "image-size"; | ||
1711 | version = "0.5.5"; | ||
1712 | src = fetchurl { | ||
1713 | url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz"; | ||
1714 | sha1 = "09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"; | ||
1715 | }; | ||
1716 | }; | ||
1717 | "import-fresh-3.3.0" = { | ||
1718 | name = "import-fresh"; | ||
1719 | packageName = "import-fresh"; | ||
1720 | version = "3.3.0"; | ||
1721 | src = fetchurl { | ||
1722 | url = "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"; | ||
1723 | sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="; | ||
1724 | }; | ||
1725 | }; | ||
1726 | "import-local-3.0.2" = { | ||
1727 | name = "import-local"; | ||
1728 | packageName = "import-local"; | ||
1729 | version = "3.0.2"; | ||
1730 | src = fetchurl { | ||
1731 | url = "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz"; | ||
1732 | sha512 = "vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA=="; | ||
1733 | }; | ||
1734 | }; | ||
1735 | "imurmurhash-0.1.4" = { | ||
1736 | name = "imurmurhash"; | ||
1737 | packageName = "imurmurhash"; | ||
1738 | version = "0.1.4"; | ||
1739 | src = fetchurl { | ||
1740 | url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"; | ||
1741 | sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; | ||
1742 | }; | ||
1743 | }; | ||
1744 | "inflight-1.0.6" = { | ||
1745 | name = "inflight"; | ||
1746 | packageName = "inflight"; | ||
1747 | version = "1.0.6"; | ||
1748 | src = fetchurl { | ||
1749 | url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"; | ||
1750 | sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; | ||
1751 | }; | ||
1752 | }; | ||
1753 | "inherits-2.0.4" = { | ||
1754 | name = "inherits"; | ||
1755 | packageName = "inherits"; | ||
1756 | version = "2.0.4"; | ||
1757 | src = fetchurl { | ||
1758 | url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"; | ||
1759 | sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="; | ||
1760 | }; | ||
1761 | }; | ||
1762 | "ini-1.3.8" = { | ||
1763 | name = "ini"; | ||
1764 | packageName = "ini"; | ||
1765 | version = "1.3.8"; | ||
1766 | src = fetchurl { | ||
1767 | url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"; | ||
1768 | sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="; | ||
1769 | }; | ||
1770 | }; | ||
1771 | "inquirer-7.3.3" = { | ||
1772 | name = "inquirer"; | ||
1773 | packageName = "inquirer"; | ||
1774 | version = "7.3.3"; | ||
1775 | src = fetchurl { | ||
1776 | url = "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz"; | ||
1777 | sha512 = "JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA=="; | ||
1778 | }; | ||
1779 | }; | ||
1780 | "interpret-2.2.0" = { | ||
1781 | name = "interpret"; | ||
1782 | packageName = "interpret"; | ||
1783 | version = "2.2.0"; | ||
1784 | src = fetchurl { | ||
1785 | url = "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz"; | ||
1786 | sha512 = "Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="; | ||
1787 | }; | ||
1788 | }; | ||
1789 | "is-core-module-2.2.0" = { | ||
1790 | name = "is-core-module"; | ||
1791 | packageName = "is-core-module"; | ||
1792 | version = "2.2.0"; | ||
1793 | src = fetchurl { | ||
1794 | url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz"; | ||
1795 | sha512 = "XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ=="; | ||
1796 | }; | ||
1797 | }; | ||
1798 | "is-extglob-2.1.1" = { | ||
1799 | name = "is-extglob"; | ||
1800 | packageName = "is-extglob"; | ||
1801 | version = "2.1.1"; | ||
1802 | src = fetchurl { | ||
1803 | url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"; | ||
1804 | sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; | ||
1805 | }; | ||
1806 | }; | ||
1807 | "is-fullwidth-code-point-1.0.0" = { | ||
1808 | name = "is-fullwidth-code-point"; | ||
1809 | packageName = "is-fullwidth-code-point"; | ||
1810 | version = "1.0.0"; | ||
1811 | src = fetchurl { | ||
1812 | url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"; | ||
1813 | sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb"; | ||
1814 | }; | ||
1815 | }; | ||
1816 | "is-fullwidth-code-point-2.0.0" = { | ||
1817 | name = "is-fullwidth-code-point"; | ||
1818 | packageName = "is-fullwidth-code-point"; | ||
1819 | version = "2.0.0"; | ||
1820 | src = fetchurl { | ||
1821 | url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; | ||
1822 | sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; | ||
1823 | }; | ||
1824 | }; | ||
1825 | "is-fullwidth-code-point-3.0.0" = { | ||
1826 | name = "is-fullwidth-code-point"; | ||
1827 | packageName = "is-fullwidth-code-point"; | ||
1828 | version = "3.0.0"; | ||
1829 | src = fetchurl { | ||
1830 | url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"; | ||
1831 | sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="; | ||
1832 | }; | ||
1833 | }; | ||
1834 | "is-glob-4.0.1" = { | ||
1835 | name = "is-glob"; | ||
1836 | packageName = "is-glob"; | ||
1837 | version = "4.0.1"; | ||
1838 | src = fetchurl { | ||
1839 | url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"; | ||
1840 | sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="; | ||
1841 | }; | ||
1842 | }; | ||
1843 | "is-number-7.0.0" = { | ||
1844 | name = "is-number"; | ||
1845 | packageName = "is-number"; | ||
1846 | version = "7.0.0"; | ||
1847 | src = fetchurl { | ||
1848 | url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"; | ||
1849 | sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="; | ||
1850 | }; | ||
1851 | }; | ||
1852 | "is-plain-object-2.0.4" = { | ||
1853 | name = "is-plain-object"; | ||
1854 | packageName = "is-plain-object"; | ||
1855 | version = "2.0.4"; | ||
1856 | src = fetchurl { | ||
1857 | url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz"; | ||
1858 | sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og=="; | ||
1859 | }; | ||
1860 | }; | ||
1861 | "is-stream-2.0.0" = { | ||
1862 | name = "is-stream"; | ||
1863 | packageName = "is-stream"; | ||
1864 | version = "2.0.0"; | ||
1865 | src = fetchurl { | ||
1866 | url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz"; | ||
1867 | sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="; | ||
1868 | }; | ||
1869 | }; | ||
1870 | "is-typedarray-1.0.0" = { | ||
1871 | name = "is-typedarray"; | ||
1872 | packageName = "is-typedarray"; | ||
1873 | version = "1.0.0"; | ||
1874 | src = fetchurl { | ||
1875 | url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"; | ||
1876 | sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; | ||
1877 | }; | ||
1878 | }; | ||
1879 | "is-what-3.14.1" = { | ||
1880 | name = "is-what"; | ||
1881 | packageName = "is-what"; | ||
1882 | version = "3.14.1"; | ||
1883 | src = fetchurl { | ||
1884 | url = "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz"; | ||
1885 | sha512 = "sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA=="; | ||
1886 | }; | ||
1887 | }; | ||
1888 | "isarray-1.0.0" = { | ||
1889 | name = "isarray"; | ||
1890 | packageName = "isarray"; | ||
1891 | version = "1.0.0"; | ||
1892 | src = fetchurl { | ||
1893 | url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"; | ||
1894 | sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; | ||
1895 | }; | ||
1896 | }; | ||
1897 | "isexe-2.0.0" = { | ||
1898 | name = "isexe"; | ||
1899 | packageName = "isexe"; | ||
1900 | version = "2.0.0"; | ||
1901 | src = fetchurl { | ||
1902 | url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"; | ||
1903 | sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; | ||
1904 | }; | ||
1905 | }; | ||
1906 | "isobject-3.0.1" = { | ||
1907 | name = "isobject"; | ||
1908 | packageName = "isobject"; | ||
1909 | version = "3.0.1"; | ||
1910 | src = fetchurl { | ||
1911 | url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"; | ||
1912 | sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; | ||
1913 | }; | ||
1914 | }; | ||
1915 | "isstream-0.1.2" = { | ||
1916 | name = "isstream"; | ||
1917 | packageName = "isstream"; | ||
1918 | version = "0.1.2"; | ||
1919 | src = fetchurl { | ||
1920 | url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"; | ||
1921 | sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; | ||
1922 | }; | ||
1923 | }; | ||
1924 | "jest-worker-26.6.2" = { | ||
1925 | name = "jest-worker"; | ||
1926 | packageName = "jest-worker"; | ||
1927 | version = "26.6.2"; | ||
1928 | src = fetchurl { | ||
1929 | url = "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz"; | ||
1930 | sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ=="; | ||
1931 | }; | ||
1932 | }; | ||
1933 | "js-beautify-1.13.13" = { | ||
1934 | name = "js-beautify"; | ||
1935 | packageName = "js-beautify"; | ||
1936 | version = "1.13.13"; | ||
1937 | src = fetchurl { | ||
1938 | url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.13.tgz"; | ||
1939 | sha512 = "oH+nc0U5mOAqX8M5JO1J0Pw/7Q35sAdOsM5W3i87pir9Ntx6P/5Gx1xLNoK+MGyvHk4rqqRCE4Oq58H6xl2W7A=="; | ||
1940 | }; | ||
1941 | }; | ||
1942 | "js-tokens-4.0.0" = { | ||
1943 | name = "js-tokens"; | ||
1944 | packageName = "js-tokens"; | ||
1945 | version = "4.0.0"; | ||
1946 | src = fetchurl { | ||
1947 | url = "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"; | ||
1948 | sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="; | ||
1949 | }; | ||
1950 | }; | ||
1951 | "js-yaml-3.14.1" = { | ||
1952 | name = "js-yaml"; | ||
1953 | packageName = "js-yaml"; | ||
1954 | version = "3.14.1"; | ||
1955 | src = fetchurl { | ||
1956 | url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"; | ||
1957 | sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="; | ||
1958 | }; | ||
1959 | }; | ||
1960 | "jsbn-0.1.1" = { | ||
1961 | name = "jsbn"; | ||
1962 | packageName = "jsbn"; | ||
1963 | version = "0.1.1"; | ||
1964 | src = fetchurl { | ||
1965 | url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz"; | ||
1966 | sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; | ||
1967 | }; | ||
1968 | }; | ||
1969 | "json-parse-better-errors-1.0.2" = { | ||
1970 | name = "json-parse-better-errors"; | ||
1971 | packageName = "json-parse-better-errors"; | ||
1972 | version = "1.0.2"; | ||
1973 | src = fetchurl { | ||
1974 | url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; | ||
1975 | sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="; | ||
1976 | }; | ||
1977 | }; | ||
1978 | "json-schema-0.2.3" = { | ||
1979 | name = "json-schema"; | ||
1980 | packageName = "json-schema"; | ||
1981 | version = "0.2.3"; | ||
1982 | src = fetchurl { | ||
1983 | url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz"; | ||
1984 | sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; | ||
1985 | }; | ||
1986 | }; | ||
1987 | "json-schema-traverse-0.4.1" = { | ||
1988 | name = "json-schema-traverse"; | ||
1989 | packageName = "json-schema-traverse"; | ||
1990 | version = "0.4.1"; | ||
1991 | src = fetchurl { | ||
1992 | url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; | ||
1993 | sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="; | ||
1994 | }; | ||
1995 | }; | ||
1996 | "json-stable-stringify-without-jsonify-1.0.1" = { | ||
1997 | name = "json-stable-stringify-without-jsonify"; | ||
1998 | packageName = "json-stable-stringify-without-jsonify"; | ||
1999 | version = "1.0.1"; | ||
2000 | src = fetchurl { | ||
2001 | url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; | ||
2002 | sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651"; | ||
2003 | }; | ||
2004 | }; | ||
2005 | "json-stringify-safe-5.0.1" = { | ||
2006 | name = "json-stringify-safe"; | ||
2007 | packageName = "json-stringify-safe"; | ||
2008 | version = "5.0.1"; | ||
2009 | src = fetchurl { | ||
2010 | url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; | ||
2011 | sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; | ||
2012 | }; | ||
2013 | }; | ||
2014 | "jsprim-1.4.1" = { | ||
2015 | name = "jsprim"; | ||
2016 | packageName = "jsprim"; | ||
2017 | version = "1.4.1"; | ||
2018 | src = fetchurl { | ||
2019 | url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz"; | ||
2020 | sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; | ||
2021 | }; | ||
2022 | }; | ||
2023 | "kind-of-6.0.3" = { | ||
2024 | name = "kind-of"; | ||
2025 | packageName = "kind-of"; | ||
2026 | version = "6.0.3"; | ||
2027 | src = fetchurl { | ||
2028 | url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"; | ||
2029 | sha512 = "dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="; | ||
2030 | }; | ||
2031 | }; | ||
2032 | "less-3.13.1" = { | ||
2033 | name = "less"; | ||
2034 | packageName = "less"; | ||
2035 | version = "3.13.1"; | ||
2036 | src = fetchurl { | ||
2037 | url = "https://registry.npmjs.org/less/-/less-3.13.1.tgz"; | ||
2038 | sha512 = "SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw=="; | ||
2039 | }; | ||
2040 | }; | ||
2041 | "levn-0.3.0" = { | ||
2042 | name = "levn"; | ||
2043 | packageName = "levn"; | ||
2044 | version = "0.3.0"; | ||
2045 | src = fetchurl { | ||
2046 | url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"; | ||
2047 | sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee"; | ||
2048 | }; | ||
2049 | }; | ||
2050 | "loader-runner-4.2.0" = { | ||
2051 | name = "loader-runner"; | ||
2052 | packageName = "loader-runner"; | ||
2053 | version = "4.2.0"; | ||
2054 | src = fetchurl { | ||
2055 | url = "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz"; | ||
2056 | sha512 = "92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw=="; | ||
2057 | }; | ||
2058 | }; | ||
2059 | "locate-path-5.0.0" = { | ||
2060 | name = "locate-path"; | ||
2061 | packageName = "locate-path"; | ||
2062 | version = "5.0.0"; | ||
2063 | src = fetchurl { | ||
2064 | url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz"; | ||
2065 | sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g=="; | ||
2066 | }; | ||
2067 | }; | ||
2068 | "lodash-4.17.21" = { | ||
2069 | name = "lodash"; | ||
2070 | packageName = "lodash"; | ||
2071 | version = "4.17.21"; | ||
2072 | src = fetchurl { | ||
2073 | url = "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"; | ||
2074 | sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="; | ||
2075 | }; | ||
2076 | }; | ||
2077 | "lru-cache-4.1.5" = { | ||
2078 | name = "lru-cache"; | ||
2079 | packageName = "lru-cache"; | ||
2080 | version = "4.1.5"; | ||
2081 | src = fetchurl { | ||
2082 | url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz"; | ||
2083 | sha512 = "sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g=="; | ||
2084 | }; | ||
2085 | }; | ||
2086 | "lru-cache-6.0.0" = { | ||
2087 | name = "lru-cache"; | ||
2088 | packageName = "lru-cache"; | ||
2089 | version = "6.0.0"; | ||
2090 | src = fetchurl { | ||
2091 | url = "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"; | ||
2092 | sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="; | ||
2093 | }; | ||
2094 | }; | ||
2095 | "make-dir-2.1.0" = { | ||
2096 | name = "make-dir"; | ||
2097 | packageName = "make-dir"; | ||
2098 | version = "2.1.0"; | ||
2099 | src = fetchurl { | ||
2100 | url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz"; | ||
2101 | sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA=="; | ||
2102 | }; | ||
2103 | }; | ||
2104 | "merge-stream-2.0.0" = { | ||
2105 | name = "merge-stream"; | ||
2106 | packageName = "merge-stream"; | ||
2107 | version = "2.0.0"; | ||
2108 | src = fetchurl { | ||
2109 | url = "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"; | ||
2110 | sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="; | ||
2111 | }; | ||
2112 | }; | ||
2113 | "merge2-1.4.1" = { | ||
2114 | name = "merge2"; | ||
2115 | packageName = "merge2"; | ||
2116 | version = "1.4.1"; | ||
2117 | src = fetchurl { | ||
2118 | url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"; | ||
2119 | sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="; | ||
2120 | }; | ||
2121 | }; | ||
2122 | "micromatch-4.0.4" = { | ||
2123 | name = "micromatch"; | ||
2124 | packageName = "micromatch"; | ||
2125 | version = "4.0.4"; | ||
2126 | src = fetchurl { | ||
2127 | url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz"; | ||
2128 | sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg=="; | ||
2129 | }; | ||
2130 | }; | ||
2131 | "mime-1.6.0" = { | ||
2132 | name = "mime"; | ||
2133 | packageName = "mime"; | ||
2134 | version = "1.6.0"; | ||
2135 | src = fetchurl { | ||
2136 | url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"; | ||
2137 | sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="; | ||
2138 | }; | ||
2139 | }; | ||
2140 | "mime-db-1.47.0" = { | ||
2141 | name = "mime-db"; | ||
2142 | packageName = "mime-db"; | ||
2143 | version = "1.47.0"; | ||
2144 | src = fetchurl { | ||
2145 | url = "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz"; | ||
2146 | sha512 = "QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw=="; | ||
2147 | }; | ||
2148 | }; | ||
2149 | "mime-types-2.1.30" = { | ||
2150 | name = "mime-types"; | ||
2151 | packageName = "mime-types"; | ||
2152 | version = "2.1.30"; | ||
2153 | src = fetchurl { | ||
2154 | url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz"; | ||
2155 | sha512 = "crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg=="; | ||
2156 | }; | ||
2157 | }; | ||
2158 | "mimic-fn-2.1.0" = { | ||
2159 | name = "mimic-fn"; | ||
2160 | packageName = "mimic-fn"; | ||
2161 | version = "2.1.0"; | ||
2162 | src = fetchurl { | ||
2163 | url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"; | ||
2164 | sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="; | ||
2165 | }; | ||
2166 | }; | ||
2167 | "minimatch-3.0.4" = { | ||
2168 | name = "minimatch"; | ||
2169 | packageName = "minimatch"; | ||
2170 | version = "3.0.4"; | ||
2171 | src = fetchurl { | ||
2172 | url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"; | ||
2173 | sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="; | ||
2174 | }; | ||
2175 | }; | ||
2176 | "minimist-1.2.5" = { | ||
2177 | name = "minimist"; | ||
2178 | packageName = "minimist"; | ||
2179 | version = "1.2.5"; | ||
2180 | src = fetchurl { | ||
2181 | url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"; | ||
2182 | sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="; | ||
2183 | }; | ||
2184 | }; | ||
2185 | "minipass-2.9.0" = { | ||
2186 | name = "minipass"; | ||
2187 | packageName = "minipass"; | ||
2188 | version = "2.9.0"; | ||
2189 | src = fetchurl { | ||
2190 | url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz"; | ||
2191 | sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg=="; | ||
2192 | }; | ||
2193 | }; | ||
2194 | "minizlib-1.3.3" = { | ||
2195 | name = "minizlib"; | ||
2196 | packageName = "minizlib"; | ||
2197 | version = "1.3.3"; | ||
2198 | src = fetchurl { | ||
2199 | url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz"; | ||
2200 | sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q=="; | ||
2201 | }; | ||
2202 | }; | ||
2203 | "mkdirp-0.5.5" = { | ||
2204 | name = "mkdirp"; | ||
2205 | packageName = "mkdirp"; | ||
2206 | version = "0.5.5"; | ||
2207 | src = fetchurl { | ||
2208 | url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz"; | ||
2209 | sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ=="; | ||
2210 | }; | ||
2211 | }; | ||
2212 | "mkdirp-1.0.4" = { | ||
2213 | name = "mkdirp"; | ||
2214 | packageName = "mkdirp"; | ||
2215 | version = "1.0.4"; | ||
2216 | src = fetchurl { | ||
2217 | url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"; | ||
2218 | sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="; | ||
2219 | }; | ||
2220 | }; | ||
2221 | "mnemonist-0.38.3" = { | ||
2222 | name = "mnemonist"; | ||
2223 | packageName = "mnemonist"; | ||
2224 | version = "0.38.3"; | ||
2225 | src = fetchurl { | ||
2226 | url = "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz"; | ||
2227 | sha512 = "2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw=="; | ||
2228 | }; | ||
2229 | }; | ||
2230 | "ms-2.1.2" = { | ||
2231 | name = "ms"; | ||
2232 | packageName = "ms"; | ||
2233 | version = "2.1.2"; | ||
2234 | src = fetchurl { | ||
2235 | url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"; | ||
2236 | sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="; | ||
2237 | }; | ||
2238 | }; | ||
2239 | "mute-stream-0.0.8" = { | ||
2240 | name = "mute-stream"; | ||
2241 | packageName = "mute-stream"; | ||
2242 | version = "0.0.8"; | ||
2243 | src = fetchurl { | ||
2244 | url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"; | ||
2245 | sha512 = "nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="; | ||
2246 | }; | ||
2247 | }; | ||
2248 | "native-request-1.0.8" = { | ||
2249 | name = "native-request"; | ||
2250 | packageName = "native-request"; | ||
2251 | version = "1.0.8"; | ||
2252 | src = fetchurl { | ||
2253 | url = "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz"; | ||
2254 | sha512 = "vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag=="; | ||
2255 | }; | ||
2256 | }; | ||
2257 | "natural-compare-1.4.0" = { | ||
2258 | name = "natural-compare"; | ||
2259 | packageName = "natural-compare"; | ||
2260 | version = "1.4.0"; | ||
2261 | src = fetchurl { | ||
2262 | url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"; | ||
2263 | sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; | ||
2264 | }; | ||
2265 | }; | ||
2266 | "needle-2.6.0" = { | ||
2267 | name = "needle"; | ||
2268 | packageName = "needle"; | ||
2269 | version = "2.6.0"; | ||
2270 | src = fetchurl { | ||
2271 | url = "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz"; | ||
2272 | sha512 = "KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg=="; | ||
2273 | }; | ||
2274 | }; | ||
2275 | "neo-async-2.6.2" = { | ||
2276 | name = "neo-async"; | ||
2277 | packageName = "neo-async"; | ||
2278 | version = "2.6.2"; | ||
2279 | src = fetchurl { | ||
2280 | url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz"; | ||
2281 | sha512 = "Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="; | ||
2282 | }; | ||
2283 | }; | ||
2284 | "nice-try-1.0.5" = { | ||
2285 | name = "nice-try"; | ||
2286 | packageName = "nice-try"; | ||
2287 | version = "1.0.5"; | ||
2288 | src = fetchurl { | ||
2289 | url = "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz"; | ||
2290 | sha512 = "1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="; | ||
2291 | }; | ||
2292 | }; | ||
2293 | "node-addon-api-3.1.0" = { | ||
2294 | name = "node-addon-api"; | ||
2295 | packageName = "node-addon-api"; | ||
2296 | version = "3.1.0"; | ||
2297 | src = fetchurl { | ||
2298 | url = "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz"; | ||
2299 | sha512 = "flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw=="; | ||
2300 | }; | ||
2301 | }; | ||
2302 | "node-gyp-3.8.0" = { | ||
2303 | name = "node-gyp"; | ||
2304 | packageName = "node-gyp"; | ||
2305 | version = "3.8.0"; | ||
2306 | src = fetchurl { | ||
2307 | url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz"; | ||
2308 | sha512 = "3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA=="; | ||
2309 | }; | ||
2310 | }; | ||
2311 | "node-pre-gyp-0.11.0" = { | ||
2312 | name = "node-pre-gyp"; | ||
2313 | packageName = "node-pre-gyp"; | ||
2314 | version = "0.11.0"; | ||
2315 | src = fetchurl { | ||
2316 | url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz"; | ||
2317 | sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q=="; | ||
2318 | }; | ||
2319 | }; | ||
2320 | "node-releases-1.1.71" = { | ||
2321 | name = "node-releases"; | ||
2322 | packageName = "node-releases"; | ||
2323 | version = "1.1.71"; | ||
2324 | src = fetchurl { | ||
2325 | url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz"; | ||
2326 | sha512 = "zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg=="; | ||
2327 | }; | ||
2328 | }; | ||
2329 | "nopt-3.0.6" = { | ||
2330 | name = "nopt"; | ||
2331 | packageName = "nopt"; | ||
2332 | version = "3.0.6"; | ||
2333 | src = fetchurl { | ||
2334 | url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz"; | ||
2335 | sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9"; | ||
2336 | }; | ||
2337 | }; | ||
2338 | "nopt-4.0.3" = { | ||
2339 | name = "nopt"; | ||
2340 | packageName = "nopt"; | ||
2341 | version = "4.0.3"; | ||
2342 | src = fetchurl { | ||
2343 | url = "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz"; | ||
2344 | sha512 = "CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg=="; | ||
2345 | }; | ||
2346 | }; | ||
2347 | "nopt-5.0.0" = { | ||
2348 | name = "nopt"; | ||
2349 | packageName = "nopt"; | ||
2350 | version = "5.0.0"; | ||
2351 | src = fetchurl { | ||
2352 | url = "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz"; | ||
2353 | sha512 = "Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ=="; | ||
2354 | }; | ||
2355 | }; | ||
2356 | "npm-bundled-1.1.1" = { | ||
2357 | name = "npm-bundled"; | ||
2358 | packageName = "npm-bundled"; | ||
2359 | version = "1.1.1"; | ||
2360 | src = fetchurl { | ||
2361 | url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz"; | ||
2362 | sha512 = "gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA=="; | ||
2363 | }; | ||
2364 | }; | ||
2365 | "npm-normalize-package-bin-1.0.1" = { | ||
2366 | name = "npm-normalize-package-bin"; | ||
2367 | packageName = "npm-normalize-package-bin"; | ||
2368 | version = "1.0.1"; | ||
2369 | src = fetchurl { | ||
2370 | url = "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz"; | ||
2371 | sha512 = "EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="; | ||
2372 | }; | ||
2373 | }; | ||
2374 | "npm-packlist-1.4.8" = { | ||
2375 | name = "npm-packlist"; | ||
2376 | packageName = "npm-packlist"; | ||
2377 | version = "1.4.8"; | ||
2378 | src = fetchurl { | ||
2379 | url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz"; | ||
2380 | sha512 = "5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A=="; | ||
2381 | }; | ||
2382 | }; | ||
2383 | "npm-run-path-4.0.1" = { | ||
2384 | name = "npm-run-path"; | ||
2385 | packageName = "npm-run-path"; | ||
2386 | version = "4.0.1"; | ||
2387 | src = fetchurl { | ||
2388 | url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"; | ||
2389 | sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw=="; | ||
2390 | }; | ||
2391 | }; | ||
2392 | "npmlog-4.1.2" = { | ||
2393 | name = "npmlog"; | ||
2394 | packageName = "npmlog"; | ||
2395 | version = "4.1.2"; | ||
2396 | src = fetchurl { | ||
2397 | url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz"; | ||
2398 | sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg=="; | ||
2399 | }; | ||
2400 | }; | ||
2401 | "number-is-nan-1.0.1" = { | ||
2402 | name = "number-is-nan"; | ||
2403 | packageName = "number-is-nan"; | ||
2404 | version = "1.0.1"; | ||
2405 | src = fetchurl { | ||
2406 | url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz"; | ||
2407 | sha1 = "097b602b53422a522c1afb8790318336941a011d"; | ||
2408 | }; | ||
2409 | }; | ||
2410 | "oauth-sign-0.9.0" = { | ||
2411 | name = "oauth-sign"; | ||
2412 | packageName = "oauth-sign"; | ||
2413 | version = "0.9.0"; | ||
2414 | src = fetchurl { | ||
2415 | url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz"; | ||
2416 | sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="; | ||
2417 | }; | ||
2418 | }; | ||
2419 | "object-assign-4.1.1" = { | ||
2420 | name = "object-assign"; | ||
2421 | packageName = "object-assign"; | ||
2422 | version = "4.1.1"; | ||
2423 | src = fetchurl { | ||
2424 | url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"; | ||
2425 | sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; | ||
2426 | }; | ||
2427 | }; | ||
2428 | "obliterator-1.6.1" = { | ||
2429 | name = "obliterator"; | ||
2430 | packageName = "obliterator"; | ||
2431 | version = "1.6.1"; | ||
2432 | src = fetchurl { | ||
2433 | url = "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz"; | ||
2434 | sha512 = "9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig=="; | ||
2435 | }; | ||
2436 | }; | ||
2437 | "once-1.4.0" = { | ||
2438 | name = "once"; | ||
2439 | packageName = "once"; | ||
2440 | version = "1.4.0"; | ||
2441 | src = fetchurl { | ||
2442 | url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz"; | ||
2443 | sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; | ||
2444 | }; | ||
2445 | }; | ||
2446 | "onetime-5.1.2" = { | ||
2447 | name = "onetime"; | ||
2448 | packageName = "onetime"; | ||
2449 | version = "5.1.2"; | ||
2450 | src = fetchurl { | ||
2451 | url = "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"; | ||
2452 | sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg=="; | ||
2453 | }; | ||
2454 | }; | ||
2455 | "optionator-0.8.3" = { | ||
2456 | name = "optionator"; | ||
2457 | packageName = "optionator"; | ||
2458 | version = "0.8.3"; | ||
2459 | src = fetchurl { | ||
2460 | url = "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz"; | ||
2461 | sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="; | ||
2462 | }; | ||
2463 | }; | ||
2464 | "os-homedir-1.0.2" = { | ||
2465 | name = "os-homedir"; | ||
2466 | packageName = "os-homedir"; | ||
2467 | version = "1.0.2"; | ||
2468 | src = fetchurl { | ||
2469 | url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz"; | ||
2470 | sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3"; | ||
2471 | }; | ||
2472 | }; | ||
2473 | "os-tmpdir-1.0.2" = { | ||
2474 | name = "os-tmpdir"; | ||
2475 | packageName = "os-tmpdir"; | ||
2476 | version = "1.0.2"; | ||
2477 | src = fetchurl { | ||
2478 | url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; | ||
2479 | sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; | ||
2480 | }; | ||
2481 | }; | ||
2482 | "osenv-0.1.5" = { | ||
2483 | name = "osenv"; | ||
2484 | packageName = "osenv"; | ||
2485 | version = "0.1.5"; | ||
2486 | src = fetchurl { | ||
2487 | url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz"; | ||
2488 | sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g=="; | ||
2489 | }; | ||
2490 | }; | ||
2491 | "p-limit-2.3.0" = { | ||
2492 | name = "p-limit"; | ||
2493 | packageName = "p-limit"; | ||
2494 | version = "2.3.0"; | ||
2495 | src = fetchurl { | ||
2496 | url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz"; | ||
2497 | sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="; | ||
2498 | }; | ||
2499 | }; | ||
2500 | "p-limit-3.1.0" = { | ||
2501 | name = "p-limit"; | ||
2502 | packageName = "p-limit"; | ||
2503 | version = "3.1.0"; | ||
2504 | src = fetchurl { | ||
2505 | url = "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz"; | ||
2506 | sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="; | ||
2507 | }; | ||
2508 | }; | ||
2509 | "p-locate-4.1.0" = { | ||
2510 | name = "p-locate"; | ||
2511 | packageName = "p-locate"; | ||
2512 | version = "4.1.0"; | ||
2513 | src = fetchurl { | ||
2514 | url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz"; | ||
2515 | sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A=="; | ||
2516 | }; | ||
2517 | }; | ||
2518 | "p-try-2.2.0" = { | ||
2519 | name = "p-try"; | ||
2520 | packageName = "p-try"; | ||
2521 | version = "2.2.0"; | ||
2522 | src = fetchurl { | ||
2523 | url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz"; | ||
2524 | sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="; | ||
2525 | }; | ||
2526 | }; | ||
2527 | "packet-reader-1.0.0" = { | ||
2528 | name = "packet-reader"; | ||
2529 | packageName = "packet-reader"; | ||
2530 | version = "1.0.0"; | ||
2531 | src = fetchurl { | ||
2532 | url = "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz"; | ||
2533 | sha512 = "HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ=="; | ||
2534 | }; | ||
2535 | }; | ||
2536 | "parent-module-1.0.1" = { | ||
2537 | name = "parent-module"; | ||
2538 | packageName = "parent-module"; | ||
2539 | version = "1.0.1"; | ||
2540 | src = fetchurl { | ||
2541 | url = "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"; | ||
2542 | sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="; | ||
2543 | }; | ||
2544 | }; | ||
2545 | "path-exists-4.0.0" = { | ||
2546 | name = "path-exists"; | ||
2547 | packageName = "path-exists"; | ||
2548 | version = "4.0.0"; | ||
2549 | src = fetchurl { | ||
2550 | url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz"; | ||
2551 | sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="; | ||
2552 | }; | ||
2553 | }; | ||
2554 | "path-is-absolute-1.0.1" = { | ||
2555 | name = "path-is-absolute"; | ||
2556 | packageName = "path-is-absolute"; | ||
2557 | version = "1.0.1"; | ||
2558 | src = fetchurl { | ||
2559 | url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; | ||
2560 | sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; | ||
2561 | }; | ||
2562 | }; | ||
2563 | "path-key-2.0.1" = { | ||
2564 | name = "path-key"; | ||
2565 | packageName = "path-key"; | ||
2566 | version = "2.0.1"; | ||
2567 | src = fetchurl { | ||
2568 | url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz"; | ||
2569 | sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; | ||
2570 | }; | ||
2571 | }; | ||
2572 | "path-key-3.1.1" = { | ||
2573 | name = "path-key"; | ||
2574 | packageName = "path-key"; | ||
2575 | version = "3.1.1"; | ||
2576 | src = fetchurl { | ||
2577 | url = "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"; | ||
2578 | sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="; | ||
2579 | }; | ||
2580 | }; | ||
2581 | "path-parse-1.0.6" = { | ||
2582 | name = "path-parse"; | ||
2583 | packageName = "path-parse"; | ||
2584 | version = "1.0.6"; | ||
2585 | src = fetchurl { | ||
2586 | url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz"; | ||
2587 | sha512 = "GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="; | ||
2588 | }; | ||
2589 | }; | ||
2590 | "path-type-4.0.0" = { | ||
2591 | name = "path-type"; | ||
2592 | packageName = "path-type"; | ||
2593 | version = "4.0.0"; | ||
2594 | src = fetchurl { | ||
2595 | url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"; | ||
2596 | sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="; | ||
2597 | }; | ||
2598 | }; | ||
2599 | "performance-now-2.1.0" = { | ||
2600 | name = "performance-now"; | ||
2601 | packageName = "performance-now"; | ||
2602 | version = "2.1.0"; | ||
2603 | src = fetchurl { | ||
2604 | url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz"; | ||
2605 | sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; | ||
2606 | }; | ||
2607 | }; | ||
2608 | "pg-8.6.0" = { | ||
2609 | name = "pg"; | ||
2610 | packageName = "pg"; | ||
2611 | version = "8.6.0"; | ||
2612 | src = fetchurl { | ||
2613 | url = "https://registry.npmjs.org/pg/-/pg-8.6.0.tgz"; | ||
2614 | sha512 = "qNS9u61lqljTDFvmk/N66EeGq3n6Ujzj0FFyNMGQr6XuEv4tgNTXvJQTfJdcvGit5p5/DWPu+wj920hAJFI+QQ=="; | ||
2615 | }; | ||
2616 | }; | ||
2617 | "pg-connection-string-2.5.0" = { | ||
2618 | name = "pg-connection-string"; | ||
2619 | packageName = "pg-connection-string"; | ||
2620 | version = "2.5.0"; | ||
2621 | src = fetchurl { | ||
2622 | url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz"; | ||
2623 | sha512 = "r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ=="; | ||
2624 | }; | ||
2625 | }; | ||
2626 | "pg-int8-1.0.1" = { | ||
2627 | name = "pg-int8"; | ||
2628 | packageName = "pg-int8"; | ||
2629 | version = "1.0.1"; | ||
2630 | src = fetchurl { | ||
2631 | url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz"; | ||
2632 | sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="; | ||
2633 | }; | ||
2634 | }; | ||
2635 | "pg-pool-3.3.0" = { | ||
2636 | name = "pg-pool"; | ||
2637 | packageName = "pg-pool"; | ||
2638 | version = "3.3.0"; | ||
2639 | src = fetchurl { | ||
2640 | url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.3.0.tgz"; | ||
2641 | sha512 = "0O5huCql8/D6PIRFAlmccjphLYWC+JIzvUhSzXSpGaf+tjTZc4nn+Lr7mLXBbFJfvwbP0ywDv73EiaBsxn7zdg=="; | ||
2642 | }; | ||
2643 | }; | ||
2644 | "pg-protocol-1.5.0" = { | ||
2645 | name = "pg-protocol"; | ||
2646 | packageName = "pg-protocol"; | ||
2647 | version = "1.5.0"; | ||
2648 | src = fetchurl { | ||
2649 | url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz"; | ||
2650 | sha512 = "muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ=="; | ||
2651 | }; | ||
2652 | }; | ||
2653 | "pg-types-2.2.0" = { | ||
2654 | name = "pg-types"; | ||
2655 | packageName = "pg-types"; | ||
2656 | version = "2.2.0"; | ||
2657 | src = fetchurl { | ||
2658 | url = "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz"; | ||
2659 | sha512 = "qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA=="; | ||
2660 | }; | ||
2661 | }; | ||
2662 | "pgpass-1.0.4" = { | ||
2663 | name = "pgpass"; | ||
2664 | packageName = "pgpass"; | ||
2665 | version = "1.0.4"; | ||
2666 | src = fetchurl { | ||
2667 | url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz"; | ||
2668 | sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w=="; | ||
2669 | }; | ||
2670 | }; | ||
2671 | "picomatch-2.2.3" = { | ||
2672 | name = "picomatch"; | ||
2673 | packageName = "picomatch"; | ||
2674 | version = "2.2.3"; | ||
2675 | src = fetchurl { | ||
2676 | url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz"; | ||
2677 | sha512 = "KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg=="; | ||
2678 | }; | ||
2679 | }; | ||
2680 | "pify-4.0.1" = { | ||
2681 | name = "pify"; | ||
2682 | packageName = "pify"; | ||
2683 | version = "4.0.1"; | ||
2684 | src = fetchurl { | ||
2685 | url = "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz"; | ||
2686 | sha512 = "uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="; | ||
2687 | }; | ||
2688 | }; | ||
2689 | "pkg-dir-4.2.0" = { | ||
2690 | name = "pkg-dir"; | ||
2691 | packageName = "pkg-dir"; | ||
2692 | version = "4.2.0"; | ||
2693 | src = fetchurl { | ||
2694 | url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz"; | ||
2695 | sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ=="; | ||
2696 | }; | ||
2697 | }; | ||
2698 | "postgres-array-2.0.0" = { | ||
2699 | name = "postgres-array"; | ||
2700 | packageName = "postgres-array"; | ||
2701 | version = "2.0.0"; | ||
2702 | src = fetchurl { | ||
2703 | url = "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz"; | ||
2704 | sha512 = "VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="; | ||
2705 | }; | ||
2706 | }; | ||
2707 | "postgres-bytea-1.0.0" = { | ||
2708 | name = "postgres-bytea"; | ||
2709 | packageName = "postgres-bytea"; | ||
2710 | version = "1.0.0"; | ||
2711 | src = fetchurl { | ||
2712 | url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz"; | ||
2713 | sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35"; | ||
2714 | }; | ||
2715 | }; | ||
2716 | "postgres-date-1.0.7" = { | ||
2717 | name = "postgres-date"; | ||
2718 | packageName = "postgres-date"; | ||
2719 | version = "1.0.7"; | ||
2720 | src = fetchurl { | ||
2721 | url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz"; | ||
2722 | sha512 = "suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="; | ||
2723 | }; | ||
2724 | }; | ||
2725 | "postgres-interval-1.2.0" = { | ||
2726 | name = "postgres-interval"; | ||
2727 | packageName = "postgres-interval"; | ||
2728 | version = "1.2.0"; | ||
2729 | src = fetchurl { | ||
2730 | url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz"; | ||
2731 | sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ=="; | ||
2732 | }; | ||
2733 | }; | ||
2734 | "prelude-ls-1.1.2" = { | ||
2735 | name = "prelude-ls"; | ||
2736 | packageName = "prelude-ls"; | ||
2737 | version = "1.1.2"; | ||
2738 | src = fetchurl { | ||
2739 | url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"; | ||
2740 | sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54"; | ||
2741 | }; | ||
2742 | }; | ||
2743 | "process-nextick-args-2.0.1" = { | ||
2744 | name = "process-nextick-args"; | ||
2745 | packageName = "process-nextick-args"; | ||
2746 | version = "2.0.1"; | ||
2747 | src = fetchurl { | ||
2748 | url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; | ||
2749 | sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="; | ||
2750 | }; | ||
2751 | }; | ||
2752 | "progress-2.0.3" = { | ||
2753 | name = "progress"; | ||
2754 | packageName = "progress"; | ||
2755 | version = "2.0.3"; | ||
2756 | src = fetchurl { | ||
2757 | url = "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"; | ||
2758 | sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="; | ||
2759 | }; | ||
2760 | }; | ||
2761 | "proto-list-1.2.4" = { | ||
2762 | name = "proto-list"; | ||
2763 | packageName = "proto-list"; | ||
2764 | version = "1.2.4"; | ||
2765 | src = fetchurl { | ||
2766 | url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"; | ||
2767 | sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849"; | ||
2768 | }; | ||
2769 | }; | ||
2770 | "prr-1.0.1" = { | ||
2771 | name = "prr"; | ||
2772 | packageName = "prr"; | ||
2773 | version = "1.0.1"; | ||
2774 | src = fetchurl { | ||
2775 | url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"; | ||
2776 | sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; | ||
2777 | }; | ||
2778 | }; | ||
2779 | "pseudomap-1.0.2" = { | ||
2780 | name = "pseudomap"; | ||
2781 | packageName = "pseudomap"; | ||
2782 | version = "1.0.2"; | ||
2783 | src = fetchurl { | ||
2784 | url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz"; | ||
2785 | sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; | ||
2786 | }; | ||
2787 | }; | ||
2788 | "psl-1.8.0" = { | ||
2789 | name = "psl"; | ||
2790 | packageName = "psl"; | ||
2791 | version = "1.8.0"; | ||
2792 | src = fetchurl { | ||
2793 | url = "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz"; | ||
2794 | sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="; | ||
2795 | }; | ||
2796 | }; | ||
2797 | "punycode-2.1.1" = { | ||
2798 | name = "punycode"; | ||
2799 | packageName = "punycode"; | ||
2800 | version = "2.1.1"; | ||
2801 | src = fetchurl { | ||
2802 | url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"; | ||
2803 | sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="; | ||
2804 | }; | ||
2805 | }; | ||
2806 | "qs-6.5.2" = { | ||
2807 | name = "qs"; | ||
2808 | packageName = "qs"; | ||
2809 | version = "6.5.2"; | ||
2810 | src = fetchurl { | ||
2811 | url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"; | ||
2812 | sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="; | ||
2813 | }; | ||
2814 | }; | ||
2815 | "queue-microtask-1.2.3" = { | ||
2816 | name = "queue-microtask"; | ||
2817 | packageName = "queue-microtask"; | ||
2818 | version = "1.2.3"; | ||
2819 | src = fetchurl { | ||
2820 | url = "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"; | ||
2821 | sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="; | ||
2822 | }; | ||
2823 | }; | ||
2824 | "randombytes-2.1.0" = { | ||
2825 | name = "randombytes"; | ||
2826 | packageName = "randombytes"; | ||
2827 | version = "2.1.0"; | ||
2828 | src = fetchurl { | ||
2829 | url = "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"; | ||
2830 | sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="; | ||
2831 | }; | ||
2832 | }; | ||
2833 | "rc-1.2.8" = { | ||
2834 | name = "rc"; | ||
2835 | packageName = "rc"; | ||
2836 | version = "1.2.8"; | ||
2837 | src = fetchurl { | ||
2838 | url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"; | ||
2839 | sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="; | ||
2840 | }; | ||
2841 | }; | ||
2842 | "readable-stream-2.3.7" = { | ||
2843 | name = "readable-stream"; | ||
2844 | packageName = "readable-stream"; | ||
2845 | version = "2.3.7"; | ||
2846 | src = fetchurl { | ||
2847 | url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"; | ||
2848 | sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="; | ||
2849 | }; | ||
2850 | }; | ||
2851 | "readable-stream-3.6.0" = { | ||
2852 | name = "readable-stream"; | ||
2853 | packageName = "readable-stream"; | ||
2854 | version = "3.6.0"; | ||
2855 | src = fetchurl { | ||
2856 | url = "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"; | ||
2857 | sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="; | ||
2858 | }; | ||
2859 | }; | ||
2860 | "rechoir-0.7.0" = { | ||
2861 | name = "rechoir"; | ||
2862 | packageName = "rechoir"; | ||
2863 | version = "0.7.0"; | ||
2864 | src = fetchurl { | ||
2865 | url = "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz"; | ||
2866 | sha512 = "ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q=="; | ||
2867 | }; | ||
2868 | }; | ||
2869 | "regexpp-2.0.1" = { | ||
2870 | name = "regexpp"; | ||
2871 | packageName = "regexpp"; | ||
2872 | version = "2.0.1"; | ||
2873 | src = fetchurl { | ||
2874 | url = "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz"; | ||
2875 | sha512 = "lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw=="; | ||
2876 | }; | ||
2877 | }; | ||
2878 | "regexpp-3.1.0" = { | ||
2879 | name = "regexpp"; | ||
2880 | packageName = "regexpp"; | ||
2881 | version = "3.1.0"; | ||
2882 | src = fetchurl { | ||
2883 | url = "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz"; | ||
2884 | sha512 = "ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q=="; | ||
2885 | }; | ||
2886 | }; | ||
2887 | "request-2.88.2" = { | ||
2888 | name = "request"; | ||
2889 | packageName = "request"; | ||
2890 | version = "2.88.2"; | ||
2891 | src = fetchurl { | ||
2892 | url = "https://registry.npmjs.org/request/-/request-2.88.2.tgz"; | ||
2893 | sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw=="; | ||
2894 | }; | ||
2895 | }; | ||
2896 | "resolve-1.20.0" = { | ||
2897 | name = "resolve"; | ||
2898 | packageName = "resolve"; | ||
2899 | version = "1.20.0"; | ||
2900 | src = fetchurl { | ||
2901 | url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz"; | ||
2902 | sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A=="; | ||
2903 | }; | ||
2904 | }; | ||
2905 | "resolve-cwd-3.0.0" = { | ||
2906 | name = "resolve-cwd"; | ||
2907 | packageName = "resolve-cwd"; | ||
2908 | version = "3.0.0"; | ||
2909 | src = fetchurl { | ||
2910 | url = "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz"; | ||
2911 | sha512 = "OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg=="; | ||
2912 | }; | ||
2913 | }; | ||
2914 | "resolve-from-4.0.0" = { | ||
2915 | name = "resolve-from"; | ||
2916 | packageName = "resolve-from"; | ||
2917 | version = "4.0.0"; | ||
2918 | src = fetchurl { | ||
2919 | url = "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"; | ||
2920 | sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="; | ||
2921 | }; | ||
2922 | }; | ||
2923 | "resolve-from-5.0.0" = { | ||
2924 | name = "resolve-from"; | ||
2925 | packageName = "resolve-from"; | ||
2926 | version = "5.0.0"; | ||
2927 | src = fetchurl { | ||
2928 | url = "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"; | ||
2929 | sha512 = "qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="; | ||
2930 | }; | ||
2931 | }; | ||
2932 | "restore-cursor-3.1.0" = { | ||
2933 | name = "restore-cursor"; | ||
2934 | packageName = "restore-cursor"; | ||
2935 | version = "3.1.0"; | ||
2936 | src = fetchurl { | ||
2937 | url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz"; | ||
2938 | sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA=="; | ||
2939 | }; | ||
2940 | }; | ||
2941 | "reusify-1.0.4" = { | ||
2942 | name = "reusify"; | ||
2943 | packageName = "reusify"; | ||
2944 | version = "1.0.4"; | ||
2945 | src = fetchurl { | ||
2946 | url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"; | ||
2947 | sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="; | ||
2948 | }; | ||
2949 | }; | ||
2950 | "rimraf-2.6.3" = { | ||
2951 | name = "rimraf"; | ||
2952 | packageName = "rimraf"; | ||
2953 | version = "2.6.3"; | ||
2954 | src = fetchurl { | ||
2955 | url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz"; | ||
2956 | sha512 = "mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA=="; | ||
2957 | }; | ||
2958 | }; | ||
2959 | "run-async-2.4.1" = { | ||
2960 | name = "run-async"; | ||
2961 | packageName = "run-async"; | ||
2962 | version = "2.4.1"; | ||
2963 | src = fetchurl { | ||
2964 | url = "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"; | ||
2965 | sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ=="; | ||
2966 | }; | ||
2967 | }; | ||
2968 | "run-parallel-1.2.0" = { | ||
2969 | name = "run-parallel"; | ||
2970 | packageName = "run-parallel"; | ||
2971 | version = "1.2.0"; | ||
2972 | src = fetchurl { | ||
2973 | url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"; | ||
2974 | sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="; | ||
2975 | }; | ||
2976 | }; | ||
2977 | "rxjs-6.6.7" = { | ||
2978 | name = "rxjs"; | ||
2979 | packageName = "rxjs"; | ||
2980 | version = "6.6.7"; | ||
2981 | src = fetchurl { | ||
2982 | url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz"; | ||
2983 | sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ=="; | ||
2984 | }; | ||
2985 | }; | ||
2986 | "safe-buffer-5.1.2" = { | ||
2987 | name = "safe-buffer"; | ||
2988 | packageName = "safe-buffer"; | ||
2989 | version = "5.1.2"; | ||
2990 | src = fetchurl { | ||
2991 | url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"; | ||
2992 | sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="; | ||
2993 | }; | ||
2994 | }; | ||
2995 | "safe-buffer-5.2.1" = { | ||
2996 | name = "safe-buffer"; | ||
2997 | packageName = "safe-buffer"; | ||
2998 | version = "5.2.1"; | ||
2999 | src = fetchurl { | ||
3000 | url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"; | ||
3001 | sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="; | ||
3002 | }; | ||
3003 | }; | ||
3004 | "safer-buffer-2.1.2" = { | ||
3005 | name = "safer-buffer"; | ||
3006 | packageName = "safer-buffer"; | ||
3007 | version = "2.1.2"; | ||
3008 | src = fetchurl { | ||
3009 | url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"; | ||
3010 | sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="; | ||
3011 | }; | ||
3012 | }; | ||
3013 | "sax-1.2.4" = { | ||
3014 | name = "sax"; | ||
3015 | packageName = "sax"; | ||
3016 | version = "1.2.4"; | ||
3017 | src = fetchurl { | ||
3018 | url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz"; | ||
3019 | sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="; | ||
3020 | }; | ||
3021 | }; | ||
3022 | "schema-utils-3.0.0" = { | ||
3023 | name = "schema-utils"; | ||
3024 | packageName = "schema-utils"; | ||
3025 | version = "3.0.0"; | ||
3026 | src = fetchurl { | ||
3027 | url = "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz"; | ||
3028 | sha512 = "6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA=="; | ||
3029 | }; | ||
3030 | }; | ||
3031 | "semver-5.3.0" = { | ||
3032 | name = "semver"; | ||
3033 | packageName = "semver"; | ||
3034 | version = "5.3.0"; | ||
3035 | src = fetchurl { | ||
3036 | url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"; | ||
3037 | sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"; | ||
3038 | }; | ||
3039 | }; | ||
3040 | "semver-5.7.1" = { | ||
3041 | name = "semver"; | ||
3042 | packageName = "semver"; | ||
3043 | version = "5.7.1"; | ||
3044 | src = fetchurl { | ||
3045 | url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"; | ||
3046 | sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="; | ||
3047 | }; | ||
3048 | }; | ||
3049 | "semver-6.3.0" = { | ||
3050 | name = "semver"; | ||
3051 | packageName = "semver"; | ||
3052 | version = "6.3.0"; | ||
3053 | src = fetchurl { | ||
3054 | url = "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"; | ||
3055 | sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="; | ||
3056 | }; | ||
3057 | }; | ||
3058 | "semver-7.3.5" = { | ||
3059 | name = "semver"; | ||
3060 | packageName = "semver"; | ||
3061 | version = "7.3.5"; | ||
3062 | src = fetchurl { | ||
3063 | url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"; | ||
3064 | sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ=="; | ||
3065 | }; | ||
3066 | }; | ||
3067 | "serialize-javascript-5.0.1" = { | ||
3068 | name = "serialize-javascript"; | ||
3069 | packageName = "serialize-javascript"; | ||
3070 | version = "5.0.1"; | ||
3071 | src = fetchurl { | ||
3072 | url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz"; | ||
3073 | sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA=="; | ||
3074 | }; | ||
3075 | }; | ||
3076 | "set-blocking-2.0.0" = { | ||
3077 | name = "set-blocking"; | ||
3078 | packageName = "set-blocking"; | ||
3079 | version = "2.0.0"; | ||
3080 | src = fetchurl { | ||
3081 | url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"; | ||
3082 | sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; | ||
3083 | }; | ||
3084 | }; | ||
3085 | "shallow-clone-3.0.1" = { | ||
3086 | name = "shallow-clone"; | ||
3087 | packageName = "shallow-clone"; | ||
3088 | version = "3.0.1"; | ||
3089 | src = fetchurl { | ||
3090 | url = "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz"; | ||
3091 | sha512 = "/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA=="; | ||
3092 | }; | ||
3093 | }; | ||
3094 | "shebang-command-1.2.0" = { | ||
3095 | name = "shebang-command"; | ||
3096 | packageName = "shebang-command"; | ||
3097 | version = "1.2.0"; | ||
3098 | src = fetchurl { | ||
3099 | url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"; | ||
3100 | sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; | ||
3101 | }; | ||
3102 | }; | ||
3103 | "shebang-command-2.0.0" = { | ||
3104 | name = "shebang-command"; | ||
3105 | packageName = "shebang-command"; | ||
3106 | version = "2.0.0"; | ||
3107 | src = fetchurl { | ||
3108 | url = "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"; | ||
3109 | sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="; | ||
3110 | }; | ||
3111 | }; | ||
3112 | "shebang-regex-1.0.0" = { | ||
3113 | name = "shebang-regex"; | ||
3114 | packageName = "shebang-regex"; | ||
3115 | version = "1.0.0"; | ||
3116 | src = fetchurl { | ||
3117 | url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz"; | ||
3118 | sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; | ||
3119 | }; | ||
3120 | }; | ||
3121 | "shebang-regex-3.0.0" = { | ||
3122 | name = "shebang-regex"; | ||
3123 | packageName = "shebang-regex"; | ||
3124 | version = "3.0.0"; | ||
3125 | src = fetchurl { | ||
3126 | url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"; | ||
3127 | sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="; | ||
3128 | }; | ||
3129 | }; | ||
3130 | "sigmund-1.0.1" = { | ||
3131 | name = "sigmund"; | ||
3132 | packageName = "sigmund"; | ||
3133 | version = "1.0.1"; | ||
3134 | src = fetchurl { | ||
3135 | url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"; | ||
3136 | sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590"; | ||
3137 | }; | ||
3138 | }; | ||
3139 | "signal-exit-3.0.3" = { | ||
3140 | name = "signal-exit"; | ||
3141 | packageName = "signal-exit"; | ||
3142 | version = "3.0.3"; | ||
3143 | src = fetchurl { | ||
3144 | url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"; | ||
3145 | sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="; | ||
3146 | }; | ||
3147 | }; | ||
3148 | "slash-3.0.0" = { | ||
3149 | name = "slash"; | ||
3150 | packageName = "slash"; | ||
3151 | version = "3.0.0"; | ||
3152 | src = fetchurl { | ||
3153 | url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"; | ||
3154 | sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="; | ||
3155 | }; | ||
3156 | }; | ||
3157 | "slice-ansi-2.1.0" = { | ||
3158 | name = "slice-ansi"; | ||
3159 | packageName = "slice-ansi"; | ||
3160 | version = "2.1.0"; | ||
3161 | src = fetchurl { | ||
3162 | url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz"; | ||
3163 | sha512 = "Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ=="; | ||
3164 | }; | ||
3165 | }; | ||
3166 | "source-list-map-2.0.1" = { | ||
3167 | name = "source-list-map"; | ||
3168 | packageName = "source-list-map"; | ||
3169 | version = "2.0.1"; | ||
3170 | src = fetchurl { | ||
3171 | url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz"; | ||
3172 | sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="; | ||
3173 | }; | ||
3174 | }; | ||
3175 | "source-map-0.6.1" = { | ||
3176 | name = "source-map"; | ||
3177 | packageName = "source-map"; | ||
3178 | version = "0.6.1"; | ||
3179 | src = fetchurl { | ||
3180 | url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"; | ||
3181 | sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="; | ||
3182 | }; | ||
3183 | }; | ||
3184 | "source-map-0.7.3" = { | ||
3185 | name = "source-map"; | ||
3186 | packageName = "source-map"; | ||
3187 | version = "0.7.3"; | ||
3188 | src = fetchurl { | ||
3189 | url = "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz"; | ||
3190 | sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="; | ||
3191 | }; | ||
3192 | }; | ||
3193 | "source-map-support-0.5.19" = { | ||
3194 | name = "source-map-support"; | ||
3195 | packageName = "source-map-support"; | ||
3196 | version = "0.5.19"; | ||
3197 | src = fetchurl { | ||
3198 | url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz"; | ||
3199 | sha512 = "Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw=="; | ||
3200 | }; | ||
3201 | }; | ||
3202 | "spectre.css-0.5.9" = { | ||
3203 | name = "spectre.css"; | ||
3204 | packageName = "spectre.css"; | ||
3205 | version = "0.5.9"; | ||
3206 | src = fetchurl { | ||
3207 | url = "https://registry.npmjs.org/spectre.css/-/spectre.css-0.5.9.tgz"; | ||
3208 | sha512 = "9jUqwZmCnvflrxFGcK+ize43TvjwDjqMwZPVubEtSIHzvinH0TBUESm1LcOJx3Ur7bdPaeOHQIjOqBl1Y5kLFw=="; | ||
3209 | }; | ||
3210 | }; | ||
3211 | "split2-3.2.2" = { | ||
3212 | name = "split2"; | ||
3213 | packageName = "split2"; | ||
3214 | version = "3.2.2"; | ||
3215 | src = fetchurl { | ||
3216 | url = "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz"; | ||
3217 | sha512 = "9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg=="; | ||
3218 | }; | ||
3219 | }; | ||
3220 | "sprintf-js-1.0.3" = { | ||
3221 | name = "sprintf-js"; | ||
3222 | packageName = "sprintf-js"; | ||
3223 | version = "1.0.3"; | ||
3224 | src = fetchurl { | ||
3225 | url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; | ||
3226 | sha1 = "04e6926f662895354f3dd015203633b857297e2c"; | ||
3227 | }; | ||
3228 | }; | ||
3229 | "sqlite3-5.0.2" = { | ||
3230 | name = "sqlite3"; | ||
3231 | packageName = "sqlite3"; | ||
3232 | version = "5.0.2"; | ||
3233 | src = fetchurl { | ||
3234 | url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz"; | ||
3235 | sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA=="; | ||
3236 | }; | ||
3237 | }; | ||
3238 | "sshpk-1.16.1" = { | ||
3239 | name = "sshpk"; | ||
3240 | packageName = "sshpk"; | ||
3241 | version = "1.16.1"; | ||
3242 | src = fetchurl { | ||
3243 | url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz"; | ||
3244 | sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg=="; | ||
3245 | }; | ||
3246 | }; | ||
3247 | "string-width-1.0.2" = { | ||
3248 | name = "string-width"; | ||
3249 | packageName = "string-width"; | ||
3250 | version = "1.0.2"; | ||
3251 | src = fetchurl { | ||
3252 | url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"; | ||
3253 | sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"; | ||
3254 | }; | ||
3255 | }; | ||
3256 | "string-width-2.1.1" = { | ||
3257 | name = "string-width"; | ||
3258 | packageName = "string-width"; | ||
3259 | version = "2.1.1"; | ||
3260 | src = fetchurl { | ||
3261 | url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz"; | ||
3262 | sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw=="; | ||
3263 | }; | ||
3264 | }; | ||
3265 | "string-width-3.1.0" = { | ||
3266 | name = "string-width"; | ||
3267 | packageName = "string-width"; | ||
3268 | version = "3.1.0"; | ||
3269 | src = fetchurl { | ||
3270 | url = "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz"; | ||
3271 | sha512 = "vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w=="; | ||
3272 | }; | ||
3273 | }; | ||
3274 | "string-width-4.2.2" = { | ||
3275 | name = "string-width"; | ||
3276 | packageName = "string-width"; | ||
3277 | version = "4.2.2"; | ||
3278 | src = fetchurl { | ||
3279 | url = "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz"; | ||
3280 | sha512 = "XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA=="; | ||
3281 | }; | ||
3282 | }; | ||
3283 | "string_decoder-1.1.1" = { | ||
3284 | name = "string_decoder"; | ||
3285 | packageName = "string_decoder"; | ||
3286 | version = "1.1.1"; | ||
3287 | src = fetchurl { | ||
3288 | url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"; | ||
3289 | sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="; | ||
3290 | }; | ||
3291 | }; | ||
3292 | "string_decoder-1.3.0" = { | ||
3293 | name = "string_decoder"; | ||
3294 | packageName = "string_decoder"; | ||
3295 | version = "1.3.0"; | ||
3296 | src = fetchurl { | ||
3297 | url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"; | ||
3298 | sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="; | ||
3299 | }; | ||
3300 | }; | ||
3301 | "strip-ansi-3.0.1" = { | ||
3302 | name = "strip-ansi"; | ||
3303 | packageName = "strip-ansi"; | ||
3304 | version = "3.0.1"; | ||
3305 | src = fetchurl { | ||
3306 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"; | ||
3307 | sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; | ||
3308 | }; | ||
3309 | }; | ||
3310 | "strip-ansi-4.0.0" = { | ||
3311 | name = "strip-ansi"; | ||
3312 | packageName = "strip-ansi"; | ||
3313 | version = "4.0.0"; | ||
3314 | src = fetchurl { | ||
3315 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz"; | ||
3316 | sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; | ||
3317 | }; | ||
3318 | }; | ||
3319 | "strip-ansi-5.2.0" = { | ||
3320 | name = "strip-ansi"; | ||
3321 | packageName = "strip-ansi"; | ||
3322 | version = "5.2.0"; | ||
3323 | src = fetchurl { | ||
3324 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz"; | ||
3325 | sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA=="; | ||
3326 | }; | ||
3327 | }; | ||
3328 | "strip-ansi-6.0.0" = { | ||
3329 | name = "strip-ansi"; | ||
3330 | packageName = "strip-ansi"; | ||
3331 | version = "6.0.0"; | ||
3332 | src = fetchurl { | ||
3333 | url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"; | ||
3334 | sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="; | ||
3335 | }; | ||
3336 | }; | ||
3337 | "strip-final-newline-2.0.0" = { | ||
3338 | name = "strip-final-newline"; | ||
3339 | packageName = "strip-final-newline"; | ||
3340 | version = "2.0.0"; | ||
3341 | src = fetchurl { | ||
3342 | url = "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"; | ||
3343 | sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="; | ||
3344 | }; | ||
3345 | }; | ||
3346 | "strip-json-comments-2.0.1" = { | ||
3347 | name = "strip-json-comments"; | ||
3348 | packageName = "strip-json-comments"; | ||
3349 | version = "2.0.1"; | ||
3350 | src = fetchurl { | ||
3351 | url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"; | ||
3352 | sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a"; | ||
3353 | }; | ||
3354 | }; | ||
3355 | "strip-json-comments-3.1.1" = { | ||
3356 | name = "strip-json-comments"; | ||
3357 | packageName = "strip-json-comments"; | ||
3358 | version = "3.1.1"; | ||
3359 | src = fetchurl { | ||
3360 | url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"; | ||
3361 | sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="; | ||
3362 | }; | ||
3363 | }; | ||
3364 | "supports-color-5.5.0" = { | ||
3365 | name = "supports-color"; | ||
3366 | packageName = "supports-color"; | ||
3367 | version = "5.5.0"; | ||
3368 | src = fetchurl { | ||
3369 | url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"; | ||
3370 | sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="; | ||
3371 | }; | ||
3372 | }; | ||
3373 | "supports-color-7.2.0" = { | ||
3374 | name = "supports-color"; | ||
3375 | packageName = "supports-color"; | ||
3376 | version = "7.2.0"; | ||
3377 | src = fetchurl { | ||
3378 | url = "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"; | ||
3379 | sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="; | ||
3380 | }; | ||
3381 | }; | ||
3382 | "table-5.4.6" = { | ||
3383 | name = "table"; | ||
3384 | packageName = "table"; | ||
3385 | version = "5.4.6"; | ||
3386 | src = fetchurl { | ||
3387 | url = "https://registry.npmjs.org/table/-/table-5.4.6.tgz"; | ||
3388 | sha512 = "wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug=="; | ||
3389 | }; | ||
3390 | }; | ||
3391 | "tapable-2.2.0" = { | ||
3392 | name = "tapable"; | ||
3393 | packageName = "tapable"; | ||
3394 | version = "2.2.0"; | ||
3395 | src = fetchurl { | ||
3396 | url = "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz"; | ||
3397 | sha512 = "FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw=="; | ||
3398 | }; | ||
3399 | }; | ||
3400 | "tar-2.2.2" = { | ||
3401 | name = "tar"; | ||
3402 | packageName = "tar"; | ||
3403 | version = "2.2.2"; | ||
3404 | src = fetchurl { | ||
3405 | url = "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz"; | ||
3406 | sha512 = "FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA=="; | ||
3407 | }; | ||
3408 | }; | ||
3409 | "tar-4.4.13" = { | ||
3410 | name = "tar"; | ||
3411 | packageName = "tar"; | ||
3412 | version = "4.4.13"; | ||
3413 | src = fetchurl { | ||
3414 | url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz"; | ||
3415 | sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA=="; | ||
3416 | }; | ||
3417 | }; | ||
3418 | "terser-5.6.1" = { | ||
3419 | name = "terser"; | ||
3420 | packageName = "terser"; | ||
3421 | version = "5.6.1"; | ||
3422 | src = fetchurl { | ||
3423 | url = "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz"; | ||
3424 | sha512 = "yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw=="; | ||
3425 | }; | ||
3426 | }; | ||
3427 | "terser-webpack-plugin-5.1.1" = { | ||
3428 | name = "terser-webpack-plugin"; | ||
3429 | packageName = "terser-webpack-plugin"; | ||
3430 | version = "5.1.1"; | ||
3431 | src = fetchurl { | ||
3432 | url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz"; | ||
3433 | sha512 = "5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q=="; | ||
3434 | }; | ||
3435 | }; | ||
3436 | "text-table-0.2.0" = { | ||
3437 | name = "text-table"; | ||
3438 | packageName = "text-table"; | ||
3439 | version = "0.2.0"; | ||
3440 | src = fetchurl { | ||
3441 | url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"; | ||
3442 | sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; | ||
3443 | }; | ||
3444 | }; | ||
3445 | "through-2.3.8" = { | ||
3446 | name = "through"; | ||
3447 | packageName = "through"; | ||
3448 | version = "2.3.8"; | ||
3449 | src = fetchurl { | ||
3450 | url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz"; | ||
3451 | sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; | ||
3452 | }; | ||
3453 | }; | ||
3454 | "tmp-0.0.33" = { | ||
3455 | name = "tmp"; | ||
3456 | packageName = "tmp"; | ||
3457 | version = "0.0.33"; | ||
3458 | src = fetchurl { | ||
3459 | url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"; | ||
3460 | sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="; | ||
3461 | }; | ||
3462 | }; | ||
3463 | "to-regex-range-5.0.1" = { | ||
3464 | name = "to-regex-range"; | ||
3465 | packageName = "to-regex-range"; | ||
3466 | version = "5.0.1"; | ||
3467 | src = fetchurl { | ||
3468 | url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"; | ||
3469 | sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="; | ||
3470 | }; | ||
3471 | }; | ||
3472 | "tough-cookie-2.5.0" = { | ||
3473 | name = "tough-cookie"; | ||
3474 | packageName = "tough-cookie"; | ||
3475 | version = "2.5.0"; | ||
3476 | src = fetchurl { | ||
3477 | url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz"; | ||
3478 | sha512 = "nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g=="; | ||
3479 | }; | ||
3480 | }; | ||
3481 | "tslib-1.14.1" = { | ||
3482 | name = "tslib"; | ||
3483 | packageName = "tslib"; | ||
3484 | version = "1.14.1"; | ||
3485 | src = fetchurl { | ||
3486 | url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"; | ||
3487 | sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="; | ||
3488 | }; | ||
3489 | }; | ||
3490 | "tsutils-3.21.0" = { | ||
3491 | name = "tsutils"; | ||
3492 | packageName = "tsutils"; | ||
3493 | version = "3.21.0"; | ||
3494 | src = fetchurl { | ||
3495 | url = "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz"; | ||
3496 | sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA=="; | ||
3497 | }; | ||
3498 | }; | ||
3499 | "tunnel-agent-0.6.0" = { | ||
3500 | name = "tunnel-agent"; | ||
3501 | packageName = "tunnel-agent"; | ||
3502 | version = "0.6.0"; | ||
3503 | src = fetchurl { | ||
3504 | url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; | ||
3505 | sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; | ||
3506 | }; | ||
3507 | }; | ||
3508 | "tweetnacl-0.14.5" = { | ||
3509 | name = "tweetnacl"; | ||
3510 | packageName = "tweetnacl"; | ||
3511 | version = "0.14.5"; | ||
3512 | src = fetchurl { | ||
3513 | url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz"; | ||
3514 | sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; | ||
3515 | }; | ||
3516 | }; | ||
3517 | "type-check-0.3.2" = { | ||
3518 | name = "type-check"; | ||
3519 | packageName = "type-check"; | ||
3520 | version = "0.3.2"; | ||
3521 | src = fetchurl { | ||
3522 | url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"; | ||
3523 | sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72"; | ||
3524 | }; | ||
3525 | }; | ||
3526 | "type-fest-0.21.3" = { | ||
3527 | name = "type-fest"; | ||
3528 | packageName = "type-fest"; | ||
3529 | version = "0.21.3"; | ||
3530 | src = fetchurl { | ||
3531 | url = "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"; | ||
3532 | sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w=="; | ||
3533 | }; | ||
3534 | }; | ||
3535 | "type-fest-0.8.1" = { | ||
3536 | name = "type-fest"; | ||
3537 | packageName = "type-fest"; | ||
3538 | version = "0.8.1"; | ||
3539 | src = fetchurl { | ||
3540 | url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz"; | ||
3541 | sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="; | ||
3542 | }; | ||
3543 | }; | ||
3544 | "typescript-4.2.4" = { | ||
3545 | name = "typescript"; | ||
3546 | packageName = "typescript"; | ||
3547 | version = "4.2.4"; | ||
3548 | src = fetchurl { | ||
3549 | url = "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz"; | ||
3550 | sha512 = "V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg=="; | ||
3551 | }; | ||
3552 | }; | ||
3553 | "uri-js-4.4.1" = { | ||
3554 | name = "uri-js"; | ||
3555 | packageName = "uri-js"; | ||
3556 | version = "4.4.1"; | ||
3557 | src = fetchurl { | ||
3558 | url = "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"; | ||
3559 | sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="; | ||
3560 | }; | ||
3561 | }; | ||
3562 | "util-deprecate-1.0.2" = { | ||
3563 | name = "util-deprecate"; | ||
3564 | packageName = "util-deprecate"; | ||
3565 | version = "1.0.2"; | ||
3566 | src = fetchurl { | ||
3567 | url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"; | ||
3568 | sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; | ||
3569 | }; | ||
3570 | }; | ||
3571 | "uuid-3.4.0" = { | ||
3572 | name = "uuid"; | ||
3573 | packageName = "uuid"; | ||
3574 | version = "3.4.0"; | ||
3575 | src = fetchurl { | ||
3576 | url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz"; | ||
3577 | sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="; | ||
3578 | }; | ||
3579 | }; | ||
3580 | "v8-compile-cache-2.3.0" = { | ||
3581 | name = "v8-compile-cache"; | ||
3582 | packageName = "v8-compile-cache"; | ||
3583 | version = "2.3.0"; | ||
3584 | src = fetchurl { | ||
3585 | url = "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz"; | ||
3586 | sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA=="; | ||
3587 | }; | ||
3588 | }; | ||
3589 | "verror-1.10.0" = { | ||
3590 | name = "verror"; | ||
3591 | packageName = "verror"; | ||
3592 | version = "1.10.0"; | ||
3593 | src = fetchurl { | ||
3594 | url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz"; | ||
3595 | sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; | ||
3596 | }; | ||
3597 | }; | ||
3598 | "vue-2.6.10" = { | ||
3599 | name = "vue"; | ||
3600 | packageName = "vue"; | ||
3601 | version = "2.6.10"; | ||
3602 | src = fetchurl { | ||
3603 | url = "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz"; | ||
3604 | sha512 = "ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="; | ||
3605 | }; | ||
3606 | }; | ||
3607 | "vue-eslint-parser-7.6.0" = { | ||
3608 | name = "vue-eslint-parser"; | ||
3609 | packageName = "vue-eslint-parser"; | ||
3610 | version = "7.6.0"; | ||
3611 | src = fetchurl { | ||
3612 | url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.6.0.tgz"; | ||
3613 | sha512 = "QXxqH8ZevBrtiZMZK0LpwaMfevQi9UL7lY6Kcp+ogWHC88AuwUPwwCIzkOUc1LR4XsYAt/F9yHXAB/QoD17QXA=="; | ||
3614 | }; | ||
3615 | }; | ||
3616 | "vue-template-compiler-2.6.10" = { | ||
3617 | name = "vue-template-compiler"; | ||
3618 | packageName = "vue-template-compiler"; | ||
3619 | version = "2.6.10"; | ||
3620 | src = fetchurl { | ||
3621 | url = "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz"; | ||
3622 | sha512 = "jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg=="; | ||
3623 | }; | ||
3624 | }; | ||
3625 | "watchpack-2.1.1" = { | ||
3626 | name = "watchpack"; | ||
3627 | packageName = "watchpack"; | ||
3628 | version = "2.1.1"; | ||
3629 | src = fetchurl { | ||
3630 | url = "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz"; | ||
3631 | sha512 = "Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw=="; | ||
3632 | }; | ||
3633 | }; | ||
3634 | "webpack-5.33.2" = { | ||
3635 | name = "webpack"; | ||
3636 | packageName = "webpack"; | ||
3637 | version = "5.33.2"; | ||
3638 | src = fetchurl { | ||
3639 | url = "https://registry.npmjs.org/webpack/-/webpack-5.33.2.tgz"; | ||
3640 | sha512 = "X4b7F1sYBmJx8mlh2B7mV5szEkE0jYNJ2y3akgAP0ERi0vLCG1VvdsIxt8lFd4st6SUy0lf7W0CCQS566MBpJg=="; | ||
3641 | }; | ||
3642 | }; | ||
3643 | "webpack-cli-4.6.0" = { | ||
3644 | name = "webpack-cli"; | ||
3645 | packageName = "webpack-cli"; | ||
3646 | version = "4.6.0"; | ||
3647 | src = fetchurl { | ||
3648 | url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.6.0.tgz"; | ||
3649 | sha512 = "9YV+qTcGMjQFiY7Nb1kmnupvb1x40lfpj8pwdO/bom+sQiP4OBMKjHq29YQrlDWDPZO9r/qWaRRywKaRDKqBTA=="; | ||
3650 | }; | ||
3651 | }; | ||
3652 | "webpack-merge-5.7.3" = { | ||
3653 | name = "webpack-merge"; | ||
3654 | packageName = "webpack-merge"; | ||
3655 | version = "5.7.3"; | ||
3656 | src = fetchurl { | ||
3657 | url = "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz"; | ||
3658 | sha512 = "6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA=="; | ||
3659 | }; | ||
3660 | }; | ||
3661 | "webpack-sources-2.2.0" = { | ||
3662 | name = "webpack-sources"; | ||
3663 | packageName = "webpack-sources"; | ||
3664 | version = "2.2.0"; | ||
3665 | src = fetchurl { | ||
3666 | url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz"; | ||
3667 | sha512 = "bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w=="; | ||
3668 | }; | ||
3669 | }; | ||
3670 | "which-1.3.1" = { | ||
3671 | name = "which"; | ||
3672 | packageName = "which"; | ||
3673 | version = "1.3.1"; | ||
3674 | src = fetchurl { | ||
3675 | url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz"; | ||
3676 | sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ=="; | ||
3677 | }; | ||
3678 | }; | ||
3679 | "which-2.0.2" = { | ||
3680 | name = "which"; | ||
3681 | packageName = "which"; | ||
3682 | version = "2.0.2"; | ||
3683 | src = fetchurl { | ||
3684 | url = "https://registry.npmjs.org/which/-/which-2.0.2.tgz"; | ||
3685 | sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="; | ||
3686 | }; | ||
3687 | }; | ||
3688 | "wide-align-1.1.3" = { | ||
3689 | name = "wide-align"; | ||
3690 | packageName = "wide-align"; | ||
3691 | version = "1.1.3"; | ||
3692 | src = fetchurl { | ||
3693 | url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz"; | ||
3694 | sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA=="; | ||
3695 | }; | ||
3696 | }; | ||
3697 | "wildcard-2.0.0" = { | ||
3698 | name = "wildcard"; | ||
3699 | packageName = "wildcard"; | ||
3700 | version = "2.0.0"; | ||
3701 | src = fetchurl { | ||
3702 | url = "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz"; | ||
3703 | sha512 = "JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="; | ||
3704 | }; | ||
3705 | }; | ||
3706 | "word-wrap-1.2.3" = { | ||
3707 | name = "word-wrap"; | ||
3708 | packageName = "word-wrap"; | ||
3709 | version = "1.2.3"; | ||
3710 | src = fetchurl { | ||
3711 | url = "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"; | ||
3712 | sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="; | ||
3713 | }; | ||
3714 | }; | ||
3715 | "wrappy-1.0.2" = { | ||
3716 | name = "wrappy"; | ||
3717 | packageName = "wrappy"; | ||
3718 | version = "1.0.2"; | ||
3719 | src = fetchurl { | ||
3720 | url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"; | ||
3721 | sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; | ||
3722 | }; | ||
3723 | }; | ||
3724 | "write-1.0.3" = { | ||
3725 | name = "write"; | ||
3726 | packageName = "write"; | ||
3727 | version = "1.0.3"; | ||
3728 | src = fetchurl { | ||
3729 | url = "https://registry.npmjs.org/write/-/write-1.0.3.tgz"; | ||
3730 | sha512 = "/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig=="; | ||
3731 | }; | ||
3732 | }; | ||
3733 | "xtend-4.0.2" = { | ||
3734 | name = "xtend"; | ||
3735 | packageName = "xtend"; | ||
3736 | version = "4.0.2"; | ||
3737 | src = fetchurl { | ||
3738 | url = "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"; | ||
3739 | sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="; | ||
3740 | }; | ||
3741 | }; | ||
3742 | "yallist-2.1.2" = { | ||
3743 | name = "yallist"; | ||
3744 | packageName = "yallist"; | ||
3745 | version = "2.1.2"; | ||
3746 | src = fetchurl { | ||
3747 | url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz"; | ||
3748 | sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; | ||
3749 | }; | ||
3750 | }; | ||
3751 | "yallist-3.1.1" = { | ||
3752 | name = "yallist"; | ||
3753 | packageName = "yallist"; | ||
3754 | version = "3.1.1"; | ||
3755 | src = fetchurl { | ||
3756 | url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz"; | ||
3757 | sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="; | ||
3758 | }; | ||
3759 | }; | ||
3760 | "yallist-4.0.0" = { | ||
3761 | name = "yallist"; | ||
3762 | packageName = "yallist"; | ||
3763 | version = "4.0.0"; | ||
3764 | src = fetchurl { | ||
3765 | url = "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"; | ||
3766 | sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="; | ||
3767 | }; | ||
3768 | }; | ||
3769 | "yocto-queue-0.1.0" = { | ||
3770 | name = "yocto-queue"; | ||
3771 | packageName = "yocto-queue"; | ||
3772 | version = "0.1.0"; | ||
3773 | src = fetchurl { | ||
3774 | url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"; | ||
3775 | sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="; | ||
3776 | }; | ||
3777 | }; | ||
3778 | }; | ||
3779 | args = { | ||
3780 | name = "terraforming-mars"; | ||
3781 | packageName = "terraforming-mars"; | ||
3782 | version = "1.0.0"; | ||
3783 | inherit src; | ||
3784 | dependencies = [ | ||
3785 | sources."@babel/code-frame-7.12.13" | ||
3786 | sources."@babel/helper-validator-identifier-7.12.11" | ||
3787 | sources."@babel/highlight-7.13.10" | ||
3788 | sources."@discoveryjs/json-ext-0.5.2" | ||
3789 | sources."@nodelib/fs.scandir-2.1.4" | ||
3790 | sources."@nodelib/fs.stat-2.0.4" | ||
3791 | sources."@nodelib/fs.walk-1.2.6" | ||
3792 | sources."@types/eslint-7.2.10" | ||
3793 | sources."@types/eslint-scope-3.7.0" | ||
3794 | sources."@types/estree-0.0.46" | ||
3795 | sources."@types/json-schema-7.0.7" | ||
3796 | sources."@types/node-10.17.58" | ||
3797 | sources."@types/pg-7.14.11" | ||
3798 | sources."@types/sqlite3-3.1.7" | ||
3799 | sources."@typescript-eslint/eslint-plugin-4.22.0" | ||
3800 | sources."@typescript-eslint/experimental-utils-4.22.0" | ||
3801 | sources."@typescript-eslint/parser-4.22.0" | ||
3802 | sources."@typescript-eslint/scope-manager-4.22.0" | ||
3803 | sources."@typescript-eslint/types-4.22.0" | ||
3804 | sources."@typescript-eslint/typescript-estree-4.22.0" | ||
3805 | sources."@typescript-eslint/visitor-keys-4.22.0" | ||
3806 | sources."@webassemblyjs/ast-1.11.0" | ||
3807 | sources."@webassemblyjs/floating-point-hex-parser-1.11.0" | ||
3808 | sources."@webassemblyjs/helper-api-error-1.11.0" | ||
3809 | sources."@webassemblyjs/helper-buffer-1.11.0" | ||
3810 | sources."@webassemblyjs/helper-numbers-1.11.0" | ||
3811 | sources."@webassemblyjs/helper-wasm-bytecode-1.11.0" | ||
3812 | sources."@webassemblyjs/helper-wasm-section-1.11.0" | ||
3813 | sources."@webassemblyjs/ieee754-1.11.0" | ||
3814 | sources."@webassemblyjs/leb128-1.11.0" | ||
3815 | sources."@webassemblyjs/utf8-1.11.0" | ||
3816 | sources."@webassemblyjs/wasm-edit-1.11.0" | ||
3817 | sources."@webassemblyjs/wasm-gen-1.11.0" | ||
3818 | sources."@webassemblyjs/wasm-opt-1.11.0" | ||
3819 | sources."@webassemblyjs/wasm-parser-1.11.0" | ||
3820 | sources."@webassemblyjs/wast-printer-1.11.0" | ||
3821 | sources."@webpack-cli/configtest-1.0.2" | ||
3822 | sources."@webpack-cli/info-1.2.3" | ||
3823 | sources."@webpack-cli/serve-1.3.1" | ||
3824 | sources."@xtuc/ieee754-1.2.0" | ||
3825 | sources."@xtuc/long-4.2.2" | ||
3826 | sources."abbrev-1.1.1" | ||
3827 | sources."acorn-7.4.1" | ||
3828 | sources."acorn-jsx-5.3.1" | ||
3829 | sources."ajv-6.12.6" | ||
3830 | sources."ajv-keywords-3.5.2" | ||
3831 | sources."ansi-colors-4.1.1" | ||
3832 | (sources."ansi-escapes-4.3.2" // { | ||
3833 | dependencies = [ | ||
3834 | sources."type-fest-0.21.3" | ||
3835 | ]; | ||
3836 | }) | ||
3837 | sources."ansi-regex-4.1.0" | ||
3838 | sources."ansi-styles-3.2.1" | ||
3839 | sources."aproba-1.2.0" | ||
3840 | (sources."are-we-there-yet-1.1.5" // { | ||
3841 | dependencies = [ | ||
3842 | sources."readable-stream-2.3.7" | ||
3843 | sources."string_decoder-1.1.1" | ||
3844 | ]; | ||
3845 | }) | ||
3846 | sources."argparse-1.0.10" | ||
3847 | sources."array-union-2.1.0" | ||
3848 | sources."asn1-0.2.4" | ||
3849 | sources."assert-plus-1.0.0" | ||
3850 | sources."astral-regex-1.0.0" | ||
3851 | sources."asynckit-0.4.0" | ||
3852 | sources."aws-sign2-0.7.0" | ||
3853 | sources."aws4-1.11.0" | ||
3854 | sources."balanced-match-1.0.2" | ||
3855 | sources."bcrypt-pbkdf-1.0.2" | ||
3856 | sources."block-stream-0.0.9" | ||
3857 | sources."brace-expansion-1.1.11" | ||
3858 | sources."braces-3.0.2" | ||
3859 | sources."browserslist-4.16.4" | ||
3860 | sources."buffer-from-1.1.1" | ||
3861 | sources."buffer-writer-2.0.0" | ||
3862 | sources."callsites-3.1.0" | ||
3863 | sources."caniuse-lite-1.0.30001209" | ||
3864 | sources."caseless-0.12.0" | ||
3865 | sources."chalk-2.4.2" | ||
3866 | sources."chardet-0.7.0" | ||
3867 | sources."chownr-1.1.4" | ||
3868 | sources."chrome-trace-event-1.0.3" | ||
3869 | sources."cli-cursor-3.1.0" | ||
3870 | sources."cli-width-3.0.0" | ||
3871 | (sources."clone-deep-4.0.1" // { | ||
3872 | dependencies = [ | ||
3873 | sources."kind-of-6.0.3" | ||
3874 | ]; | ||
3875 | }) | ||
3876 | sources."code-point-at-1.1.0" | ||
3877 | sources."color-convert-1.9.3" | ||
3878 | sources."color-name-1.1.3" | ||
3879 | sources."colorette-1.2.2" | ||
3880 | sources."combined-stream-1.0.8" | ||
3881 | sources."commander-2.20.3" | ||
3882 | sources."compression-webpack-plugin-7.1.2" | ||
3883 | sources."concat-map-0.0.1" | ||
3884 | sources."config-chain-1.1.12" | ||
3885 | sources."console-control-strings-1.1.0" | ||
3886 | sources."console-stamp-3.0.0-rc4.2" | ||
3887 | sources."copy-anything-2.0.3" | ||
3888 | sources."core-util-is-1.0.2" | ||
3889 | (sources."cross-spawn-6.0.5" // { | ||
3890 | dependencies = [ | ||
3891 | sources."semver-5.7.1" | ||
3892 | ]; | ||
3893 | }) | ||
3894 | sources."dashdash-1.14.1" | ||
3895 | sources."dateformat-3.0.3" | ||
3896 | sources."de-indent-1.0.2" | ||
3897 | sources."debug-4.3.1" | ||
3898 | sources."deep-extend-0.6.0" | ||
3899 | sources."deep-is-0.1.3" | ||
3900 | sources."delayed-stream-1.0.0" | ||
3901 | sources."delegates-1.0.0" | ||
3902 | sources."detect-libc-1.0.3" | ||
3903 | sources."dialog-polyfill-0.5.6" | ||
3904 | sources."dir-glob-3.0.1" | ||
3905 | sources."doctrine-3.0.0" | ||
3906 | sources."dotenv-8.2.0" | ||
3907 | sources."ecc-jsbn-0.1.2" | ||
3908 | (sources."editorconfig-0.15.3" // { | ||
3909 | dependencies = [ | ||
3910 | sources."semver-5.7.1" | ||
3911 | ]; | ||
3912 | }) | ||
3913 | sources."electron-to-chromium-1.3.717" | ||
3914 | sources."emoji-regex-8.0.0" | ||
3915 | sources."enhanced-resolve-5.7.0" | ||
3916 | sources."enquirer-2.3.6" | ||
3917 | sources."envinfo-7.8.1" | ||
3918 | sources."errno-0.1.8" | ||
3919 | sources."es-module-lexer-0.4.1" | ||
3920 | sources."escalade-3.1.1" | ||
3921 | sources."escape-string-regexp-1.0.5" | ||
3922 | (sources."eslint-6.8.0" // { | ||
3923 | dependencies = [ | ||
3924 | sources."eslint-utils-1.4.3" | ||
3925 | sources."eslint-visitor-keys-1.3.0" | ||
3926 | sources."regexpp-2.0.1" | ||
3927 | sources."semver-6.3.0" | ||
3928 | ]; | ||
3929 | }) | ||
3930 | sources."eslint-config-google-0.14.0" | ||
3931 | (sources."eslint-plugin-vue-6.2.2" // { | ||
3932 | dependencies = [ | ||
3933 | sources."semver-5.7.1" | ||
3934 | ]; | ||
3935 | }) | ||
3936 | sources."eslint-scope-5.1.1" | ||
3937 | (sources."eslint-utils-2.1.0" // { | ||
3938 | dependencies = [ | ||
3939 | sources."eslint-visitor-keys-1.3.0" | ||
3940 | ]; | ||
3941 | }) | ||
3942 | sources."eslint-visitor-keys-2.0.0" | ||
3943 | (sources."espree-6.2.1" // { | ||
3944 | dependencies = [ | ||
3945 | sources."eslint-visitor-keys-1.3.0" | ||
3946 | ]; | ||
3947 | }) | ||
3948 | sources."esprima-4.0.1" | ||
3949 | (sources."esquery-1.4.0" // { | ||
3950 | dependencies = [ | ||
3951 | sources."estraverse-5.2.0" | ||
3952 | ]; | ||
3953 | }) | ||
3954 | (sources."esrecurse-4.3.0" // { | ||
3955 | dependencies = [ | ||
3956 | sources."estraverse-5.2.0" | ||
3957 | ]; | ||
3958 | }) | ||
3959 | sources."estraverse-4.3.0" | ||
3960 | sources."esutils-2.0.3" | ||
3961 | sources."events-3.3.0" | ||
3962 | (sources."execa-5.0.0" // { | ||
3963 | dependencies = [ | ||
3964 | sources."cross-spawn-7.0.3" | ||
3965 | sources."is-stream-2.0.0" | ||
3966 | sources."path-key-3.1.1" | ||
3967 | sources."shebang-command-2.0.0" | ||
3968 | sources."shebang-regex-3.0.0" | ||
3969 | sources."which-2.0.2" | ||
3970 | ]; | ||
3971 | }) | ||
3972 | sources."extend-3.0.2" | ||
3973 | sources."external-editor-3.1.0" | ||
3974 | sources."extsprintf-1.3.0" | ||
3975 | sources."fast-deep-equal-3.1.3" | ||
3976 | sources."fast-glob-3.2.5" | ||
3977 | sources."fast-json-stable-stringify-2.1.0" | ||
3978 | sources."fast-levenshtein-2.0.6" | ||
3979 | sources."fastest-levenshtein-1.0.12" | ||
3980 | sources."fastq-1.11.0" | ||
3981 | sources."figures-3.2.0" | ||
3982 | sources."file-entry-cache-5.0.1" | ||
3983 | sources."fill-range-7.0.1" | ||
3984 | sources."flat-cache-2.0.1" | ||
3985 | sources."flatted-2.0.2" | ||
3986 | sources."forever-agent-0.6.1" | ||
3987 | sources."form-data-2.3.3" | ||
3988 | sources."fs-minipass-1.2.7" | ||
3989 | sources."fs.realpath-1.0.0" | ||
3990 | sources."fstream-1.0.12" | ||
3991 | sources."function-bind-1.1.1" | ||
3992 | sources."functional-red-black-tree-1.0.1" | ||
3993 | (sources."gauge-2.7.4" // { | ||
3994 | dependencies = [ | ||
3995 | sources."ansi-regex-2.1.1" | ||
3996 | sources."is-fullwidth-code-point-1.0.0" | ||
3997 | sources."string-width-1.0.2" | ||
3998 | sources."strip-ansi-3.0.1" | ||
3999 | ]; | ||
4000 | }) | ||
4001 | sources."get-stream-6.0.1" | ||
4002 | sources."getpass-0.1.7" | ||
4003 | sources."glob-7.1.6" | ||
4004 | sources."glob-parent-5.1.2" | ||
4005 | sources."glob-to-regexp-0.4.1" | ||
4006 | sources."globals-12.4.0" | ||
4007 | (sources."globby-11.0.3" // { | ||
4008 | dependencies = [ | ||
4009 | sources."ignore-5.1.8" | ||
4010 | ]; | ||
4011 | }) | ||
4012 | sources."graceful-fs-4.2.6" | ||
4013 | sources."har-schema-2.0.0" | ||
4014 | sources."har-validator-5.1.5" | ||
4015 | sources."has-1.0.3" | ||
4016 | sources."has-flag-3.0.0" | ||
4017 | sources."has-unicode-2.0.1" | ||
4018 | sources."he-1.2.0" | ||
4019 | sources."http-signature-1.2.0" | ||
4020 | sources."human-signals-2.1.0" | ||
4021 | sources."iconv-lite-0.4.24" | ||
4022 | sources."ignore-4.0.6" | ||
4023 | sources."ignore-walk-3.0.3" | ||
4024 | sources."image-size-0.5.5" | ||
4025 | sources."import-fresh-3.3.0" | ||
4026 | (sources."import-local-3.0.2" // { | ||
4027 | dependencies = [ | ||
4028 | sources."find-up-4.1.0" | ||
4029 | sources."locate-path-5.0.0" | ||
4030 | sources."p-limit-2.3.0" | ||
4031 | sources."p-locate-4.1.0" | ||
4032 | sources."pkg-dir-4.2.0" | ||
4033 | ]; | ||
4034 | }) | ||
4035 | sources."imurmurhash-0.1.4" | ||
4036 | sources."inflight-1.0.6" | ||
4037 | sources."inherits-2.0.4" | ||
4038 | sources."ini-1.3.8" | ||
4039 | (sources."inquirer-7.3.3" // { | ||
4040 | dependencies = [ | ||
4041 | sources."ansi-regex-5.0.0" | ||
4042 | sources."ansi-styles-4.3.0" | ||
4043 | sources."chalk-4.1.0" | ||
4044 | sources."color-convert-2.0.1" | ||
4045 | sources."color-name-1.1.4" | ||
4046 | sources."has-flag-4.0.0" | ||
4047 | sources."strip-ansi-6.0.0" | ||
4048 | sources."supports-color-7.2.0" | ||
4049 | ]; | ||
4050 | }) | ||
4051 | sources."interpret-2.2.0" | ||
4052 | sources."is-core-module-2.2.0" | ||
4053 | sources."is-extglob-2.1.1" | ||
4054 | sources."is-fullwidth-code-point-3.0.0" | ||
4055 | sources."is-glob-4.0.1" | ||
4056 | sources."is-number-7.0.0" | ||
4057 | sources."is-plain-object-2.0.4" | ||
4058 | sources."is-typedarray-1.0.0" | ||
4059 | sources."is-what-3.14.1" | ||
4060 | sources."isarray-1.0.0" | ||
4061 | sources."isexe-2.0.0" | ||
4062 | sources."isobject-3.0.1" | ||
4063 | sources."isstream-0.1.2" | ||
4064 | (sources."jest-worker-26.6.2" // { | ||
4065 | dependencies = [ | ||
4066 | sources."has-flag-4.0.0" | ||
4067 | sources."supports-color-7.2.0" | ||
4068 | ]; | ||
4069 | }) | ||
4070 | (sources."js-beautify-1.13.13" // { | ||
4071 | dependencies = [ | ||
4072 | sources."mkdirp-1.0.4" | ||
4073 | ]; | ||
4074 | }) | ||
4075 | sources."js-tokens-4.0.0" | ||
4076 | sources."js-yaml-3.14.1" | ||
4077 | sources."jsbn-0.1.1" | ||
4078 | sources."json-parse-better-errors-1.0.2" | ||
4079 | sources."json-schema-0.2.3" | ||
4080 | sources."json-schema-traverse-0.4.1" | ||
4081 | sources."json-stable-stringify-without-jsonify-1.0.1" | ||
4082 | sources."json-stringify-safe-5.0.1" | ||
4083 | sources."jsprim-1.4.1" | ||
4084 | sources."less-3.13.1" | ||
4085 | sources."levn-0.3.0" | ||
4086 | sources."loader-runner-4.2.0" | ||
4087 | sources."lodash-4.17.21" | ||
4088 | sources."lru-cache-4.1.5" | ||
4089 | (sources."make-dir-2.1.0" // { | ||
4090 | dependencies = [ | ||
4091 | sources."semver-5.7.1" | ||
4092 | ]; | ||
4093 | }) | ||
4094 | sources."merge-stream-2.0.0" | ||
4095 | sources."merge2-1.4.1" | ||
4096 | sources."micromatch-4.0.4" | ||
4097 | sources."mime-1.6.0" | ||
4098 | sources."mime-db-1.47.0" | ||
4099 | sources."mime-types-2.1.30" | ||
4100 | sources."mimic-fn-2.1.0" | ||
4101 | sources."minimatch-3.0.4" | ||
4102 | sources."minimist-1.2.5" | ||
4103 | (sources."minipass-2.9.0" // { | ||
4104 | dependencies = [ | ||
4105 | sources."yallist-3.1.1" | ||
4106 | ]; | ||
4107 | }) | ||
4108 | sources."minizlib-1.3.3" | ||
4109 | sources."mkdirp-0.5.5" | ||
4110 | sources."mnemonist-0.38.3" | ||
4111 | sources."ms-2.1.2" | ||
4112 | sources."mute-stream-0.0.8" | ||
4113 | sources."native-request-1.0.8" | ||
4114 | sources."natural-compare-1.4.0" | ||
4115 | (sources."needle-2.6.0" // { | ||
4116 | dependencies = [ | ||
4117 | sources."debug-3.2.7" | ||
4118 | ]; | ||
4119 | }) | ||
4120 | sources."neo-async-2.6.2" | ||
4121 | sources."nice-try-1.0.5" | ||
4122 | sources."node-addon-api-3.1.0" | ||
4123 | (sources."node-gyp-3.8.0" // { | ||
4124 | dependencies = [ | ||
4125 | sources."nopt-3.0.6" | ||
4126 | sources."semver-5.3.0" | ||
4127 | ]; | ||
4128 | }) | ||
4129 | (sources."node-pre-gyp-0.11.0" // { | ||
4130 | dependencies = [ | ||
4131 | sources."nopt-4.0.3" | ||
4132 | sources."semver-5.7.1" | ||
4133 | sources."tar-4.4.13" | ||
4134 | sources."yallist-3.1.1" | ||
4135 | ]; | ||
4136 | }) | ||
4137 | sources."node-releases-1.1.71" | ||
4138 | sources."nopt-5.0.0" | ||
4139 | sources."npm-bundled-1.1.1" | ||
4140 | sources."npm-normalize-package-bin-1.0.1" | ||
4141 | sources."npm-packlist-1.4.8" | ||
4142 | (sources."npm-run-path-4.0.1" // { | ||
4143 | dependencies = [ | ||
4144 | sources."path-key-3.1.1" | ||
4145 | ]; | ||
4146 | }) | ||
4147 | sources."npmlog-4.1.2" | ||
4148 | sources."number-is-nan-1.0.1" | ||
4149 | sources."oauth-sign-0.9.0" | ||
4150 | sources."object-assign-4.1.1" | ||
4151 | sources."obliterator-1.6.1" | ||
4152 | sources."once-1.4.0" | ||
4153 | sources."onetime-5.1.2" | ||
4154 | sources."optionator-0.8.3" | ||
4155 | sources."os-homedir-1.0.2" | ||
4156 | sources."os-tmpdir-1.0.2" | ||
4157 | sources."osenv-0.1.5" | ||
4158 | sources."p-limit-3.1.0" | ||
4159 | sources."p-try-2.2.0" | ||
4160 | sources."packet-reader-1.0.0" | ||
4161 | sources."parent-module-1.0.1" | ||
4162 | sources."path-exists-4.0.0" | ||
4163 | sources."path-is-absolute-1.0.1" | ||
4164 | sources."path-key-2.0.1" | ||
4165 | sources."path-parse-1.0.6" | ||
4166 | sources."path-type-4.0.0" | ||
4167 | sources."performance-now-2.1.0" | ||
4168 | sources."pg-8.6.0" | ||
4169 | sources."pg-connection-string-2.5.0" | ||
4170 | sources."pg-int8-1.0.1" | ||
4171 | sources."pg-pool-3.3.0" | ||
4172 | sources."pg-protocol-1.5.0" | ||
4173 | sources."pg-types-2.2.0" | ||
4174 | sources."pgpass-1.0.4" | ||
4175 | sources."picomatch-2.2.3" | ||
4176 | sources."pify-4.0.1" | ||
4177 | sources."postgres-array-2.0.0" | ||
4178 | sources."postgres-bytea-1.0.0" | ||
4179 | sources."postgres-date-1.0.7" | ||
4180 | sources."postgres-interval-1.2.0" | ||
4181 | sources."prelude-ls-1.1.2" | ||
4182 | sources."process-nextick-args-2.0.1" | ||
4183 | sources."progress-2.0.3" | ||
4184 | sources."proto-list-1.2.4" | ||
4185 | sources."prr-1.0.1" | ||
4186 | sources."pseudomap-1.0.2" | ||
4187 | sources."psl-1.8.0" | ||
4188 | sources."punycode-2.1.1" | ||
4189 | sources."qs-6.5.2" | ||
4190 | sources."queue-microtask-1.2.3" | ||
4191 | sources."randombytes-2.1.0" | ||
4192 | (sources."rc-1.2.8" // { | ||
4193 | dependencies = [ | ||
4194 | sources."strip-json-comments-2.0.1" | ||
4195 | ]; | ||
4196 | }) | ||
4197 | sources."readable-stream-3.6.0" | ||
4198 | sources."rechoir-0.7.0" | ||
4199 | sources."regexpp-3.1.0" | ||
4200 | (sources."request-2.88.2" // { | ||
4201 | dependencies = [ | ||
4202 | sources."tough-cookie-2.5.0" | ||
4203 | ]; | ||
4204 | }) | ||
4205 | sources."resolve-1.20.0" | ||
4206 | (sources."resolve-cwd-3.0.0" // { | ||
4207 | dependencies = [ | ||
4208 | sources."resolve-from-5.0.0" | ||
4209 | ]; | ||
4210 | }) | ||
4211 | sources."resolve-from-4.0.0" | ||
4212 | sources."restore-cursor-3.1.0" | ||
4213 | sources."reusify-1.0.4" | ||
4214 | sources."rimraf-2.6.3" | ||
4215 | sources."run-async-2.4.1" | ||
4216 | sources."run-parallel-1.2.0" | ||
4217 | sources."rxjs-6.6.7" | ||
4218 | sources."safe-buffer-5.1.2" | ||
4219 | sources."safer-buffer-2.1.2" | ||
4220 | sources."sax-1.2.4" | ||
4221 | sources."schema-utils-3.0.0" | ||
4222 | (sources."semver-7.3.5" // { | ||
4223 | dependencies = [ | ||
4224 | sources."lru-cache-6.0.0" | ||
4225 | sources."yallist-4.0.0" | ||
4226 | ]; | ||
4227 | }) | ||
4228 | sources."serialize-javascript-5.0.1" | ||
4229 | sources."set-blocking-2.0.0" | ||
4230 | (sources."shallow-clone-3.0.1" // { | ||
4231 | dependencies = [ | ||
4232 | sources."kind-of-6.0.3" | ||
4233 | ]; | ||
4234 | }) | ||
4235 | sources."shebang-command-1.2.0" | ||
4236 | sources."shebang-regex-1.0.0" | ||
4237 | sources."sigmund-1.0.1" | ||
4238 | sources."signal-exit-3.0.3" | ||
4239 | sources."slash-3.0.0" | ||
4240 | (sources."slice-ansi-2.1.0" // { | ||
4241 | dependencies = [ | ||
4242 | sources."is-fullwidth-code-point-2.0.0" | ||
4243 | ]; | ||
4244 | }) | ||
4245 | sources."source-list-map-2.0.1" | ||
4246 | sources."source-map-0.6.1" | ||
4247 | sources."source-map-support-0.5.19" | ||
4248 | sources."spectre.css-0.5.9" | ||
4249 | sources."split2-3.2.2" | ||
4250 | sources."sprintf-js-1.0.3" | ||
4251 | sources."sqlite3-5.0.2" | ||
4252 | sources."sshpk-1.16.1" | ||
4253 | (sources."string-width-4.2.2" // { | ||
4254 | dependencies = [ | ||
4255 | sources."ansi-regex-5.0.0" | ||
4256 | sources."strip-ansi-6.0.0" | ||
4257 | ]; | ||
4258 | }) | ||
4259 | (sources."string_decoder-1.3.0" // { | ||
4260 | dependencies = [ | ||
4261 | sources."safe-buffer-5.2.1" | ||
4262 | ]; | ||
4263 | }) | ||
4264 | sources."strip-ansi-5.2.0" | ||
4265 | sources."strip-final-newline-2.0.0" | ||
4266 | sources."strip-json-comments-3.1.1" | ||
4267 | sources."supports-color-5.5.0" | ||
4268 | (sources."table-5.4.6" // { | ||
4269 | dependencies = [ | ||
4270 | sources."emoji-regex-7.0.3" | ||
4271 | sources."is-fullwidth-code-point-2.0.0" | ||
4272 | sources."string-width-3.1.0" | ||
4273 | ]; | ||
4274 | }) | ||
4275 | sources."tapable-2.2.0" | ||
4276 | sources."tar-2.2.2" | ||
4277 | (sources."terser-5.6.1" // { | ||
4278 | dependencies = [ | ||
4279 | sources."source-map-0.7.3" | ||
4280 | ]; | ||
4281 | }) | ||
4282 | sources."terser-webpack-plugin-5.1.1" | ||
4283 | sources."text-table-0.2.0" | ||
4284 | sources."through-2.3.8" | ||
4285 | sources."tmp-0.0.33" | ||
4286 | sources."to-regex-range-5.0.1" | ||
4287 | sources."tslib-1.14.1" | ||
4288 | sources."tsutils-3.21.0" | ||
4289 | sources."tunnel-agent-0.6.0" | ||
4290 | sources."tweetnacl-0.14.5" | ||
4291 | sources."type-check-0.3.2" | ||
4292 | sources."type-fest-0.8.1" | ||
4293 | sources."typescript-4.2.4" | ||
4294 | sources."uri-js-4.4.1" | ||
4295 | sources."util-deprecate-1.0.2" | ||
4296 | sources."uuid-3.4.0" | ||
4297 | sources."v8-compile-cache-2.3.0" | ||
4298 | sources."verror-1.10.0" | ||
4299 | sources."vue-2.6.10" | ||
4300 | (sources."vue-eslint-parser-7.6.0" // { | ||
4301 | dependencies = [ | ||
4302 | sources."eslint-visitor-keys-1.3.0" | ||
4303 | ]; | ||
4304 | }) | ||
4305 | sources."vue-template-compiler-2.6.10" | ||
4306 | sources."watchpack-2.1.1" | ||
4307 | (sources."webpack-5.33.2" // { | ||
4308 | dependencies = [ | ||
4309 | sources."acorn-8.1.1" | ||
4310 | ]; | ||
4311 | }) | ||
4312 | (sources."webpack-cli-4.6.0" // { | ||
4313 | dependencies = [ | ||
4314 | sources."commander-7.2.0" | ||
4315 | ]; | ||
4316 | }) | ||
4317 | sources."webpack-merge-5.7.3" | ||
4318 | sources."webpack-sources-2.2.0" | ||
4319 | sources."which-1.3.1" | ||
4320 | (sources."wide-align-1.1.3" // { | ||
4321 | dependencies = [ | ||
4322 | sources."ansi-regex-3.0.0" | ||
4323 | sources."is-fullwidth-code-point-2.0.0" | ||
4324 | sources."string-width-2.1.1" | ||
4325 | sources."strip-ansi-4.0.0" | ||
4326 | ]; | ||
4327 | }) | ||
4328 | sources."wildcard-2.0.0" | ||
4329 | sources."word-wrap-1.2.3" | ||
4330 | sources."wrappy-1.0.2" | ||
4331 | sources."write-1.0.3" | ||
4332 | sources."xtend-4.0.2" | ||
4333 | sources."yallist-2.1.2" | ||
4334 | sources."yocto-queue-0.1.0" | ||
4335 | ]; | ||
4336 | buildInputs = globalBuildInputs; | ||
4337 | meta = { | ||
4338 | description = "Terraforming Mars Game"; | ||
4339 | homepage = "https://github.com/bafolts/terraforming-mars#readme"; | ||
4340 | license = "ISC"; | ||
4341 | }; | ||
4342 | production = true; | ||
4343 | bypassCache = true; | ||
4344 | reconstructLock = false; | ||
4345 | }; | ||
4346 | in | ||
4347 | { | ||
4348 | args = args; | ||
4349 | sources = sources; | ||
4350 | tarball = nodeEnv.buildNodeSourceDist args; | ||
4351 | package = nodeEnv.buildNodePackage args; | ||
4352 | shell = nodeEnv.buildNodeShell args; | ||
4353 | } | ||
diff --git a/systems/eldiron/websites/games/terraforming-mars/terraforming-mars.nix b/systems/eldiron/websites/games/terraforming-mars/terraforming-mars.nix new file mode 100644 index 0000000..f190221 --- /dev/null +++ b/systems/eldiron/websites/games/terraforming-mars/terraforming-mars.nix | |||
@@ -0,0 +1,39 @@ | |||
1 | { fetchgit, runCommand, callPackage, mylibs, nodePackages, nodejs_16, git }: | ||
2 | let | ||
3 | source = fetchgit { | ||
4 | url = "https://github.com/bafolts/terraforming-mars"; | ||
5 | rev = "25b3f80e276cc0c1fc283a78b6ae94b13c545ab6"; | ||
6 | sha256 = "03xcwvxv2mlmswngklzqp3lf30hgkvdilqq7p1z4h8xmy50cy12k"; | ||
7 | leaveDotGit = true; | ||
8 | fetchSubmodules = true; | ||
9 | }; | ||
10 | patchedSource = runCommand "patch-source" {} '' | ||
11 | cp -r ${source} $out | ||
12 | chmod -R u+w $out | ||
13 | sed -i -e 's/"lockfileVersion": 2,/"lockfileVersion": 1,/' $out/package-lock.json | ||
14 | ''; | ||
15 | packages = callPackage ./node-packages.nix { | ||
16 | src = patchedSource; | ||
17 | nodeEnv = callPackage mylibs.nodeEnv { nodejs = nodejs_16; }; | ||
18 | globalBuildInputs = [ nodejs_16.pkgs.node-pre-gyp ]; | ||
19 | }; | ||
20 | terraforming-mars = runCommand "terraforming-mars" { | ||
21 | buildInputs = [ nodejs_16 git ]; | ||
22 | } '' | ||
23 | cp -r ${source} ./source | ||
24 | chmod -R u+w source | ||
25 | cd source | ||
26 | patch -p1 < ${./immae-assets.patch} | ||
27 | ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules . | ||
28 | # See https://stackoverflow.com/questions/74548318/how-to-resolve-error-error0308010cdigital-envelope-routinesunsupported-no | ||
29 | export NODE_OPTIONS=--openssl-legacy-provider | ||
30 | npm run build | ||
31 | mkdir $out | ||
32 | cp -a build $out/ | ||
33 | cp -a assets $out/ | ||
34 | cp package.json $out/ | ||
35 | ln -s ${packages.package}/lib/node_modules/terraforming-mars/node_modules $out | ||
36 | ln -s /var/lib/terraforming-mars/db $out/db | ||
37 | ''; | ||
38 | in | ||
39 | terraforming-mars | ||
diff --git a/systems/eldiron/websites/git/cgit_js.html b/systems/eldiron/websites/git/cgit_js.html new file mode 100644 index 0000000..4101071 --- /dev/null +++ b/systems/eldiron/websites/git/cgit_js.html | |||
@@ -0,0 +1,16 @@ | |||
1 | <script src="https://assets.immae.eu/jquery/3.5.1/jquery.min.js"></script> | ||
2 | <script type="application/javascript"> | ||
3 | $(document).ready(function() { | ||
4 | const linksObject = { | ||
5 | "/github/fretlink": "Fretlink Open-source Github forks", | ||
6 | "/github": "Github forks", | ||
7 | "/perso/Denise": "Denise", | ||
8 | "/perso/Immae": "Immae", | ||
9 | } | ||
10 | function toRow(href, name) { | ||
11 | return `<a href='/cgit${href}'>${name}</a>`; | ||
12 | } | ||
13 | const links = Object.keys(linksObject).map(function(k) { return toRow(k, linksObject[k]); }).join(""); | ||
14 | $("table.tabs a.active[href='/cgit/']").after(links); | ||
15 | }); | ||
16 | </script> | ||
diff --git a/systems/eldiron/websites/git/default.nix b/systems/eldiron/websites/git/default.nix new file mode 100644 index 0000000..46ba34d --- /dev/null +++ b/systems/eldiron/websites/git/default.nix | |||
@@ -0,0 +1,98 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | mantisbt = pkgs.callPackage ./mantisbt.nix { | ||
4 | mantisbt_2 = pkgs.webapps-mantisbt_2; | ||
5 | mantisbt_2-plugins = pkgs.webapps-mantisbt_2-plugins; | ||
6 | env = config.myEnv.tools.mantisbt; | ||
7 | inherit config; | ||
8 | }; | ||
9 | gitweb = pkgs.callPackage ./gitweb.nix { | ||
10 | gitoliteDir = config.myServices.gitolite.gitoliteDir; | ||
11 | }; | ||
12 | |||
13 | cfg = config.myServices.websites.tools.git; | ||
14 | in { | ||
15 | options.myServices.websites.tools.git = { | ||
16 | enable = lib.mkEnableOption "enable git's website"; | ||
17 | }; | ||
18 | |||
19 | config = lib.mkIf cfg.enable { | ||
20 | myServices.chatonsProperties.services.mantisbt = { | ||
21 | file.datetime = "2022-08-21T10:08:00"; | ||
22 | service = { | ||
23 | name = "MantisBT"; | ||
24 | description = "Mantis Bug Tracker"; | ||
25 | website = "https://git.immae.eu/mantisbt"; | ||
26 | logo = "https://git.immae.eu/mantisbt/images/favicon.ico"; | ||
27 | status.level = "OK"; | ||
28 | status.description = "OK"; | ||
29 | registration."" = ["MEMBER" "CLIENT"]; | ||
30 | registration.load = "OPEN"; | ||
31 | install.type = "PACKAGE"; | ||
32 | guide.user = "https://www.immae.eu/docs/forge-logicielle.html"; | ||
33 | }; | ||
34 | software = { | ||
35 | name = "MantisBT"; | ||
36 | website = "https://mantisbt.org/"; | ||
37 | license.url = "https://opensource.org/licenses/gpl-license"; | ||
38 | license.name = "GNU General Public License"; | ||
39 | version = mantisbt.webRoot.version; | ||
40 | source.url = "https://github.com/mantisbt/mantisbt"; | ||
41 | modules = mantisbt.webRoot.pluginNames; | ||
42 | }; | ||
43 | }; | ||
44 | secrets.keys = mantisbt.keys; | ||
45 | services.websites.env.tools.modules = | ||
46 | gitweb.apache.modules ++ | ||
47 | mantisbt.apache.modules; | ||
48 | |||
49 | security.acme.certs.eldiron.extraDomainNames = [ "git.immae.eu" ]; | ||
50 | services.websites.env.tools.vhostConfs.git = { | ||
51 | certName = "eldiron"; | ||
52 | hosts = ["git.immae.eu" ]; | ||
53 | root = gitweb.apache.root; | ||
54 | extraConfig = [ | ||
55 | gitweb.apache.vhostConf | ||
56 | (mantisbt.apache.vhostConf config.services.phpfpm.pools.mantisbt.socket) | ||
57 | '' | ||
58 | RewriteEngine on | ||
59 | RewriteCond %{REQUEST_URI} ^/releases | ||
60 | RewriteRule /releases(.*) https://release.immae.eu$1 [P,L] | ||
61 | '' | ||
62 | ]; | ||
63 | }; | ||
64 | services.phpfpm.pools = { | ||
65 | mantisbt = { | ||
66 | user = config.services.websites.env.tools.user; | ||
67 | group = config.services.websites.env.tools.group; | ||
68 | settings = mantisbt.phpFpm.pool; | ||
69 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
70 | }; | ||
71 | }; | ||
72 | |||
73 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
74 | myServices.monitoring.fromMasterObjects.service = [ | ||
75 | { | ||
76 | service_description = "gitweb website is running on git.immae.eu"; | ||
77 | host_name = config.hostEnv.fqdn; | ||
78 | use = "external-web-service"; | ||
79 | check_command = ["check_https" "git.immae.eu" "/cgit" "<title>Immae’s git"]; | ||
80 | |||
81 | servicegroups = "webstatus-webapps"; | ||
82 | _webstatus_name = "Git"; | ||
83 | _webstatus_url = "https://git.immae.eu/"; | ||
84 | } | ||
85 | |||
86 | { | ||
87 | service_description = "mantisbt website is running on git.immae.eu"; | ||
88 | host_name = config.hostEnv.fqdn; | ||
89 | use = "external-web-service"; | ||
90 | check_command = ["check_https" "git.immae.eu" "/mantisbt/" "<title>My View - MantisBT"]; | ||
91 | |||
92 | servicegroups = "webstatus-webapps"; | ||
93 | _webstatus_name = "Mantisbt"; | ||
94 | _webstatus_url = "https://git.immae.eu/mantisbt"; | ||
95 | } | ||
96 | ]; | ||
97 | }; | ||
98 | } | ||
diff --git a/systems/eldiron/websites/git/gitweb.nix b/systems/eldiron/websites/git/gitweb.nix new file mode 100644 index 0000000..40f99e0 --- /dev/null +++ b/systems/eldiron/websites/git/gitweb.nix | |||
@@ -0,0 +1,124 @@ | |||
1 | { gitweb, writeText, stdenv, coreutils, writeScript, gitolite, git, cgit, gitoliteDir, mailcap, highlight }: | ||
2 | rec { | ||
3 | varDir = gitoliteDir; | ||
4 | config = writeText "gitweb.conf" '' | ||
5 | $git_temp = "/tmp"; | ||
6 | |||
7 | # The directories where your projects are. Must not end with a | ||
8 | # slash. | ||
9 | $projectroot = "${varDir}/repositories"; | ||
10 | |||
11 | $projects_list = "${varDir}/projects.list"; | ||
12 | $strict_export = "true"; | ||
13 | |||
14 | # Base URLs for links displayed in the web interface. | ||
15 | our @git_base_url_list = qw(ssh://gitolite@git.immae.eu https://git.immae.eu); | ||
16 | |||
17 | $feature{'blame'}{'default'} = [1]; | ||
18 | $feature{'avatar'}{'default'} = ['gravatar']; | ||
19 | $feature{'highlight'}{'default'} = [1]; | ||
20 | |||
21 | @stylesheets = ("gitweb-theme/gitweb.css"); | ||
22 | $logo = "gitweb-theme/git-logo.png"; | ||
23 | $favicon = "gitweb-theme/git-favicon.png"; | ||
24 | $javascript = "gitweb-theme/gitweb.js"; | ||
25 | $logo_url = "https://git.immae.eu/"; | ||
26 | $projects_list_group_categories = "true"; | ||
27 | $projects_list_description_width = 60; | ||
28 | $project_list_default_category = "__Others__"; | ||
29 | $highlight_bin = "${highlight}/bin/highlight"; | ||
30 | ''; | ||
31 | aboutFilter = writeScript "about-filter.sh" '' | ||
32 | #!${stdenv.shell} | ||
33 | |||
34 | if [ -f "$CGIT_REPO_PATH/README.html" ]; then | ||
35 | cat "$CGIT_REPO_PATH/README.html" | ||
36 | else | ||
37 | ${cgit}/lib/cgit/filters/about-formatting.sh "$@" | ||
38 | fi | ||
39 | ''; | ||
40 | cgitConfig = writeText "cgitrc" '' | ||
41 | css=/cgit-css/cgit.css | ||
42 | logo=/cgit-css/cgit.png | ||
43 | favicon=/cgit-css/favicon.ico | ||
44 | head-include=${./cgit_js.html} | ||
45 | |||
46 | root-title=Immae’s git | ||
47 | root-desc=To go back to the old interface: https://git.immae.eu/?old | ||
48 | readme=:README.md | ||
49 | readme=:readme.md | ||
50 | readme=:README | ||
51 | readme=:DOCUMENTATION.md | ||
52 | about-filter=${aboutFilter} | ||
53 | #${cgit}/lib/cgit/filters/about-formatting.sh | ||
54 | source-filter=${cgit}/lib/cgit/filters/syntax-highlighting.py | ||
55 | |||
56 | enable-blame=1 | ||
57 | enable-index-links=1 | ||
58 | enable-commit-graph=1 | ||
59 | enable-log-filecount=1 | ||
60 | enable-log-linecount=1 | ||
61 | |||
62 | enable-html-serving=1 | ||
63 | # Allow using gitweb.* keys | ||
64 | enable-git-config=1 | ||
65 | |||
66 | side-by-side-diffs=1 | ||
67 | snapshots=tar.gz tar.zst zip | ||
68 | mimetype-file=${mailcap}/etc/mime.types | ||
69 | |||
70 | section=__Others__ | ||
71 | clone-url=ssh://gitolite@git.immae.eu/$CGIT_REPO_URL https://git.immae.eu/$CGIT_REPO_URL | ||
72 | #section-from-path=1 | ||
73 | project-list=${varDir}/projects.list | ||
74 | scan-path=${varDir}/repositories | ||
75 | ''; | ||
76 | apache = rec { | ||
77 | user = "wwwrun"; | ||
78 | group = "wwwrun"; | ||
79 | modules = [ "cgid" ]; | ||
80 | root = gitweb; | ||
81 | vhostConf = '' | ||
82 | SetEnv GIT_PROJECT_ROOT ${varDir}/repositories/ | ||
83 | ScriptAliasMatch \ | ||
84 | "(?x)^/(.*/(HEAD | \ | ||
85 | info/refs | \ | ||
86 | objects/(info/[^/]+ | \ | ||
87 | [0-9a-f]{2}/[0-9a-f]{38} | \ | ||
88 | pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ | ||
89 | git-(upload|receive)-pack))$" \ | ||
90 | ${git}/libexec/git-core/git-http-backend/$1 | ||
91 | |||
92 | <Directory "${git}/libexec/git-core"> | ||
93 | Require all granted | ||
94 | </Directory> | ||
95 | <Directory "${root}"> | ||
96 | DirectoryIndex gitweb.cgi | ||
97 | Require all granted | ||
98 | AllowOverride None | ||
99 | Options ExecCGI FollowSymLinks | ||
100 | <Files gitweb.cgi> | ||
101 | SetHandler cgi-script | ||
102 | SetEnv GITWEB_CONFIG "${config}" | ||
103 | </Files> | ||
104 | </Directory> | ||
105 | |||
106 | SetEnv CGIT_CONFIG ${cgitConfig} | ||
107 | ScriptAlias /cgit "${cgit}/cgit/cgit.cgi/" | ||
108 | Alias /cgit-css "${cgit}/cgit" | ||
109 | <Directory "${cgit}/cgit/"> | ||
110 | AllowOverride None | ||
111 | Options ExecCGI FollowSymlinks | ||
112 | Require all granted | ||
113 | </Directory> | ||
114 | |||
115 | RewriteEngine On | ||
116 | RewriteCond %{QUERY_STRING} ^$ | ||
117 | RewriteRule ^/?$ /cgit [L,R=302] | ||
118 | |||
119 | RewriteCond %{REQUEST_URI} ^(.*)(\.git)?/?$ | ||
120 | RewriteCond ${varDir}/repositories/%1.git/HEAD -f | ||
121 | RewriteRule ^(.+)$ /cgit$1 [L,R=302] | ||
122 | ''; | ||
123 | }; | ||
124 | } | ||
diff --git a/systems/eldiron/websites/git/mantisbt.nix b/systems/eldiron/websites/git/mantisbt.nix new file mode 100644 index 0000000..3bd78e1 --- /dev/null +++ b/systems/eldiron/websites/git/mantisbt.nix | |||
@@ -0,0 +1,86 @@ | |||
1 | { env, mantisbt_2, mantisbt_2-plugins, config }: | ||
2 | rec { | ||
3 | keys."webapps/tools-mantisbt" = { | ||
4 | user = apache.user; | ||
5 | group = apache.group; | ||
6 | permissions = "0400"; | ||
7 | text = '' | ||
8 | <?php | ||
9 | $g_hostname = '${env.postgresql.socket}'; | ||
10 | $g_db_username = '${env.postgresql.user}'; | ||
11 | $g_db_password = '${env.postgresql.password}'; | ||
12 | $g_database_name = '${env.postgresql.database}'; | ||
13 | $g_db_type = 'pgsql'; | ||
14 | $g_crypto_master_salt = '${env.master_salt}'; | ||
15 | $g_allow_signup = OFF; | ||
16 | $g_allow_anonymous_login = ON; | ||
17 | $g_anonymous_account = 'anonymous'; | ||
18 | |||
19 | $g_phpMailer_method = PHPMAILER_METHOD_SENDMAIL; | ||
20 | $g_smtp_host = 'localhost'; | ||
21 | $g_smtp_username = '''; | ||
22 | $g_smtp_password = '''; | ||
23 | $g_webmaster_email = 'mantisbt@tools.immae.eu'; | ||
24 | $g_from_email = 'mantisbt@tools.immae.eu'; | ||
25 | $g_return_path_email = 'mantisbt@tools.immae.eu'; | ||
26 | $g_from_name = 'Mantis Bug Tracker at git.immae.eu'; | ||
27 | $g_email_receive_own = ON; | ||
28 | # --- LDAP --- | ||
29 | $g_login_method = LDAP; | ||
30 | $g_ldap_protocol_version = 3; | ||
31 | $g_ldap_server = 'ldaps://${env.ldap.host}:636'; | ||
32 | $g_ldap_root_dn = 'ou=users,${env.ldap.base}'; | ||
33 | $g_ldap_bind_dn = '${env.ldap.dn}'; | ||
34 | $g_ldap_bind_passwd = '${env.ldap.password}'; | ||
35 | $g_use_ldap_email = ON; | ||
36 | $g_use_ldap_realname = ON; | ||
37 | $g_ldap_uid_field = 'uid'; | ||
38 | $g_ldap_realname_field = 'cn'; | ||
39 | $g_ldap_organization = '${env.ldap.filter}'; | ||
40 | ''; | ||
41 | }; | ||
42 | webRoot = (mantisbt_2.override { mantis_config = config.secrets.fullPaths."webapps/tools-mantisbt"; }).withPlugins (p: [p.slack p.source-integration]); | ||
43 | apache = rec { | ||
44 | user = "wwwrun"; | ||
45 | group = "wwwrun"; | ||
46 | modules = [ "proxy_fcgi" ]; | ||
47 | root = webRoot; | ||
48 | vhostConf = socket: '' | ||
49 | Alias /mantisbt "${root}" | ||
50 | <Directory "${root}"> | ||
51 | DirectoryIndex index.php | ||
52 | <FilesMatch "\.php$"> | ||
53 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
54 | </FilesMatch> | ||
55 | |||
56 | AllowOverride All | ||
57 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
58 | Options FollowSymlinks | ||
59 | Require all granted | ||
60 | </Directory> | ||
61 | <Directory "${root}/admin"> | ||
62 | #Reenable during upgrade | ||
63 | Require all denied | ||
64 | </Directory> | ||
65 | ''; | ||
66 | }; | ||
67 | phpFpm = rec { | ||
68 | serviceDeps = [ "postgresql.service" "openldap.service" ]; | ||
69 | basedir = builtins.concatStringsSep ":" ( | ||
70 | [ webRoot config.secrets.fullPaths."webapps/tools-mantisbt" ] | ||
71 | ++ webRoot.plugins); | ||
72 | pool = { | ||
73 | "listen.owner" = apache.user; | ||
74 | "listen.group" = apache.group; | ||
75 | "pm" = "ondemand"; | ||
76 | "pm.max_children" = "60"; | ||
77 | "pm.process_idle_timeout" = "60"; | ||
78 | |||
79 | "php_admin_value[upload_max_filesize]" = "5000000"; | ||
80 | |||
81 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
82 | "php_admin_value[session.save_handler]" = "redis"; | ||
83 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:MantisBT:'"; | ||
84 | }; | ||
85 | }; | ||
86 | } | ||
diff --git a/systems/eldiron/websites/im/default.nix b/systems/eldiron/websites/im/default.nix new file mode 100644 index 0000000..7755a5c --- /dev/null +++ b/systems/eldiron/websites/im/default.nix | |||
@@ -0,0 +1,118 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.im; | ||
4 | converseVersion = "9.1.1"; | ||
5 | www = pkgs.runCommand "www" {} '' | ||
6 | cp -a ${./www} $out | ||
7 | substituteInPlace $out/converse.html --replace {{converseVersion}} ${converseVersion} | ||
8 | ''; | ||
9 | in | ||
10 | { | ||
11 | options.myServices.websites.tools.im = { | ||
12 | enable = lib.mkEnableOption "enable im website"; | ||
13 | }; | ||
14 | |||
15 | config = lib.mkIf cfg.enable { | ||
16 | myServices.chatonsProperties.services.converse = { | ||
17 | file.datetime = "2022-08-21T19:20:00"; | ||
18 | service = { | ||
19 | name = "Converse"; | ||
20 | description = "A free and open-source XMPP chat client in your browser"; | ||
21 | website = "https://im.immae.fr/converse"; | ||
22 | logo = "https://conversejs.org/docs/html/_static/favicon.ico"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration."" = ["NONE" "FREE"]; | ||
26 | registration.load = "OPEN"; | ||
27 | install.type = "PACKAGE"; | ||
28 | }; | ||
29 | software = { | ||
30 | name = "Converse"; | ||
31 | website = "https://conversejs.org/"; | ||
32 | license.name = "Mozilla Public License 2.0"; | ||
33 | license.url = "https://github.com/conversejs/converse.js/blob/master/LICENSE"; | ||
34 | version = "9.1.1"; | ||
35 | source.url = "https://github.com/conversejs/converse.js"; | ||
36 | }; | ||
37 | }; | ||
38 | myServices.chatonsProperties.services.weechat-bridge = { | ||
39 | file.datetime = "2022-08-21T19:20:00"; | ||
40 | service = { | ||
41 | name = "Weechat bridge"; | ||
42 | description = "WeeChat web frontend"; | ||
43 | website = "https://im.immae.fr/glowing-bear"; | ||
44 | logo = "https://im.immae.fr/glowing-bear/assets/img/glowing_bear_128x128.png"; | ||
45 | status.level = "OK"; | ||
46 | status.description = "OK"; | ||
47 | registration."" = ["NONE" "FREE"]; | ||
48 | registration.load = "OPEN"; | ||
49 | install.type = "PACKAGE"; | ||
50 | }; | ||
51 | software = { | ||
52 | name = "Glowing bear"; | ||
53 | website = "https://www.ejabberd.im/"; | ||
54 | license.name = "GNU General Public License v3.0"; | ||
55 | license.url = "https://github.com/processone/ejabberd"; | ||
56 | version = pkgs.glowing-bear.version; | ||
57 | source.url = "https://github.com/glowing-bear/glowing-bear"; | ||
58 | }; | ||
59 | }; | ||
60 | myServices.chatonsProperties.services.xmpp = { | ||
61 | file.datetime = "2022-08-21T19:20:00"; | ||
62 | service = { | ||
63 | name = "XMPP"; | ||
64 | description = "Universal messaging standard"; | ||
65 | website = "https://im.immae.fr/"; | ||
66 | logo = "https://xmpp.org/favicon-32x32.png"; | ||
67 | status.level = "OK"; | ||
68 | status.description = "OK"; | ||
69 | registration."" = ["MEMBER" "CLIENT"]; | ||
70 | registration.load = "OPEN"; | ||
71 | install.type = "PACKAGE"; | ||
72 | }; | ||
73 | software = { | ||
74 | name = "ejabberd"; | ||
75 | website = "https://www.ejabberd.im/"; | ||
76 | license.url = "https://github.com/processone/ejabberd/blob/master/COPYING"; | ||
77 | license.name = "GNU GENERAL PUBLIC LICENSE Version 2"; | ||
78 | version = pkgs.ejabberd.version; | ||
79 | source.url = "https://github.com/processone/ejabberd"; | ||
80 | modules = "converse"; | ||
81 | }; | ||
82 | }; | ||
83 | security.acme.certs.eldiron.extraDomainNames = [ "im.immae.fr" ]; | ||
84 | services.websites.env.tools.vhostConfs.im = { | ||
85 | certName = "eldiron"; | ||
86 | hosts = ["im.immae.fr"]; | ||
87 | root = www; | ||
88 | extraConfig = [ | ||
89 | '' | ||
90 | Alias /glowing-bear ${pkgs.glowing-bear} | ||
91 | Alias /converse ${www}/converse.html | ||
92 | ProxyPreserveHost On | ||
93 | <Location "/bosh"> | ||
94 | ProxyPass http://localhost:5280/bosh | ||
95 | ProxyPassReverse http://localhost:5280/bosh | ||
96 | </Location> | ||
97 | <Location "/ws"> | ||
98 | ProxyPass ws://localhost:5280/ws | ||
99 | </Location> | ||
100 | ProxyPass /upload http://localhost:5280/upload | ||
101 | ProxyPassReverse /upload http://localhost:5280/upload | ||
102 | ProxyPass /admin http://localhost:5280/admin | ||
103 | ProxyPassReverse /admin http://localhost:5280/admin | ||
104 | ProxyPass /api http://localhost:5280/api | ||
105 | ProxyPassReverse /api http://localhost:5280/api | ||
106 | <Directory ${pkgs.glowing-bear}> | ||
107 | AllowOverride none | ||
108 | Require all granted | ||
109 | </Directory> | ||
110 | <Directory ${www}> | ||
111 | Require all granted | ||
112 | AllowOverride none | ||
113 | </Directory> | ||
114 | '' | ||
115 | ]; | ||
116 | }; | ||
117 | }; | ||
118 | } | ||
diff --git a/systems/eldiron/websites/im/www/converse.html b/systems/eldiron/websites/im/www/converse.html new file mode 100644 index 0000000..4ca451d --- /dev/null +++ b/systems/eldiron/websites/im/www/converse.html | |||
@@ -0,0 +1,57 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html lang="en"> | ||
3 | <head> | ||
4 | <title>Converse</title> | ||
5 | <meta charset="utf-8"> | ||
6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | ||
7 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||
8 | <meta name="description" content="Converse: An XMPP chat client which can be integrated into any website" /> | ||
9 | <meta name="keywords" content="xmpp chat webchat converse.js Converse" /> | ||
10 | |||
11 | <link type="text/css" rel="stylesheet" media="screen" href="https://assets.immae.eu/converse/{{converseVersion}}/dist/converse.min.css" /> | ||
12 | <style type="text/css"> | ||
13 | #conversejs div.chat-msg__text pre { | ||
14 | background-color: #eee; | ||
15 | padding: 10px; | ||
16 | } | ||
17 | </style> | ||
18 | <script src="https://assets.immae.eu/converse/{{converseVersion}}/3rdparty/libsignal-protocol.min.js"></script> | ||
19 | <script src="https://assets.immae.eu/converse/{{converseVersion}}/dist/converse.min.js"></script> | ||
20 | <script src="https://assets.immae.eu/marked/1.2.6/marked.min.js"></script> | ||
21 | <script src="https://assets.immae.eu/markdown-it/10.0.0/markdown-it.min.js"></script> | ||
22 | </head> | ||
23 | <body> | ||
24 | <script> | ||
25 | var md = window.markdownit({ | ||
26 | html: true, | ||
27 | }); | ||
28 | converse.plugins.add('markdown', { | ||
29 | //initialize () { | ||
30 | // const { _converse } = this; | ||
31 | // _converse.api.listen.on('afterMessageBodyTransformed', (view, text) => { | ||
32 | // let newtext = text.replace(/<br\/>/g, '\n').replace(/```/g, "\n```\n"); | ||
33 | // newtext = md.render(newtext).replace(/^<p>/, "").replace(/<\/p>\s*$/, ""); | ||
34 | // view.model.save({'message': newtext}, {'silent': true }); | ||
35 | // }); | ||
36 | //} | ||
37 | overrides: { | ||
38 | MessageView: { | ||
39 | transformBodyText: async function(text) { | ||
40 | let newtext = await this.__super__.transformBodyText.apply(this, arguments); | ||
41 | newtext = newtext.replace(/<br\/>/g, '\n').replace(/```/g, "\n```\n"); | ||
42 | return md.render(newtext).replace(/^<p>/, "").replace(/<\/p>\s*$/, ""); | ||
43 | } | ||
44 | } | ||
45 | } | ||
46 | }); | ||
47 | converse.initialize({ | ||
48 | //bosh_service_url: 'https://im.immae.fr/bosh', | ||
49 | websocket_url: 'wss://im.immae.fr/ws', | ||
50 | view_mode: 'fullscreen', | ||
51 | show_controlbox_by_default: true, | ||
52 | whitelisted_plugins: ['markdown'], | ||
53 | }); | ||
54 | </script> | ||
55 | </body> | ||
56 | </html> | ||
57 | |||
diff --git a/systems/eldiron/websites/im/www/index.html b/systems/eldiron/websites/im/www/index.html new file mode 100644 index 0000000..90c5458 --- /dev/null +++ b/systems/eldiron/websites/im/www/index.html | |||
@@ -0,0 +1,47 @@ | |||
1 | <!doctype html> | ||
2 | <html lang="fr"> | ||
3 | <head> | ||
4 | <meta charset="UTF-8"> | ||
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
6 | <title>Instant messaging configuration (Jabber/XMPP)</title> | ||
7 | <style type="text/css"> | ||
8 | body { | ||
9 | padding-top: 1em; | ||
10 | padding-left: 5px; | ||
11 | padding-right: 5px; | ||
12 | text-align: left; | ||
13 | margin: auto; | ||
14 | font: 20px Helvetica, sans-serif; | ||
15 | color: #333; | ||
16 | height: 100%; | ||
17 | min-height: 100%; | ||
18 | } | ||
19 | article { | ||
20 | text-align: justify; | ||
21 | display: block; | ||
22 | max-width: 850px; | ||
23 | margin: 0 auto; | ||
24 | padding-top: 30px; | ||
25 | } | ||
26 | span.code { | ||
27 | font-family: monospace; | ||
28 | } | ||
29 | </style> | ||
30 | </head> | ||
31 | <body> | ||
32 | <p> | ||
33 | Pre-configured clients: | ||
34 | <ul> | ||
35 | <li><a href="converse">Converse client</a></li> | ||
36 | <li><a href="glowing-bear">Weechat relay client</a></li> | ||
37 | </ul> | ||
38 | </p> | ||
39 | <p> | ||
40 | Technical details: | ||
41 | <ul> | ||
42 | <li>HTTP-bind/BOSH access (XEP-0124 / XEP-0206): <span class="code">https://im.immae.fr/bosh</span></li> | ||
43 | <li>WS access (RFC 7395): <span class="code">wss://im.immae.fr/ws</span></li> | ||
44 | </ul> | ||
45 | </p> | ||
46 | </body> | ||
47 | </html> | ||
diff --git a/systems/eldiron/websites/immae/matrix/client b/systems/eldiron/websites/immae/matrix/client new file mode 100644 index 0000000..89136a0 --- /dev/null +++ b/systems/eldiron/websites/immae/matrix/client | |||
@@ -0,0 +1,11 @@ | |||
1 | { | ||
2 | "m.homeserver": { | ||
3 | "base_url": "https://immae.ems.host" | ||
4 | }, | ||
5 | "m.identity_server": { | ||
6 | "base_url": "https://vector.im" | ||
7 | }, | ||
8 | "org.matrix.msc3575.proxy": { | ||
9 | "url": "https://immae.ems.host" | ||
10 | } | ||
11 | } | ||
diff --git a/systems/eldiron/websites/immae/matrix/server b/systems/eldiron/websites/immae/matrix/server new file mode 100644 index 0000000..449155a --- /dev/null +++ b/systems/eldiron/websites/immae/matrix/server | |||
@@ -0,0 +1,3 @@ | |||
1 | { | ||
2 | "m.server": "immae.ems.host:443" | ||
3 | } | ||
diff --git a/systems/eldiron/websites/immae/production.nix b/systems/eldiron/websites/immae/production.nix new file mode 100644 index 0000000..e4060ba --- /dev/null +++ b/systems/eldiron/websites/immae/production.nix | |||
@@ -0,0 +1,107 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.immae.production; | ||
4 | varDir = "/var/lib/buildbot/outputs/immae/blog"; | ||
5 | historyDir = "/var/lib/buildbot/outputs/immae/history"; | ||
6 | docsDir = "/var/lib/buildbot/outputs/immae/docs/"; | ||
7 | in { | ||
8 | options.myServices.websites.immae.production.enable = lib.mkEnableOption "enable Immae's website"; | ||
9 | |||
10 | config = lib.mkIf cfg.enable { | ||
11 | myServices.dns.zones."immae.eu".subdomains = with config.myServices.dns.helpers; | ||
12 | { | ||
13 | www = ips servers.eldiron.ips.production; | ||
14 | matrix.CNAME = [ "immae.element.io." ]; | ||
15 | }; | ||
16 | services.webstats.sites = [ { name = "www.immae.eu"; } ]; | ||
17 | |||
18 | security.acme.certs.immae.domain = "www.immae.eu"; | ||
19 | security.acme.certs.immae.extraDomainNames = [ "immae.eu" ]; | ||
20 | services.websites.env.production.bindMounts."${varDir}" = {}; | ||
21 | services.websites.env.production.bindMounts."${docsDir}" = {}; | ||
22 | services.websites.env.production.bindMounts."${historyDir}" = {}; | ||
23 | services.websites.env.production.vhostConfs.immae_production = { | ||
24 | certName = "immae"; | ||
25 | hosts = [ "www.immae.eu" "immae.eu" ]; | ||
26 | root = varDir; | ||
27 | extraConfig = [ | ||
28 | '' | ||
29 | Use Stats www.immae.eu | ||
30 | Header always set Strict-Transport-Security "max-age=31536000" | ||
31 | |||
32 | <LocationMatch /.well-known/(webfinger|host-meta)> | ||
33 | Header always set Referrer-Policy "strict-origin-when-cross-origin" | ||
34 | RequestHeader set X-Forwarded-Proto "https" | ||
35 | |||
36 | RewriteRule ^(.*)$ https://mastodon.immae.eu%{REQUEST_URI} [QSA,L] | ||
37 | </LocationMatch> | ||
38 | |||
39 | RewriteEngine On | ||
40 | RewriteCond "%{REQUEST_URI}" "!^/.well-known/(webfinger|host-meta)" | ||
41 | RewriteCond "%{HTTP_HOST}" "!^www\.immae\.eu$" [NC] | ||
42 | RewriteRule ^(.+)$ https://www.immae.eu$1 [R=302,L] | ||
43 | |||
44 | <Directory ${varDir}> | ||
45 | DirectoryIndex index.htm index.html | ||
46 | Options Indexes FollowSymLinks MultiViews Includes | ||
47 | AllowOverride All | ||
48 | Require all granted | ||
49 | </Directory> | ||
50 | |||
51 | Alias /.well-known/matrix ${./matrix} | ||
52 | <Directory ${./matrix}> | ||
53 | Options Indexes FollowSymLinks MultiViews Includes | ||
54 | AllowOverride None | ||
55 | Require all granted | ||
56 | Header always set Access-Control-Allow-Origin "*" | ||
57 | </Directory> | ||
58 | |||
59 | Alias /docs ${docsDir} | ||
60 | <Directory ${docsDir}> | ||
61 | DirectoryIndex index.htm index.html | ||
62 | Options Indexes FollowSymLinks MultiViews Includes | ||
63 | AllowOverride All | ||
64 | Require all granted | ||
65 | </Directory> | ||
66 | |||
67 | Alias /eurl ${./sarl} | ||
68 | Alias /eurl ${./sarl} | ||
69 | <Directory ${./sarl}> | ||
70 | DirectoryIndex index.htm index.html | ||
71 | Options Indexes FollowSymLinks MultiViews Includes | ||
72 | AllowOverride None | ||
73 | Require all granted | ||
74 | </Directory> | ||
75 | |||
76 | Alias /history ${historyDir} | ||
77 | <Directory ${historyDir}> | ||
78 | DirectoryIndex index.html | ||
79 | AllowOverride None | ||
80 | Require all granted | ||
81 | </Directory> | ||
82 | |||
83 | Alias /.well-known/chatonsinfos ${config.myServices.chatonsProperties.propertiesPath} | ||
84 | <Directory ${config.myServices.chatonsProperties.propertiesPath}> | ||
85 | Options Indexes FollowSymLinks MultiViews Includes | ||
86 | AllowOverride None | ||
87 | Require all granted | ||
88 | </Directory> | ||
89 | '' | ||
90 | ]; | ||
91 | }; | ||
92 | |||
93 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
94 | myServices.monitoring.fromMasterObjects.service = [ | ||
95 | { | ||
96 | service_description = "blog website is running on immae.eu"; | ||
97 | host_name = config.hostEnv.fqdn; | ||
98 | use = "external-web-service"; | ||
99 | check_command = ["check_https" "www.immae.eu" "/blog/" "egrep -ri TODO /etc"]; | ||
100 | |||
101 | servicegroups = "webstatus-websites"; | ||
102 | _webstatus_name = "Immae’s Blog"; | ||
103 | _webstatus_url = "https://www.immae.eu/blog"; | ||
104 | } | ||
105 | ]; | ||
106 | }; | ||
107 | } | ||
diff --git a/systems/eldiron/websites/immae/release.nix b/systems/eldiron/websites/immae/release.nix new file mode 100644 index 0000000..4882bac --- /dev/null +++ b/systems/eldiron/websites/immae/release.nix | |||
@@ -0,0 +1,40 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.immae.release; | ||
4 | varDir = "/var/lib/ftp/release.immae.eu"; | ||
5 | in { | ||
6 | options.myServices.websites.immae.release.enable = lib.mkEnableOption "enable Release' website"; | ||
7 | |||
8 | config = lib.mkIf cfg.enable { | ||
9 | myServices.dns.zones."immae.eu".subdomains.release = with config.myServices.dns.helpers; | ||
10 | ips servers.eldiron.ips.production; | ||
11 | services.webstats.sites = [ { name = "release.immae.eu"; } ]; | ||
12 | |||
13 | security.acme.certs.immae.extraDomainNames = [ "release.immae.eu" ]; | ||
14 | services.websites.env.production.vhostConfs.immae_release = { | ||
15 | certName = "immae"; | ||
16 | hosts = [ "release.immae.eu" ]; | ||
17 | root = varDir; | ||
18 | extraConfig = [ | ||
19 | '' | ||
20 | Use Stats release.immae.eu | ||
21 | |||
22 | Use Apaxy "${varDir}" "title .duplicity-ignore" | ||
23 | <Directory "${varDir}"> | ||
24 | Use LDAPConnect | ||
25 | Options Indexes | ||
26 | AllowOverride All | ||
27 | Require all granted | ||
28 | </Directory> | ||
29 | |||
30 | <Directory "${varDir}/packages"> | ||
31 | Use LDAPConnect | ||
32 | Options Indexes FollowSymlinks | ||
33 | AllowOverride None | ||
34 | Require all granted | ||
35 | </Directory> | ||
36 | '' | ||
37 | ]; | ||
38 | }; | ||
39 | }; | ||
40 | } | ||
diff --git a/systems/eldiron/websites/immae/sarl/certificates/2021-certificate.crt b/systems/eldiron/websites/immae/sarl/certificates/2021-certificate.crt new file mode 100644 index 0000000..671534c --- /dev/null +++ b/systems/eldiron/websites/immae/sarl/certificates/2021-certificate.crt | |||
@@ -0,0 +1,23 @@ | |||
1 | -----BEGIN CERTIFICATE----- | ||
2 | MIIDyzCCArOgAwIBAgIUXNW7Lmte+fa5YxI7Gdznl7ZaLPIwDQYJKoZIhvcNAQEL | ||
3 | BQAwdTELMAkGA1UEBhMCRlIxGDAWBgNVBAgMD0FscGVzLU1hcml0aW1lczEPMA0G | ||
4 | A1UEBwwGR3Jhc3NlMRUwEwYDVQQKDAxJbW1hZUV1IEVVUkwxJDAiBgkqhkiG9w0B | ||
5 | CQEWFWNvbnRhY3RAbWFpbC5pbW1hZS5ldTAeFw0yMTAxMTkwMDI5MDlaFw0yMjAx | ||
6 | MTkwMDI5MDlaMHUxCzAJBgNVBAYTAkZSMRgwFgYDVQQIDA9BbHBlcy1NYXJpdGlt | ||
7 | ZXMxDzANBgNVBAcMBkdyYXNzZTEVMBMGA1UECgwMSW1tYWVFdSBFVVJMMSQwIgYJ | ||
8 | KoZIhvcNAQkBFhVjb250YWN0QG1haWwuaW1tYWUuZXUwggEiMA0GCSqGSIb3DQEB | ||
9 | AQUAA4IBDwAwggEKAoIBAQDeyWKvTu2kuJ2HSgRzZZL6yFNHUXGgcl/q8vlRKFI4 | ||
10 | P0yHwcEwDCaCXquqS09WN99H55aNTjHfnu70dZXogyWHGk4vlaUkGiUoCAYK5tFU | ||
11 | 34fzpZuInhBL8nRY0pRV4H2t02jQMyiYowZXTqR86BRocbXZ4TY5EwD/hlrH6iDc | ||
12 | pIlC7cVnWV4J5qXX9fXALbpXseD9PF0/y2tP5dM658jBL9KdW1PqlPGudvB44Z+a | ||
13 | pE8XCXF9PGrVBNN7aPmizOb42scx/2XghX1DYCikiUf8m+FGjidxGlXmj4B6Dukp | ||
14 | b7RxdkY7p97svH91uMQuUvDW5d93ZiatHNeYuAl8yI39AgMBAAGjUzBRMB0GA1Ud | ||
15 | DgQWBBSgsFwzEybKyLF/Bkuz7FA5SwfwPTAfBgNVHSMEGDAWgBSgsFwzEybKyLF/ | ||
16 | Bkuz7FA5SwfwPTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDX | ||
17 | Wij/gDT+7N/pSSVWImiYoe+/KsAJd0TLs39GJkvW0114RXKINYNU8exNY7rKMVCl | ||
18 | TKePEevSo5CCartNfLXGIr3uqPlR+V3XF6KmyMSiB6k+GukoUtUg2Bp7ESGlpZXi | ||
19 | wkHYclk0NIzxWyUrzNdflxu3gPU278qFMbUIlbdWNsHtrLbpHypelPQ+IaEbNoWV | ||
20 | Q+M8Vg6ifsDmhp7TqFXpIoGa6CIxXuknDOidBpeE9kPjVu0kKrjXQULirNl3eEe6 | ||
21 | H1XUQ7lSdt/l3N1cHTj70x2xIi6fdwPQRqhXILrIuST+C0wpPiqPCv1rfcwh0PvU | ||
22 | mZVZ/+83y3Zuo9lVqkbB | ||
23 | -----END CERTIFICATE----- | ||
diff --git a/systems/eldiron/websites/kanboard/farm.nix b/systems/eldiron/websites/kanboard/farm.nix new file mode 100644 index 0000000..a70d0d6 --- /dev/null +++ b/systems/eldiron/websites/kanboard/farm.nix | |||
@@ -0,0 +1,183 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.tools.kanboard.farm; | ||
4 | apacheUser = config.services.websites.env.tools.user; | ||
5 | apacheGroup = config.services.websites.env.tools.group; | ||
6 | toVardir = name: "/var/lib/kanboard_farm/${name}"; | ||
7 | varDirs = lib.mapAttrsToList (name: v: toVardir name) cfg.instances; | ||
8 | toPhpBaseDir = name: [ rootDir (toVardir name) ]; | ||
9 | phpBaseDir = builtins.concatStringsSep ":" (lib.unique (lib.flatten (lib.mapAttrsToList (name: v: toPhpBaseDir name) cfg.instances))); | ||
10 | rootDir = pkgs.kanboard; | ||
11 | |||
12 | toVhost = name: '' | ||
13 | Alias /${name} "${rootDir}" | ||
14 | <Location /${name}> | ||
15 | SetEnv DATA_DIR "${toVardir name}" | ||
16 | SetEnv MAIL_FROM "kanboard@tools.immae.eu" | ||
17 | </Location> | ||
18 | ''; | ||
19 | toCustomVhost = name: lib.optionalAttrs (cfg.instances."${name}".customHost != null) { | ||
20 | "kanboard_farm_${name}" = { | ||
21 | certName = "eldiron"; | ||
22 | hosts = [cfg.instances."${name}".customHost]; | ||
23 | root = null; | ||
24 | extraConfig = [ | ||
25 | '' | ||
26 | Alias / "${rootDir}" | ||
27 | <Location /> | ||
28 | SetEnv DATA_DIR "${toVardir name}" | ||
29 | SetEnv MAIL_FROM "kanboard@tools.immae.eu" | ||
30 | </Location> | ||
31 | <Directory "${rootDir}"> | ||
32 | DirectoryIndex index.php | ||
33 | AllowOverride All | ||
34 | Options FollowSymlinks | ||
35 | Require all granted | ||
36 | |||
37 | <FilesMatch "\.php$"> | ||
38 | SetHandler "proxy:unix:${config.services.phpfpm.pools.kanboard_farm.socket}|fcgi://localhost" | ||
39 | </FilesMatch> | ||
40 | </Directory> | ||
41 | <DirectoryMatch "${rootDir}/data"> | ||
42 | Require all denied | ||
43 | </DirectoryMatch> | ||
44 | '' | ||
45 | ]; | ||
46 | }; | ||
47 | }; | ||
48 | customHosts = lib.filter (n: n != null) (map (n: cfg.instances."${n}".customHost) (builtins.attrNames cfg.instances)); | ||
49 | customVhosts = lib.foldl (o: n: o // n) {} (map toCustomVhost (builtins.attrNames cfg.instances)); | ||
50 | phpPackage = pkgs.php74.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
51 | in | ||
52 | { | ||
53 | options.myServices.tools.kanboard.farm = { | ||
54 | instances = lib.mkOption { | ||
55 | description = "Instances names for the kanboard Farm"; | ||
56 | default = {}; | ||
57 | type = lib.types.attrsOf (lib.types.submodule { | ||
58 | options = { | ||
59 | customHost = lib.mkOption { | ||
60 | description = "Custom host to use for the kanboard instance"; | ||
61 | default = null; | ||
62 | type = lib.types.nullOr lib.types.str; | ||
63 | }; | ||
64 | }; | ||
65 | }); | ||
66 | }; | ||
67 | vhosts = lib.mkOption { | ||
68 | description = "Instance vhosts configs"; | ||
69 | readOnly = true; | ||
70 | type = lib.types.attrsOf lib.types.str; | ||
71 | default = lib.mapAttrs (name: v: toVhost name) cfg.instances; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | config = lib.mkIf (builtins.length (builtins.attrNames cfg.instances) > 0) { | ||
76 | myServices.dns.zones."immae.eu".subdomains.kanboard = | ||
77 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
78 | |||
79 | myServices.chatonsProperties.hostings.kanboard = { | ||
80 | file.datetime = "2022-08-21T19:40:00"; | ||
81 | hosting = { | ||
82 | name = "Kanboard"; | ||
83 | description = "Kanban project management software"; | ||
84 | website = "https://tools.immae.eu/kanboard"; | ||
85 | logo = "https://tools.immae.eu/kanboard/assets/img/favicon.png"; | ||
86 | type = "INSTANCE"; | ||
87 | status.level = "OK"; | ||
88 | status.description = "OK"; | ||
89 | registration.load = "OPEN"; | ||
90 | install.type = "PACKAGE"; | ||
91 | }; | ||
92 | }; | ||
93 | myServices.chatonsProperties.services.kanboard = { | ||
94 | file.datetime = "2022-08-21T19:40:00"; | ||
95 | service = { | ||
96 | name = "Kanboard"; | ||
97 | description = "Kanban project management software"; | ||
98 | website = "https://tools.immae.eu/kanboard"; | ||
99 | logo = "https://tools.immae.eu/kanboard/assets/img/favicon.png"; | ||
100 | status.level = "OK"; | ||
101 | status.description = "OK"; | ||
102 | registration."" = ["MEMBER" "CLIENT"]; | ||
103 | registration.load = "OPEN"; | ||
104 | install.type = "PACKAGE"; | ||
105 | }; | ||
106 | software = { | ||
107 | name = "Kanboard"; | ||
108 | website = "https://kanboard.org/"; | ||
109 | license.url = "https://github.com/kanboard/kanboard/blob/main/LICENSE"; | ||
110 | license.name = "MIT License"; | ||
111 | version = pkgs.kanboard.version; | ||
112 | source.url = "https://github.com/kanboard/kanboard"; | ||
113 | }; | ||
114 | }; | ||
115 | system.activationScripts.kanboard_farm_vardirs = { | ||
116 | deps = [ "httpd" ]; | ||
117 | text = '' | ||
118 | install -m 0755 -o ${apacheUser} -g ${apacheGroup} -d ${builtins.concatStringsSep " " varDirs} | ||
119 | ''; | ||
120 | }; | ||
121 | services.phpfpm.pools.kanboard_farm = { | ||
122 | user = apacheUser; | ||
123 | group = apacheGroup; | ||
124 | settings = let | ||
125 | instanceNb = builtins.length (builtins.attrNames cfg.instances); | ||
126 | in { | ||
127 | "listen.owner" = apacheUser; | ||
128 | "listen.group" = apacheGroup; | ||
129 | "pm" = "dynamic"; | ||
130 | "pm.max_children" = builtins.toString (60 * instanceNb); | ||
131 | "pm.start_servers" = builtins.toString (2 * instanceNb); | ||
132 | "pm.min_spare_servers" = builtins.toString (2 * instanceNb); | ||
133 | "pm.max_spare_servers" = builtins.toString (3 * instanceNb); | ||
134 | "pm.process_idle_timeout" = "60"; | ||
135 | |||
136 | "php_admin_value[output_buffering]" = "0"; | ||
137 | "php_admin_value[max_execution_time]" = "1800"; | ||
138 | "php_admin_value[zend_extension]" = "opcache"; | ||
139 | "php_value[apcu.enable_cli]" = "1"; | ||
140 | "php_value[apcu.enabled]" = "1"; | ||
141 | #already enabled by default? | ||
142 | #"php_value[opcache.enable]" = "1"; | ||
143 | "php_value[opcache.enable_cli]" = "1"; | ||
144 | "php_value[opcache.interned_strings_buffer]" = "8"; | ||
145 | "php_value[opcache.max_accelerated_files]" = "10000"; | ||
146 | "php_value[opcache.memory_consumption]" = "128"; | ||
147 | "php_value[opcache.save_comments]" = "1"; | ||
148 | "php_value[opcache.revalidate_freq]" = "1"; | ||
149 | "php_admin_value[memory_limit]" = "512M"; | ||
150 | |||
151 | "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${phpBaseDir}:/proc/meminfo:/dev/urandom:/proc/self/fd:/tmp"; | ||
152 | "php_admin_value[session.save_handler]" = "redis"; | ||
153 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:KanboardFarm:'"; | ||
154 | }; | ||
155 | inherit phpPackage; | ||
156 | }; | ||
157 | security.acme.certs.eldiron.extraDomainNames = customHosts ++ [ "kanboard.immae.eu" ]; | ||
158 | services.websites.env.tools.vhostConfs = { | ||
159 | kanboard = { | ||
160 | certName = "eldiron"; | ||
161 | hosts = ["kanboard.immae.eu"]; | ||
162 | root = null; | ||
163 | extraConfig = [ | ||
164 | '' | ||
165 | <Directory "${rootDir}"> | ||
166 | DirectoryIndex index.php | ||
167 | AllowOverride All | ||
168 | Options FollowSymlinks | ||
169 | Require all granted | ||
170 | |||
171 | <FilesMatch "\.php$"> | ||
172 | SetHandler "proxy:unix:${config.services.phpfpm.pools.kanboard_farm.socket}|fcgi://localhost" | ||
173 | </FilesMatch> | ||
174 | </Directory> | ||
175 | <DirectoryMatch "${rootDir}/data"> | ||
176 | Require all denied | ||
177 | </DirectoryMatch> | ||
178 | '' | ||
179 | ] ++ builtins.attrValues cfg.vhosts; | ||
180 | }; | ||
181 | } // customVhosts; | ||
182 | }; | ||
183 | } | ||
diff --git a/systems/eldiron/websites/mail/default.nix b/systems/eldiron/websites/mail/default.nix new file mode 100644 index 0000000..0a0342b --- /dev/null +++ b/systems/eldiron/websites/mail/default.nix | |||
@@ -0,0 +1,141 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | roundcubemail = pkgs.callPackage ./roundcubemail.nix { | ||
4 | roundcubemail = pkgs.webapps-roundcubemail; | ||
5 | env = config.myEnv.tools.roundcubemail; | ||
6 | inherit config; | ||
7 | }; | ||
8 | rainloop = pkgs.callPackage ./rainloop.nix { | ||
9 | rainloop = pkgs.rainloop-community; | ||
10 | }; | ||
11 | cfg = config.myServices.websites.tools.email; | ||
12 | pcfg = config.services.phpfpm.pools; | ||
13 | in | ||
14 | { | ||
15 | options.myServices.websites.tools.email = { | ||
16 | enable = lib.mkEnableOption "enable email website"; | ||
17 | }; | ||
18 | |||
19 | imports = [ | ||
20 | ./mta-sts.nix | ||
21 | ]; | ||
22 | |||
23 | config = lib.mkIf cfg.enable { | ||
24 | #myServices.chatonsProperties.services.mail-rainloop = { | ||
25 | # file.datetime = "2022-08-22T00:30:00"; | ||
26 | # service = { | ||
27 | # name = "Rainloop"; | ||
28 | # description = "Simple, modern & fast web-based email client"; | ||
29 | # website = "https://mail.immae.eu/rainloop"; | ||
30 | # logo = "https://www.rainloop.net/static/img/logo-16x16.png"; | ||
31 | # status.level = "ERROR"; | ||
32 | # status.description = "Stopped due to CVE-2022-29360"; | ||
33 | # registration."" = ["MEMBER" "CLIENT"]; | ||
34 | # registration.load = "OPEN"; | ||
35 | # install.type = "PACKAGE"; | ||
36 | # }; | ||
37 | # software = { | ||
38 | # name = "Rainloop"; | ||
39 | # website = "https://www.rainloop.net/"; | ||
40 | # license.url = "https://www.rainloop.net/licensing/"; | ||
41 | # license.name = "GNU Affero General Public License v3.0"; | ||
42 | # version = rainloop.webRoot.version; | ||
43 | # source.url = "https://github.com/RainLoop/rainloop-webmail"; | ||
44 | # }; | ||
45 | #}; | ||
46 | #myServices.chatonsProperties.services.mail-roundcube = { | ||
47 | # file.datetime = "2022-08-22T00:30:00"; | ||
48 | # service = { | ||
49 | # name = "Roundcube"; | ||
50 | # description = "The Roundcube Webmail suite"; | ||
51 | # website = "https://mail.immae.eu/roundcube"; | ||
52 | # logo = "https://mail.immae.eu/roundcube/skins/elastic/images/favicon.ico"; | ||
53 | # status.level = "OK"; | ||
54 | # status.description = "OK"; | ||
55 | # registration."" = ["MEMBER" "CLIENT"]; | ||
56 | # registration.load = "OPEN"; | ||
57 | # install.type = "PACKAGE"; | ||
58 | # }; | ||
59 | # software = { | ||
60 | # name = "Roundcube"; | ||
61 | # website = "https://roundcube.net/"; | ||
62 | # license.url = "https://github.com/roundcube/roundcubemail/blob/master/LICENSE"; | ||
63 | # license.name = "GNU General Public License v3.0"; | ||
64 | # version = roundcubemail.webRoot.version; | ||
65 | # source.url = "https://github.com/roundcube/roundcubemail"; | ||
66 | # modules = map (a: a.pluginName) roundcubemail.webRoot.plugins ++ map (a: a.skinName) roundcubemail.webRoot.skins; | ||
67 | # }; | ||
68 | #}; | ||
69 | |||
70 | myServices.dns.zones."immae.eu".subdomains.mail = | ||
71 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
72 | |||
73 | secrets.keys = roundcubemail.keys; | ||
74 | |||
75 | services.websites.env.tools.modules = | ||
76 | [ "proxy_fcgi" ] | ||
77 | ++ rainloop.apache.modules | ||
78 | ++ roundcubemail.apache.modules; | ||
79 | |||
80 | security.acme.certs.mail.extraDomainNames = [ "mail.immae.eu" ]; | ||
81 | services.websites.env.tools.vhostConfs.mail = { | ||
82 | certName = "mail"; | ||
83 | hosts = ["mail.immae.eu"]; | ||
84 | root = ./www; | ||
85 | extraConfig = [ | ||
86 | (rainloop.apache.vhostConf pcfg.rainloop.socket) | ||
87 | (roundcubemail.apache.vhostConf pcfg.roundcubemail.socket) | ||
88 | '' | ||
89 | <Directory ${./www}> | ||
90 | Require all granted | ||
91 | Options -Indexes | ||
92 | </Directory> | ||
93 | '' | ||
94 | ]; | ||
95 | }; | ||
96 | systemd.services = { | ||
97 | phpfpm-rainloop = { | ||
98 | after = lib.mkAfter rainloop.phpFpm.serviceDeps; | ||
99 | wants = rainloop.phpFpm.serviceDeps; | ||
100 | }; | ||
101 | phpfpm-roundcubemail = { | ||
102 | after = lib.mkAfter roundcubemail.phpFpm.serviceDeps; | ||
103 | wants = roundcubemail.phpFpm.serviceDeps; | ||
104 | }; | ||
105 | }; | ||
106 | |||
107 | services.phpfpm.pools.roundcubemail = { | ||
108 | user = "wwwrun"; | ||
109 | group = "wwwrun"; | ||
110 | settings = roundcubemail.phpFpm.pool; | ||
111 | phpOptions = config.services.phpfpm.phpOptions + '' | ||
112 | date.timezone = 'CET' | ||
113 | ''; | ||
114 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.imagick all.redis ]); | ||
115 | }; | ||
116 | services.phpfpm.pools.rainloop = { | ||
117 | user = "wwwrun"; | ||
118 | group = "wwwrun"; | ||
119 | settings = rainloop.phpFpm.pool; | ||
120 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.redis ]); | ||
121 | }; | ||
122 | system.activationScripts = { | ||
123 | roundcubemail = roundcubemail.activationScript; | ||
124 | rainloop = rainloop.activationScript; | ||
125 | }; | ||
126 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
127 | myServices.monitoring.fromMasterObjects.service = [ | ||
128 | { | ||
129 | service_description = "roundcube website is running on mail.immae.eu"; | ||
130 | host_name = config.hostEnv.fqdn; | ||
131 | use = "external-web-service"; | ||
132 | check_command = ["check_https" "mail.immae.eu" "/roundcube/" "<title>Roundcube"]; | ||
133 | |||
134 | servicegroups = "webstatus-webapps,webstatus-email"; | ||
135 | _webstatus_name = "Roundcube"; | ||
136 | _webstatus_url = "https://mail.immae.eu/roundcube/"; | ||
137 | } | ||
138 | ]; | ||
139 | }; | ||
140 | |||
141 | } | ||
diff --git a/systems/eldiron/websites/mail/mta-sts.nix b/systems/eldiron/websites/mail/mta-sts.nix new file mode 100644 index 0000000..2438702 --- /dev/null +++ b/systems/eldiron/websites/mail/mta-sts.nix | |||
@@ -0,0 +1,42 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | getDomains = p: lib.mapAttrsToList (n: v: v) (lib.filterAttrs (n: v: v.receive) p.emailPolicies); | ||
4 | bydomain = builtins.mapAttrs (n: getDomains) config.myServices.dns.zones; | ||
5 | domains = lib.flatten (builtins.attrValues bydomain); | ||
6 | mxes = lib.mapAttrsToList | ||
7 | (n: v: v.mx.subdomain) | ||
8 | (lib.attrsets.filterAttrs (n: v: v.mx.enable) config.myEnv.servers); | ||
9 | file = d: pkgs.writeText "mta-sts-${d.fqdn}.txt" ( | ||
10 | builtins.concatStringsSep "\r\n" ([ "version: STSv1" "mode: testing" ] | ||
11 | ++ (map (v: "mx: ${v}.${d.domain}") mxes) | ||
12 | ++ [ "max_age: 604800" ] | ||
13 | )); | ||
14 | root = pkgs.runCommand "mta-sts_root" {} '' | ||
15 | mkdir -p $out | ||
16 | ${builtins.concatStringsSep "\n" (map (d: | ||
17 | "cp ${file d} $out/${d.fqdn}.txt" | ||
18 | ) domains)} | ||
19 | ''; | ||
20 | cfg = config.myServices.websites.tools.email; | ||
21 | in | ||
22 | { | ||
23 | config = lib.mkIf cfg.enable { | ||
24 | security.acme.certs.mail.extraDomainNames = ["mta-sts.mail.immae.eu"] ++ map (v: "mta-sts.${v.fqdn}") domains; | ||
25 | services.websites.env.tools.vhostConfs.mta_sts = { | ||
26 | certName = "mail"; | ||
27 | hosts = ["mta-sts.mail.immae.eu"] ++ map (v: "mta-sts.${v.fqdn}") domains; | ||
28 | root = root; | ||
29 | extraConfig = [ | ||
30 | '' | ||
31 | RewriteEngine on | ||
32 | RewriteCond %{HTTP_HOST} ^mta-sts.(.*)$ | ||
33 | RewriteRule ^/.well-known/mta-sts.txt$ %{DOCUMENT_ROOT}/%1.txt [L] | ||
34 | <Directory ${root}> | ||
35 | Require all granted | ||
36 | Options -Indexes | ||
37 | </Directory> | ||
38 | '' | ||
39 | ]; | ||
40 | }; | ||
41 | }; | ||
42 | } | ||
diff --git a/systems/eldiron/websites/mail/rainloop.nix b/systems/eldiron/websites/mail/rainloop.nix new file mode 100644 index 0000000..f821005 --- /dev/null +++ b/systems/eldiron/websites/mail/rainloop.nix | |||
@@ -0,0 +1,54 @@ | |||
1 | { lib, rainloop, writeText, stdenv, fetchurl }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/rainloop"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} | ||
8 | install -m 0750 -o ${apache.user} -g ${apache.group} -d ${varDir}/data | ||
9 | ''; | ||
10 | }; | ||
11 | webRoot = rainloop.override { dataPath = "${varDir}/data"; }; | ||
12 | apache = rec { | ||
13 | user = "wwwrun"; | ||
14 | group = "wwwrun"; | ||
15 | modules = [ "proxy_fcgi" ]; | ||
16 | root = webRoot; | ||
17 | vhostConf = socket: '' | ||
18 | Alias /rainloop "${root}" | ||
19 | <Directory "${root}"> | ||
20 | DirectoryIndex index.php | ||
21 | AllowOverride All | ||
22 | Options -FollowSymlinks | ||
23 | Require all denied | ||
24 | |||
25 | <FilesMatch "\.php$"> | ||
26 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
27 | </FilesMatch> | ||
28 | </Directory> | ||
29 | |||
30 | <DirectoryMatch "${root}/data"> | ||
31 | Require all denied | ||
32 | </DirectoryMatch> | ||
33 | ''; | ||
34 | }; | ||
35 | phpFpm = rec { | ||
36 | serviceDeps = [ "postgresql.service" ]; | ||
37 | basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; | ||
38 | pool = { | ||
39 | "listen.owner" = apache.user; | ||
40 | "listen.group" = apache.group; | ||
41 | "pm" = "ondemand"; | ||
42 | "pm.max_children" = "60"; | ||
43 | "pm.process_idle_timeout" = "60"; | ||
44 | |||
45 | # Needed to avoid clashes in browser cookies (same domain) | ||
46 | "php_value[session.name]" = "RainloopPHPSESSID"; | ||
47 | "php_admin_value[upload_max_filesize]" = "200M"; | ||
48 | "php_admin_value[post_max_size]" = "200M"; | ||
49 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
50 | "php_admin_value[session.save_handler]" = "redis"; | ||
51 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Rainloop:'"; | ||
52 | }; | ||
53 | }; | ||
54 | } | ||
diff --git a/systems/eldiron/websites/mail/roundcubemail.nix b/systems/eldiron/websites/mail/roundcubemail.nix new file mode 100644 index 0000000..21a10fe --- /dev/null +++ b/systems/eldiron/websites/mail/roundcubemail.nix | |||
@@ -0,0 +1,119 @@ | |||
1 | { env, roundcubemail, apacheHttpd, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/roundcubemail"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
8 | ${varDir}/cache ${varDir}/logs | ||
9 | ''; | ||
10 | }; | ||
11 | keys."webapps/tools-roundcube" = { | ||
12 | user = apache.user; | ||
13 | group = apache.group; | ||
14 | permissions = "0400"; | ||
15 | text = | ||
16 | let | ||
17 | psql_url = with env.postgresql; "pgsql://${user}:${password}@unix(${socket}:${port})/${database}"; | ||
18 | in '' | ||
19 | <?php | ||
20 | $config['db_dsnw'] = '${psql_url}'; | ||
21 | $config['default_host'] = 'ssl://imap.immae.eu'; | ||
22 | $config['username_domain'] = array( | ||
23 | "imap.immae.eu" => "mail.immae.eu" | ||
24 | ); | ||
25 | $config['imap_conn_options'] = array("ssl" => array("verify_peer" => false)); | ||
26 | $config['smtp_server'] = 'tls://smtp.immae.eu'; | ||
27 | $config['smtp_port'] = '587'; | ||
28 | $config['managesieve_host'] = 'imap.immae.eu'; | ||
29 | $config['managesieve_port'] = '4190'; | ||
30 | $config['managesieve_usetls'] = true; | ||
31 | $config['managesieve_conn_options'] = array("ssl" => array("verify_peer" => false)); | ||
32 | |||
33 | $config['imap_cache'] = 'db'; | ||
34 | $config['messages_cache'] = 'db'; | ||
35 | |||
36 | $config['support_url'] = '''; | ||
37 | |||
38 | $config['des_key'] = '${env.secret}'; | ||
39 | |||
40 | $config['skin'] = 'elastic'; | ||
41 | $config['plugins'] = array( | ||
42 | 'attachment_reminder', | ||
43 | 'emoticons', | ||
44 | 'filesystem_attachments', | ||
45 | 'hide_blockquote', | ||
46 | 'identicon', | ||
47 | 'identity_select', | ||
48 | 'jqueryui', | ||
49 | 'markasjunk', | ||
50 | 'managesieve', | ||
51 | 'newmail_notifier', | ||
52 | 'vcard_attachments', | ||
53 | 'zipdownload', | ||
54 | |||
55 | 'automatic_addressbook', | ||
56 | 'message_highlight', | ||
57 | 'carddav', | ||
58 | // Ne marche pas ?: 'ident_switch', | ||
59 | // Ne marche pas ?: 'thunderbird_labels', | ||
60 | ); | ||
61 | |||
62 | $config['language'] = 'fr_FR'; | ||
63 | |||
64 | $config['drafts_mbox'] = 'Drafts'; | ||
65 | $config['junk_mbox'] = 'Junk'; | ||
66 | $config['sent_mbox'] = 'Sent'; | ||
67 | $config['trash_mbox'] = 'Trash'; | ||
68 | $config['default_folders'] = array('INBOX', 'Drafts', 'Sent', 'Junk', 'Trash'); | ||
69 | $config['draft_autosave'] = 60; | ||
70 | $config['enable_installer'] = false; | ||
71 | $config['log_driver'] = 'file'; | ||
72 | $config['temp_dir'] = '${varDir}/cache'; | ||
73 | $config['mime_types'] = '${apacheHttpd}/conf/mime.types'; | ||
74 | ''; | ||
75 | keyDependencies = [ apacheHttpd ]; | ||
76 | }; | ||
77 | webRoot = (roundcubemail.override { roundcube_config = config.secrets.fullPaths."webapps/tools-roundcube"; }).withPlugins (p: [ p.automatic_addressbook p.carddav p.contextmenu p.contextmenu_folder p.html5_notifier p.ident_switch p.message_highlight p.thunderbird_labels ]); | ||
78 | apache = rec { | ||
79 | user = "wwwrun"; | ||
80 | group = "wwwrun"; | ||
81 | modules = [ "proxy_fcgi" ]; | ||
82 | root = webRoot; | ||
83 | vhostConf = socket: '' | ||
84 | Alias /roundcube "${root}" | ||
85 | <Directory "${root}"> | ||
86 | DirectoryIndex index.php | ||
87 | AllowOverride All | ||
88 | Options FollowSymlinks | ||
89 | Require all granted | ||
90 | |||
91 | <FilesMatch "\.php$"> | ||
92 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
93 | </FilesMatch> | ||
94 | </Directory> | ||
95 | ''; | ||
96 | }; | ||
97 | phpFpm = rec { | ||
98 | serviceDeps = [ "postgresql.service" ]; | ||
99 | basedir = builtins.concatStringsSep ":" ( | ||
100 | [ webRoot config.secrets.fullPaths."webapps/tools-roundcube" varDir ] | ||
101 | ++ webRoot.plugins | ||
102 | ++ webRoot.skins); | ||
103 | pool = { | ||
104 | "listen.owner" = apache.user; | ||
105 | "listen.group" = apache.group; | ||
106 | "pm" = "ondemand"; | ||
107 | "pm.max_children" = "60"; | ||
108 | "pm.process_idle_timeout" = "60"; | ||
109 | |||
110 | # Needed to avoid clashes in browser cookies (same domain) | ||
111 | "php_value[session.name]" = "RoundcubemailPHPSESSID"; | ||
112 | "php_admin_value[upload_max_filesize]" = "200M"; | ||
113 | "php_admin_value[post_max_size]" = "200M"; | ||
114 | "php_admin_value[open_basedir]" = "${basedir}:${apacheHttpd}/conf/mime.types:/tmp"; | ||
115 | "php_admin_value[session.save_handler]" = "redis"; | ||
116 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Roundcubemail:'"; | ||
117 | }; | ||
118 | }; | ||
119 | } | ||
diff --git a/systems/eldiron/websites/mail/www/index.html b/systems/eldiron/websites/mail/www/index.html new file mode 100644 index 0000000..88b0ebd --- /dev/null +++ b/systems/eldiron/websites/mail/www/index.html | |||
@@ -0,0 +1,74 @@ | |||
1 | <!doctype html> | ||
2 | <html lang="fr"> | ||
3 | <head> | ||
4 | <meta charset="UTF-8"> | ||
5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
6 | <title>E-mail configuration</title> | ||
7 | <style type="text/css"> | ||
8 | body { | ||
9 | padding-top: 1em; | ||
10 | padding-left: 5px; | ||
11 | padding-right: 5px; | ||
12 | text-align: left; | ||
13 | margin: auto; | ||
14 | font: 20px Helvetica, sans-serif; | ||
15 | color: #333; | ||
16 | height: 100%; | ||
17 | min-height: 100%; | ||
18 | } | ||
19 | article { | ||
20 | text-align: justify; | ||
21 | display: block; | ||
22 | max-width: 850px; | ||
23 | margin: 0 auto; | ||
24 | padding-top: 30px; | ||
25 | } | ||
26 | span.code { | ||
27 | font-family: monospace; | ||
28 | } | ||
29 | </style> | ||
30 | </head> | ||
31 | <body> | ||
32 | <p> | ||
33 | Email configuration. For automatic configuration in your smart e-mail | ||
34 | client, use <span class="code">login@mail.immae.eu</span>. If it | ||
35 | doesn’t work, the details are there: | ||
36 | <ul> | ||
37 | <li>IMAP: <span class="code">imap.immae.eu</span> | ||
38 | <ul> | ||
39 | <li>No unencrypted access</li> | ||
40 | <li>STARTTLS: 143</li> | ||
41 | <li>SSL: 993</li> | ||
42 | </ul> | ||
43 | </li> | ||
44 | <li>POP3: <span class="code">pop3.immae.eu</span> | ||
45 | <ul> | ||
46 | <li>No unencrypted access</li> | ||
47 | <li>STARTTLS: 110</li> | ||
48 | <li>SSL: 995</li> | ||
49 | </ul> | ||
50 | </li> | ||
51 | <li>SMTP: <span class="code">smtp.immae.eu</span> | ||
52 | <ul> | ||
53 | <li>No unencrypted access</li> | ||
54 | <li>STARTTLS: 587</li> | ||
55 | <li>SSL: 465</li> | ||
56 | </ul> | ||
57 | </li> | ||
58 | <li>Sieve: <span class="code">imap.immae.eu</span> | ||
59 | <ul> | ||
60 | <li>No unencrypted access</li> | ||
61 | <li>STARTTLS: 4190</li> | ||
62 | </ul> | ||
63 | </li> | ||
64 | </ul> | ||
65 | </p> | ||
66 | <p>Webmails: | ||
67 | <ul> | ||
68 | <li><a href="/roundcube">Roundcube</a></li> | ||
69 | <li><a href="/rainloop">Rainloop</a> (experimental)</li> | ||
70 | </ul> | ||
71 | </p> | ||
72 | </body> | ||
73 | </html> | ||
74 | |||
diff --git a/systems/eldiron/websites/mastodon/default.nix b/systems/eldiron/websites/mastodon/default.nix new file mode 100644 index 0000000..603fc9e --- /dev/null +++ b/systems/eldiron/websites/mastodon/default.nix | |||
@@ -0,0 +1,174 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.mastodon; | ||
4 | root = "${mcfg.workdir}/public/"; | ||
5 | cfg = config.myServices.websites.tools.mastodon; | ||
6 | mcfg = config.immaeServices.mastodon; | ||
7 | in { | ||
8 | options.myServices.websites.tools.mastodon = { | ||
9 | enable = lib.mkEnableOption "enable mastodon's website"; | ||
10 | }; | ||
11 | |||
12 | config = lib.mkIf cfg.enable { | ||
13 | myServices.dns.zones."immae.eu".subdomains.mastodon = | ||
14 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
15 | |||
16 | myServices.chatonsProperties.services.mastodon = { | ||
17 | file.datetime = "2022-08-21T19:50:00"; | ||
18 | service = { | ||
19 | name = "Mastodon"; | ||
20 | description = "Your self-hosted, globally interconnected microblogging community"; | ||
21 | website = "https://mastodon.immae.eu/"; | ||
22 | logo = "https://mastodon.immae.eu/apple-touch-icon.png"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration."" = ["MEMBER" "CLIENT"]; | ||
26 | registration.load = "OPEN"; | ||
27 | install.type = "PACKAGE"; | ||
28 | }; | ||
29 | software = { | ||
30 | name = "Mastodon"; | ||
31 | website = "https://joinmastodon.org/"; | ||
32 | license.url = "https://github.com/tootsuite/mastodon/blob/master/LICENSE"; | ||
33 | license.name = "GNU General Public License v3.0"; | ||
34 | version = mcfg.package.version; | ||
35 | source.url = "https://github.com/tootsuite/mastodon"; | ||
36 | }; | ||
37 | }; | ||
38 | secrets.keys."webapps/tools-mastodon" = { | ||
39 | user = "mastodon"; | ||
40 | group = "mastodon"; | ||
41 | permissions = "0400"; | ||
42 | text = '' | ||
43 | REDIS_HOST=${env.redis.host} | ||
44 | REDIS_PORT=${env.redis.port} | ||
45 | REDIS_DB=${env.redis.db} | ||
46 | DB_HOST=${env.postgresql.socket} | ||
47 | DB_USER=${env.postgresql.user} | ||
48 | DB_NAME=${env.postgresql.database} | ||
49 | DB_PASS=${env.postgresql.password} | ||
50 | DB_PORT=${env.postgresql.port} | ||
51 | |||
52 | LOCAL_DOMAIN=mastodon.immae.eu | ||
53 | LOCAL_HTTPS=true | ||
54 | ALTERNATE_DOMAINS=immae.eu | ||
55 | |||
56 | PAPERCLIP_SECRET=${env.paperclip_secret} | ||
57 | SECRET_KEY_BASE=${env.secret_key_base} | ||
58 | OTP_SECRET=${env.otp_secret} | ||
59 | |||
60 | VAPID_PRIVATE_KEY=${env.vapid.private} | ||
61 | VAPID_PUBLIC_KEY=${env.vapid.public} | ||
62 | |||
63 | SMTP_DELIVERY_METHOD=sendmail | ||
64 | SMTP_FROM_ADDRESS=mastodon@tools.immae.eu | ||
65 | SENDMAIL_LOCATION="/run/wrappers/bin/sendmail" | ||
66 | PAPERCLIP_ROOT_PATH=${mcfg.dataDir} | ||
67 | |||
68 | STREAMING_CLUSTER_NUM=1 | ||
69 | |||
70 | RAILS_LOG_LEVEL=warn | ||
71 | |||
72 | # LDAP authentication (optional) | ||
73 | LDAP_ENABLED=true | ||
74 | LDAP_HOST=${env.ldap.host} | ||
75 | LDAP_PORT=636 | ||
76 | LDAP_METHOD=simple_tls | ||
77 | LDAP_BASE="${env.ldap.base}" | ||
78 | LDAP_BIND_DN="${env.ldap.dn}" | ||
79 | LDAP_PASSWORD="${env.ldap.password}" | ||
80 | LDAP_UID="uid" | ||
81 | LDAP_SEARCH_FILTER="${env.ldap.filter}" | ||
82 | ''; | ||
83 | }; | ||
84 | immaeServices.mastodon = { | ||
85 | enable = true; | ||
86 | configFile = config.secrets.fullPaths."webapps/tools-mastodon"; | ||
87 | socketsPrefix = "live_immae"; | ||
88 | dataDir = "/var/lib/mastodon_immae"; | ||
89 | }; | ||
90 | services.filesWatcher.mastodon-streaming = { | ||
91 | restart = true; | ||
92 | paths = [ mcfg.configFile ]; | ||
93 | }; | ||
94 | services.filesWatcher.mastodon-web = { | ||
95 | restart = true; | ||
96 | paths = [ mcfg.configFile ]; | ||
97 | }; | ||
98 | services.filesWatcher.mastodon-sidekiq = { | ||
99 | restart = true; | ||
100 | paths = [ mcfg.configFile ]; | ||
101 | }; | ||
102 | |||
103 | |||
104 | services.websites.env.tools.modules = [ | ||
105 | "headers" "proxy" "proxy_wstunnel" "proxy_http" | ||
106 | ]; | ||
107 | security.acme.certs.eldiron.extraDomainNames = [ "mastodon.immae.eu" ]; | ||
108 | services.websites.env.tools.vhostConfs.mastodon = { | ||
109 | certName = "eldiron"; | ||
110 | hosts = ["mastodon.immae.eu" ]; | ||
111 | root = root; | ||
112 | extraConfig = [ '' | ||
113 | Header always set Referrer-Policy "strict-origin-when-cross-origin" | ||
114 | Header always set Strict-Transport-Security "max-age=31536000" | ||
115 | |||
116 | <LocationMatch "^/(assets|avatars|emoji|headers|packs|sounds|system)> | ||
117 | Header always set Cache-Control "public, max-age=31536000, immutable" | ||
118 | Require all granted | ||
119 | </LocationMatch> | ||
120 | |||
121 | ProxyPreserveHost On | ||
122 | RequestHeader set X-Forwarded-Proto "https" | ||
123 | |||
124 | RewriteEngine On | ||
125 | |||
126 | RewriteRule ^/api/v1/streaming/(.+)$ unix://${mcfg.sockets.node}|http://mastodon.immae.eu/api/v1/streaming/$1 [P,NE,QSA,L] | ||
127 | RewriteRule ^/api/v1/streaming/public$ unix://${mcfg.sockets.node}|http://mastodon.immae.eu/api/v1/streaming/public [P,NE,QSA,L] | ||
128 | RewriteRule ^/api/v1/streaming/$ unix://${mcfg.sockets.node}|ws://mastodon.immae.eu/ [P,NE,QSA,L] | ||
129 | RewriteCond %{REQUEST_URI} !/500.html | ||
130 | RewriteCond %{REQUEST_URI} !/sw.js | ||
131 | RewriteCond %{REQUEST_URI} !/embed.js | ||
132 | RewriteCond %{REQUEST_URI} !/robots.txt | ||
133 | RewriteCond %{REQUEST_URI} !/manifest.json | ||
134 | RewriteCond %{REQUEST_URI} !/browserconfig.xml | ||
135 | RewriteCond %{REQUEST_URI} !/mask-icon.svg | ||
136 | RewriteCond %{REQUEST_URI} !^(/.*\.(png|ico|gif)$) | ||
137 | RewriteCond %{REQUEST_URI} !^/(assets|avatars|emoji|headers|packs|sounds|system|.well-known/acme-challenge) | ||
138 | RewriteRule ^/(.*)$ unix:///run/mastodon/live_immae_puma.sock|http://mastodon.immae.eu/$1 [P,NE,QSA,L] | ||
139 | ProxyPassReverse / unix://${mcfg.sockets.rails}|http://mastodon.immae.eu/ | ||
140 | |||
141 | Alias /system ${mcfg.dataDir} | ||
142 | |||
143 | <Directory ${mcfg.dataDir}> | ||
144 | Require all granted | ||
145 | Options -MultiViews | ||
146 | </Directory> | ||
147 | |||
148 | <Directory ${root}> | ||
149 | Require all granted | ||
150 | Options -MultiViews +FollowSymlinks | ||
151 | </Directory> | ||
152 | |||
153 | ErrorDocument 500 /500.html | ||
154 | ErrorDocument 501 /500.html | ||
155 | ErrorDocument 502 /500.html | ||
156 | ErrorDocument 503 /500.html | ||
157 | ErrorDocument 504 /500.html | ||
158 | '' ]; | ||
159 | }; | ||
160 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
161 | myServices.monitoring.fromMasterObjects.service = [ | ||
162 | { | ||
163 | service_description = "mastodon website is running on mastodon.immae.eu"; | ||
164 | host_name = config.hostEnv.fqdn; | ||
165 | use = "external-web-service"; | ||
166 | check_command = ["check_https" "mastodon.immae.eu" "/" "Mastodon</title>"]; | ||
167 | |||
168 | servicegroups = "webstatus-webapps"; | ||
169 | _webstatus_name = "Mastodon"; | ||
170 | _webstatus_url = "https://mastodon.immae.eu/"; | ||
171 | } | ||
172 | ]; | ||
173 | }; | ||
174 | } | ||
diff --git a/systems/eldiron/websites/mgoblin/default.nix b/systems/eldiron/websites/mgoblin/default.nix new file mode 100644 index 0000000..f276c62 --- /dev/null +++ b/systems/eldiron/websites/mgoblin/default.nix | |||
@@ -0,0 +1,173 @@ | |||
1 | { lib, pkgs, config, mediagoblin, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.mediagoblin; | ||
4 | cfg = config.myServices.websites.tools.mediagoblin; | ||
5 | mcfg = config.services.mediagoblin; | ||
6 | in { | ||
7 | options.myServices.websites.tools.mediagoblin = { | ||
8 | enable = lib.mkEnableOption "enable mediagoblin's website"; | ||
9 | }; | ||
10 | |||
11 | config = lib.mkIf cfg.enable { | ||
12 | myServices.dns.zones."immae.eu".subdomains.mgoblin = | ||
13 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
14 | |||
15 | myServices.chatonsProperties.services.mediagoblin = { | ||
16 | file.datetime = "2022-08-21T20:00:00"; | ||
17 | service = { | ||
18 | name = "Mediagoblin"; | ||
19 | description = "MediaGoblin is a free software media publishing platform that anyone can run"; | ||
20 | website = "https://mgoblin.immae.eu/"; | ||
21 | logo = "https://mgoblin.immae.eu/mgoblin_static/images/goblin.ico"; | ||
22 | status.level = "OK"; | ||
23 | status.description = "OK"; | ||
24 | registration."" = ["MEMBER" "CLIENT"]; | ||
25 | registration.load = "OPEN"; | ||
26 | install.type = "PACKAGE"; | ||
27 | }; | ||
28 | software = { | ||
29 | name = "Mediagoblin"; | ||
30 | website = "https://mediagoblin.org/"; | ||
31 | license.url = "http://www.gnu.org/licenses/agpl.html"; | ||
32 | license.name = "GNU Affero General Public License"; | ||
33 | version = mcfg.package.version; | ||
34 | source.url = "https://git.savannah.gnu.org/git/mediagoblin.git"; | ||
35 | modules = map (a: a.pluginName) mcfg.package.plugins; | ||
36 | }; | ||
37 | }; | ||
38 | secrets.keys."webapps/tools-mediagoblin" = { | ||
39 | user = "mediagoblin"; | ||
40 | group = "mediagoblin"; | ||
41 | permissions = "0400"; | ||
42 | text = | ||
43 | let | ||
44 | psql_url = with env.postgresql; "postgresql://${user}:${password}@:${port}/${database}?host=${socket}"; | ||
45 | redis_url = with env.redis; "redis+socket://${socket}?virtual_host=${db}"; | ||
46 | in | ||
47 | '' | ||
48 | [DEFAULT] | ||
49 | data_basedir = "${mcfg.dataDir}" | ||
50 | |||
51 | [mediagoblin] | ||
52 | direct_remote_path = /mgoblin_static/ | ||
53 | email_sender_address = "mediagoblin@tools.immae.eu" | ||
54 | |||
55 | #sql_engine = sqlite:///%(data_basedir)s/mediagoblin.db | ||
56 | sql_engine = ${psql_url} | ||
57 | |||
58 | email_debug_mode = false | ||
59 | allow_registration = false | ||
60 | allow_reporting = true | ||
61 | |||
62 | theme = airymodified | ||
63 | |||
64 | user_privilege_scheme = "uploader,commenter,reporter" | ||
65 | |||
66 | # We need to redefine them here since we override data_basedir | ||
67 | # cf /usr/share/webapps/mediagoblin/mediagoblin/config_spec.ini | ||
68 | workbench_path = %(data_basedir)s/media/workbench | ||
69 | crypto_path = %(data_basedir)s/crypto | ||
70 | theme_install_dir = %(data_basedir)s/themes/ | ||
71 | theme_linked_assets_dir = %(data_basedir)s/theme_static/ | ||
72 | plugin_linked_assets_dir = %(data_basedir)s/plugin_static/ | ||
73 | |||
74 | [storage:queuestore] | ||
75 | base_dir = %(data_basedir)s/media/queue | ||
76 | |||
77 | [storage:publicstore] | ||
78 | base_dir = %(data_basedir)s/media/public | ||
79 | base_url = /mgoblin_media/ | ||
80 | |||
81 | [celery] | ||
82 | CELERY_RESULT_DBURI = ${redis_url} | ||
83 | BROKER_URL = ${redis_url} | ||
84 | CELERYD_CONCURRENCY = 1 | ||
85 | |||
86 | [plugins] | ||
87 | [[mediagoblin.plugins.geolocation]] | ||
88 | [[mediagoblin.plugins.ldap]] | ||
89 | [[[immae.eu]]] | ||
90 | LDAP_SERVER_URI = 'ldaps://${env.ldap.host}:636' | ||
91 | LDAP_SEARCH_BASE = '${env.ldap.base}' | ||
92 | LDAP_BIND_DN = '${env.ldap.dn}' | ||
93 | LDAP_BIND_PW = '${env.ldap.password}' | ||
94 | LDAP_SEARCH_FILTER = '${env.ldap.filter}' | ||
95 | EMAIL_SEARCH_FIELD = 'mail' | ||
96 | [[mediagoblin.plugins.basicsearch]] | ||
97 | [[mediagoblin.plugins.piwigo]] | ||
98 | [[mediagoblin.plugins.processing_info]] | ||
99 | [[mediagoblin.media_types.image]] | ||
100 | [[mediagoblin.media_types.video]] | ||
101 | ''; | ||
102 | }; | ||
103 | |||
104 | users.users.mediagoblin.extraGroups = [ "keys" ]; | ||
105 | |||
106 | services.mediagoblin = { | ||
107 | enable = true; | ||
108 | package = mediagoblin.withPlugins (p: [p.basicsearch]); | ||
109 | configFile = config.secrets.fullPaths."webapps/tools-mediagoblin"; | ||
110 | }; | ||
111 | services.filesWatcher.mediagoblin-web = { | ||
112 | restart = true; | ||
113 | paths = [ mcfg.configFile ]; | ||
114 | }; | ||
115 | services.filesWatcher.mediagoblin-celeryd = { | ||
116 | restart = true; | ||
117 | paths = [ mcfg.configFile ]; | ||
118 | }; | ||
119 | |||
120 | services.websites.env.tools.modules = [ | ||
121 | "proxy" "proxy_http" | ||
122 | ]; | ||
123 | users.users.wwwrun.extraGroups = [ "mediagoblin" ]; | ||
124 | security.acme.certs.eldiron.extraDomainNames = [ "mgoblin.immae.eu" ]; | ||
125 | services.websites.env.tools.vhostConfs.mgoblin = { | ||
126 | certName = "eldiron"; | ||
127 | hosts = ["mgoblin.immae.eu" ]; | ||
128 | root = null; | ||
129 | extraConfig = [ '' | ||
130 | Alias /mgoblin_media ${mcfg.dataDir}/media/public | ||
131 | <Directory ${mcfg.dataDir}/media/public> | ||
132 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
133 | Require all granted | ||
134 | </Directory> | ||
135 | |||
136 | Alias /theme_static ${mcfg.dataDir}/theme_static | ||
137 | <Directory ${mcfg.dataDir}/theme_static> | ||
138 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
139 | Require all granted | ||
140 | </Directory> | ||
141 | |||
142 | Alias /plugin_static ${mcfg.dataDir}/plugin_static | ||
143 | <Directory ${mcfg.dataDir}/plugin_static> | ||
144 | Options -Indexes +FollowSymLinks +MultiViews +Includes | ||
145 | Require all granted | ||
146 | </Directory> | ||
147 | |||
148 | ProxyPreserveHost on | ||
149 | ProxyVia On | ||
150 | ProxyRequests Off | ||
151 | ProxyPass /mgoblin_media ! | ||
152 | ProxyPass /theme_static ! | ||
153 | ProxyPass /plugin_static ! | ||
154 | ProxyPassMatch ^/.well-known/acme-challenge ! | ||
155 | ProxyPass / unix://${mcfg.sockets.paster}|http://mgoblin.immae.eu/ | ||
156 | ProxyPassReverse / unix://${mcfg.sockets.paster}|http://mgoblin.immae.eu/ | ||
157 | '' ]; | ||
158 | }; | ||
159 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
160 | myServices.monitoring.fromMasterObjects.service = [ | ||
161 | { | ||
162 | service_description = "mediagoblin website is running on mgoblin.immae.eu"; | ||
163 | host_name = config.hostEnv.fqdn; | ||
164 | use = "external-web-service"; | ||
165 | check_command = ["check_https" "mgoblin.immae.eu" "/" "<title>GNU MediaGoblin"]; | ||
166 | |||
167 | servicegroups = "webstatus-webapps"; | ||
168 | _webstatus_name = "Mediagoblin"; | ||
169 | _webstatus_url = "https://mgoblin.immae.eu/"; | ||
170 | } | ||
171 | ]; | ||
172 | }; | ||
173 | } | ||
diff --git a/systems/eldiron/websites/moomin.txt b/systems/eldiron/websites/moomin.txt new file mode 100644 index 0000000..036fb1c --- /dev/null +++ b/systems/eldiron/websites/moomin.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | ⠀⠀⠀⠀⠀⠀⠀⢠⢦⡀⠀⡰⣩⠃ | ||
2 | ⠀⠀⠀⠀⠀⠀⠀⠘⣄⠙⠍⠁⠙⠦⡀ | ||
3 | ⠀⠀⠀⠀⠀⠀⠀⠀⡎⠀⠀⡠⠄⠔⠊⠉⠒⠒⠒⢄ | ||
4 | ⠀⠀⠀⠀⠀⠀⠀⢀⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⠆ | ||
5 | ⠀⠀⢠⢤⠜⡆⠀⢸⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⣠⠎ | ||
6 | ⠀⠀⠱⠤⡁⠈⠑⠇⠀⠀⠀⠉⠒⠤⠤⠄⢖⠊⠀⡐⠧⣄⣀ | ||
7 | ⠀⠀⠀⠀⠘⢆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡉⠀⣀⣨⡷ | ||
8 | ⠀⠀⠀⠀⠀⠈⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢱⠜⠁ | ||
9 | ⠀⠀⠀⠀⠀⠀⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣸⠱⡀ | ||
10 | ⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠁⠀⣣ | ||
11 | ⠀⠀⠀⠀⠀⠀⠀⠑⣄⠀⠀⠀⠀⠀⠀⠀⢀⣠⣀⠴⠊⠁ | ||
12 | ⠰⢍⢒⢄⠀⠀⠀⠀⢸⢳⢆⠀⠀⠀⠰⡖⠋⠁ | ||
13 | ⠀⠳⠴⣙⢄⠀⢀⡠⣣⠃⠈⠑⢤⡄⠀⡸⠂ | ||
14 | ⠀⠀⠀⠀⠑⠋⠓⠊⠁⠀⠀⠀⠓⠒⠉ | ||
15 | Credentials: https://twitter.com/thingskatedid/status/1278274012754309120 | ||
16 | Credentials: https://gist.github.com/katef/09581d7c84eddf784508fa430f6ef47a | ||
diff --git a/systems/eldiron/websites/nossl/index.html b/systems/eldiron/websites/nossl/index.html new file mode 100644 index 0000000..4401a80 --- /dev/null +++ b/systems/eldiron/websites/nossl/index.html | |||
@@ -0,0 +1,11 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>No SSL site</title> | ||
5 | </head> | ||
6 | <body> | ||
7 | <h1>No SSL on this site</h1> | ||
8 | <p>Use for wifi networks with login page that doesn't work well with | ||
9 | https.</p> | ||
10 | </body> | ||
11 | </html> | ||
diff --git a/systems/eldiron/websites/peertube/default.nix b/systems/eldiron/websites/peertube/default.nix new file mode 100644 index 0000000..0ebe4e7 --- /dev/null +++ b/systems/eldiron/websites/peertube/default.nix | |||
@@ -0,0 +1,147 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.peertube; | ||
4 | cfg = config.myServices.websites.tools.peertube; | ||
5 | pcfg = config.immaeServices.peertube; | ||
6 | in { | ||
7 | options.myServices.websites.tools.peertube = { | ||
8 | enable = lib.mkEnableOption "enable Peertube's website"; | ||
9 | }; | ||
10 | |||
11 | config = lib.mkIf cfg.enable { | ||
12 | myServices.dns.zones."immae.eu".subdomains.peertube = | ||
13 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
14 | |||
15 | myServices.chatonsProperties.hostings.peertube = { | ||
16 | file.datetime = "2022-08-21T20:00:00"; | ||
17 | hosting = { | ||
18 | name = "Peertube"; | ||
19 | description = "Free software to take back control of your videos"; | ||
20 | website = "https://peertube.immae.eu/"; | ||
21 | logo = "https://peertube.immae.eu/client/assets/images/icons/icon-192x192.png"; | ||
22 | type = "INSTANCE"; | ||
23 | status.level = "OK"; | ||
24 | status.description = "OK"; | ||
25 | registration.load = "OPEN"; | ||
26 | install.type = "PACKAGE"; | ||
27 | }; | ||
28 | }; | ||
29 | myServices.chatonsProperties.services.peertube = { | ||
30 | file.datetime = "2022-08-21T20:00:00"; | ||
31 | service = { | ||
32 | name = "Peertube"; | ||
33 | description = "Free software to take back control of your videos"; | ||
34 | website = "https://peertube.immae.eu/"; | ||
35 | logo = "https://peertube.immae.eu/client/assets/images/icons/icon-192x192.png"; | ||
36 | status.level = "OK"; | ||
37 | status.description = "OK"; | ||
38 | registration."" = ["MEMBER" "CLIENT"]; | ||
39 | registration.load = "OPEN"; | ||
40 | install.type = "PACKAGE"; | ||
41 | }; | ||
42 | software = { | ||
43 | name = "Peertube"; | ||
44 | website = "https://joinpeertube.org/"; | ||
45 | license.url = "https://github.com/Chocobozzz/PeerTube/blob/develop/LICENSE"; | ||
46 | license.name = "GNU Affero General Public License"; | ||
47 | version = pcfg.package.version; | ||
48 | source.url = "https://github.com/Chocobozzz/PeerTube"; | ||
49 | }; | ||
50 | }; | ||
51 | immaeServices.peertube = { | ||
52 | enable = true; | ||
53 | configFile = config.secrets.fullPaths."webapps/tools-peertube"; | ||
54 | }; | ||
55 | users.users.peertube.extraGroups = [ "keys" ]; | ||
56 | |||
57 | secrets.keys."webapps/tools-peertube" = { | ||
58 | user = "peertube"; | ||
59 | group = "peertube"; | ||
60 | permissions = "0640"; | ||
61 | text = '' | ||
62 | listen: | ||
63 | hostname: 'localhost' | ||
64 | port: ${toString config.myEnv.ports.peertube} | ||
65 | webserver: | ||
66 | https: true | ||
67 | hostname: 'peertube.immae.eu' | ||
68 | port: 443 | ||
69 | database: | ||
70 | hostname: '${env.postgresql.socket}' | ||
71 | port: 5432 | ||
72 | suffix: '_prod' | ||
73 | username: '${env.postgresql.user}' | ||
74 | password: '${env.postgresql.password}' | ||
75 | pool: | ||
76 | max: 5 | ||
77 | redis: | ||
78 | socket: '${env.redis.socket}' | ||
79 | auth: null | ||
80 | db: ${env.redis.db} | ||
81 | smtp: | ||
82 | transport: sendmail | ||
83 | sendmail: '/run/wrappers/bin/sendmail' | ||
84 | from_address: 'peertube@tools.immae.eu' | ||
85 | storage: | ||
86 | tmp: '${pcfg.dataDir}/storage/tmp/' | ||
87 | avatars: '${pcfg.dataDir}/storage/avatars/' | ||
88 | videos: '${pcfg.dataDir}/storage/videos/' | ||
89 | streaming_playlists: '${pcfg.dataDir}/storage/streaming-playlists/' | ||
90 | redundancy: '${pcfg.dataDir}/storage/videos/' | ||
91 | logs: '${pcfg.dataDir}/storage/logs/' | ||
92 | previews: '${pcfg.dataDir}/storage/previews/' | ||
93 | thumbnails: '${pcfg.dataDir}/storage/thumbnails/' | ||
94 | torrents: '${pcfg.dataDir}/storage/torrents/' | ||
95 | captions: '${pcfg.dataDir}/storage/captions/' | ||
96 | cache: '${pcfg.dataDir}/storage/cache/' | ||
97 | plugins: '${pcfg.dataDir}/storage/plugins/' | ||
98 | client_overrides: '${pcfg.dataDir}/storage/client-overrides/' | ||
99 | ''; | ||
100 | }; | ||
101 | |||
102 | services.websites.env.tools.modules = [ | ||
103 | "headers" "proxy" "proxy_http" "proxy_wstunnel" | ||
104 | ]; | ||
105 | services.filesWatcher.peertube = { | ||
106 | restart = true; | ||
107 | paths = [ pcfg.configFile ]; | ||
108 | }; | ||
109 | |||
110 | security.acme.certs.eldiron.extraDomainNames = [ "peertube.immae.eu" ]; | ||
111 | services.websites.env.tools.vhostConfs.peertube = { | ||
112 | certName = "eldiron"; | ||
113 | hosts = [ "peertube.immae.eu" ]; | ||
114 | root = null; | ||
115 | extraConfig = [ '' | ||
116 | RewriteEngine On | ||
117 | |||
118 | RewriteCond %{REQUEST_URI} ^/socket.io [NC] | ||
119 | RewriteCond %{QUERY_STRING} transport=websocket [NC] | ||
120 | RewriteRule /(.*) ws://localhost:${toString env.listenPort}/$1 [P,NE,QSA,L] | ||
121 | |||
122 | RewriteCond %{REQUEST_URI} ^/tracker/socket [NC] | ||
123 | RewriteRule /(.*) ws://localhost:${toString env.listenPort}/$1 [P,NE,QSA,L] | ||
124 | |||
125 | ProxyPass / http://localhost:${toString env.listenPort}/ | ||
126 | ProxyPassReverse / http://localhost:${toString env.listenPort}/ | ||
127 | |||
128 | ProxyPreserveHost On | ||
129 | RequestHeader set X-Real-IP %{REMOTE_ADDR}s | ||
130 | '' ]; | ||
131 | }; | ||
132 | |||
133 | myServices.monitoring.fromMasterActivatedPlugins = [ "http" ]; | ||
134 | myServices.monitoring.fromMasterObjects.service = [ | ||
135 | { | ||
136 | service_description = "peertube website is running on peertube.immae.eu"; | ||
137 | host_name = config.hostEnv.fqdn; | ||
138 | use = "external-web-service"; | ||
139 | check_command = ["check_https" "peertube.immae.eu" "/" "<title>Immae’s PeerTube"]; | ||
140 | |||
141 | servicegroups = "webstatus-webapps"; | ||
142 | _webstatus_name = "Peertube"; | ||
143 | _webstatus_url = "https://peertube.immae.eu/"; | ||
144 | } | ||
145 | ]; | ||
146 | }; | ||
147 | } | ||
diff --git a/systems/eldiron/websites/performance/default.nix b/systems/eldiron/websites/performance/default.nix new file mode 100644 index 0000000..23f754a --- /dev/null +++ b/systems/eldiron/websites/performance/default.nix | |||
@@ -0,0 +1,93 @@ | |||
1 | { pkgs, lib, config, ... }: | ||
2 | let | ||
3 | env = config.myEnv.tools.status_engine; | ||
4 | package = pkgs.status-engine-interface.override({ config_file = config.secrets.fullPaths."status_engine_ui"; }); | ||
5 | apacheRoot = "${package}/public"; | ||
6 | cfg = config.myServices.websites.tools.performance; | ||
7 | in | ||
8 | { | ||
9 | options.myServices.websites.tools.performance = { | ||
10 | enable = lib.mkEnableOption "Enable performance website"; | ||
11 | }; | ||
12 | |||
13 | config = lib.mkIf cfg.enable { | ||
14 | myServices.dns.zones."immae.eu".subdomains.performance = | ||
15 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
16 | |||
17 | secrets.keys = { | ||
18 | status_engine_ui = { | ||
19 | permissions = "0400"; | ||
20 | user = "wwwrun"; | ||
21 | group = "wwwrun"; | ||
22 | text = '' | ||
23 | allow_anonymous: 0 | ||
24 | anonymous_can_submit_commands: 0 | ||
25 | urls_without_login: | ||
26 | - login | ||
27 | - loginstate | ||
28 | auth_type: ldap | ||
29 | ldap_server: ${env.ldap.host} | ||
30 | ldap_use_ssl: 1 | ||
31 | ldap_port: 636 | ||
32 | ldap_bind_dn: ${env.ldap.dn} | ||
33 | ldap_bind_password: ${env.ldap.password} | ||
34 | ldap_base_dn: ${env.ldap.base} | ||
35 | ldap_filter: "${env.ldap.filter}" | ||
36 | ldap_attribute: | ||
37 | - memberOf | ||
38 | use_crate: 0 | ||
39 | use_mysql: 1 | ||
40 | mysql: | ||
41 | host: 127.0.0.1 | ||
42 | port: ${builtins.toString env.mysql.port} | ||
43 | username: ${env.mysql.user} | ||
44 | password: ${env.mysql.password} | ||
45 | database: ${env.mysql.database} | ||
46 | display_perfdata: 1 | ||
47 | perfdata_backend: mysql | ||
48 | ''; | ||
49 | }; | ||
50 | }; | ||
51 | |||
52 | services.websites.env.tools.modules = [ "proxy_fcgi" ]; | ||
53 | |||
54 | security.acme.certs.eldiron.extraDomainNames = [ "performance.immae.eu" ]; | ||
55 | services.websites.env.tools.vhostConfs.performance = { | ||
56 | certName = "eldiron"; | ||
57 | hosts = [ "performance.immae.eu" ]; | ||
58 | root = apacheRoot; | ||
59 | extraConfig = [ | ||
60 | '' | ||
61 | <Directory ${apacheRoot}> | ||
62 | DirectoryIndex index.html | ||
63 | AllowOverride None | ||
64 | Require all granted | ||
65 | <FilesMatch "\.php$"> | ||
66 | SetHandler "proxy:unix:${config.services.phpfpm.pools.status_engine.socket}|fcgi://localhost" | ||
67 | </FilesMatch> | ||
68 | </Directory> | ||
69 | '' | ||
70 | ]; | ||
71 | }; | ||
72 | |||
73 | services.phpfpm.pools.status_engine = { | ||
74 | user = "wwwrun"; | ||
75 | group = "wwwrun"; | ||
76 | settings = { | ||
77 | "listen.owner" = "wwwrun"; | ||
78 | "listen.group" = "wwwrun"; | ||
79 | "pm" = "dynamic"; | ||
80 | "pm.max_children" = "60"; | ||
81 | "pm.start_servers" = "2"; | ||
82 | "pm.min_spare_servers" = "1"; | ||
83 | "pm.max_spare_servers" = "10"; | ||
84 | |||
85 | "php_admin_value[session.save_handler]" = "redis"; | ||
86 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:StatusEngine:'"; | ||
87 | "php_admin_value[open_basedir]" = "${package}:/tmp:${config.secrets.fullPaths."status_engine_ui"}"; | ||
88 | }; | ||
89 | phpPackage = pkgs.php74.withExtensions({ enabled, all }: enabled ++ [ all.redis ]); | ||
90 | }; | ||
91 | |||
92 | }; | ||
93 | } | ||
diff --git a/systems/eldiron/websites/stats/default.nix b/systems/eldiron/websites/stats/default.nix new file mode 100644 index 0000000..665010b --- /dev/null +++ b/systems/eldiron/websites/stats/default.nix | |||
@@ -0,0 +1,51 @@ | |||
1 | { config, lib, pkgs, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.websites.tools.stats; | ||
4 | myCfg = config.myEnv.tools.umami; | ||
5 | in | ||
6 | { | ||
7 | options.myServices.websites.tools.stats.enable = lib.mkEnableOption "Enable stats site"; | ||
8 | config = lib.mkIf cfg.enable { | ||
9 | secrets.keys = { | ||
10 | "uami/env" = { | ||
11 | permission = "0400"; | ||
12 | text = '' | ||
13 | PORT=${toString myCfg.listenPort} | ||
14 | HOSTNAME=127.0.0.1 | ||
15 | DATABASE_URL=postgresql://${myCfg.postgresql.user}:${myCfg.postgresql.password}@localhost:${myCfg.postgresql.port}/${myCfg.postgresql.database}?sslmode=disable&host=${myCfg.postgresql.socket} | ||
16 | HASH_SALT=${myCfg.hashSalt} | ||
17 | ''; | ||
18 | }; | ||
19 | }; | ||
20 | |||
21 | security.acme.certs.eldiron.extraDomainNames = [ "stats.immae.eu" ]; | ||
22 | services.websites.env.tools.vhostConfs.stats = { | ||
23 | certName = "eldiron"; | ||
24 | hosts = [ "stats.immae.eu" ]; | ||
25 | root = null; | ||
26 | extraConfig = [ | ||
27 | '' | ||
28 | ProxyPass / http://localhost:${toString myCfg.listenPort}/ | ||
29 | ProxyPassReverse / http://localhost:${toString myCfg.listenPort}/ | ||
30 | ProxyPreserveHost On | ||
31 | '' | ||
32 | ]; | ||
33 | }; | ||
34 | systemd.services.umami = { | ||
35 | description = "Umami service"; | ||
36 | wantedBy = [ "multi-user.target" ]; | ||
37 | after = [ "network.target" ]; | ||
38 | wants = [ "postgresql.service" ]; | ||
39 | path = [ pkgs.nodejs pkgs.bashInteractive ]; | ||
40 | serviceConfig = { | ||
41 | Type = "simple"; | ||
42 | User = "umami"; | ||
43 | Group = "umami"; | ||
44 | DynamicUser = true; | ||
45 | SupplementaryGroups = [ "keys" ]; | ||
46 | ExecStart = "${pkgs.umami}/bin/umami"; | ||
47 | EnvironmentFile = config.secrets.fullPaths."umami/env"; | ||
48 | }; | ||
49 | }; | ||
50 | }; | ||
51 | } | ||
diff --git a/systems/eldiron/websites/tools/adminer.nix b/systems/eldiron/websites/tools/adminer.nix new file mode 100644 index 0000000..5e865b1 --- /dev/null +++ b/systems/eldiron/websites/tools/adminer.nix | |||
@@ -0,0 +1,83 @@ | |||
1 | { config, webapps-adminer, php82, lib, forcePhpSocket ? null }: | ||
2 | rec { | ||
3 | webRoot = webapps-adminer; | ||
4 | phpFpm = rec { | ||
5 | user = apache.user; | ||
6 | group = apache.group; | ||
7 | phpPackage = let | ||
8 | #mysqli_pam = php81.extensions.mysqli.overrideAttrs(old: { | ||
9 | # configureFlags = [ "--with-mysqli=${libmysqlclient_pam.dev}/bin/mysql_config" "--with-mysql-sock=/run/mysqld/mysqld.sock" ]; | ||
10 | #}); | ||
11 | in | ||
12 | php82.withExtensions ({ enabled, all }: [all.mysqli all.redis all.pgsql]); | ||
13 | settings = { | ||
14 | "listen.owner" = apache.user; | ||
15 | "listen.group" = apache.group; | ||
16 | "pm" = "ondemand"; | ||
17 | "pm.max_children" = "5"; | ||
18 | "pm.process_idle_timeout" = "60"; | ||
19 | #"php_admin_flag[log_errors]" = "on"; | ||
20 | # Needed to avoid clashes in browser cookies (same domain) | ||
21 | "php_value[session.name]" = "AdminerPHPSESSID"; | ||
22 | "php_admin_value[open_basedir]" = "${webRoot}:/tmp"; | ||
23 | "php_admin_value[session.save_handler]" = "redis"; | ||
24 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Adminer:'"; | ||
25 | }; | ||
26 | }; | ||
27 | apache = rec { | ||
28 | user = "wwwrun"; | ||
29 | group = "wwwrun"; | ||
30 | modules = [ "proxy_fcgi" ]; | ||
31 | root = webRoot; | ||
32 | vhostConf = socket: '' | ||
33 | Alias /adminer ${webRoot} | ||
34 | <Directory ${webRoot}> | ||
35 | DirectoryIndex index.php | ||
36 | <FilesMatch "\.php$"> | ||
37 | SetHandler "proxy:unix:${if forcePhpSocket != null then forcePhpSocket else socket}|fcgi://localhost" | ||
38 | </FilesMatch> | ||
39 | |||
40 | Use LDAPConnect | ||
41 | Require ldap-group cn=users,cn=mysql,cn=pam,ou=services,dc=immae,dc=eu | ||
42 | Require ldap-group cn=users,cn=postgresql,cn=pam,ou=services,dc=immae,dc=eu | ||
43 | </Directory> | ||
44 | ''; | ||
45 | }; | ||
46 | monitoringPlugins = [ "http" ]; | ||
47 | monitoringObjects.service = [ | ||
48 | { | ||
49 | service_description = "adminer website is running on tools.immae.eu"; | ||
50 | host_name = config.hostEnv.fqdn; | ||
51 | use = "external-web-service"; | ||
52 | check_command = ["check_https_auth" "tools.immae.eu" "/adminer/" "www.adminerevo.org"]; | ||
53 | |||
54 | servicegroups = "webstatus-webapps"; | ||
55 | _webstatus_name = "Adminer"; | ||
56 | _webstatus_url = "https://tools.immae.eu/adminer/"; | ||
57 | } | ||
58 | ]; | ||
59 | |||
60 | chatonsProperties = { | ||
61 | published = false; | ||
62 | file.datetime = "2023-08-21T15:20:00"; | ||
63 | service = { | ||
64 | name = "Adminer"; | ||
65 | description = "Database management in a single PHP file"; | ||
66 | website = "https://tools.immae.eu/adminer/"; | ||
67 | logo = "https://tools.immae.eu/adminer/?file=favicon.ico"; | ||
68 | status.level = "OK"; | ||
69 | status.description = "OK"; | ||
70 | registration."" = ["MEMBER" "CLIENT"]; | ||
71 | registration.load = "OPEN"; | ||
72 | install.type = "PACKAGE"; | ||
73 | }; | ||
74 | software = { | ||
75 | name = "Adminer"; | ||
76 | website = "https://docs.adminerevo.org/"; | ||
77 | license.url = "https://github.com/adminerevo/adminerevo/blob/main/readme.md"; | ||
78 | license.name = "Apache License 2.0 or GPL 2"; | ||
79 | version = webRoot.version; | ||
80 | source.url = "https://github.com/adminerevo/adminerevo/"; | ||
81 | }; | ||
82 | }; | ||
83 | } | ||
diff --git a/systems/eldiron/websites/tools/default.nix b/systems/eldiron/websites/tools/default.nix new file mode 100644 index 0000000..4d9e3c1 --- /dev/null +++ b/systems/eldiron/websites/tools/default.nix | |||
@@ -0,0 +1,547 @@ | |||
1 | { lib, pkgs, config, mypackages-lib, grocy, ... }: | ||
2 | let | ||
3 | composerEnv = mypackages-lib.composerEnv; | ||
4 | adminer = pkgs.callPackage ./adminer.nix { inherit config; }; | ||
5 | ympd = pkgs.callPackage ./ympd.nix { | ||
6 | env = config.myEnv.tools.ympd; | ||
7 | inherit config; | ||
8 | }; | ||
9 | ttrss = pkgs.callPackage ./ttrss.nix { | ||
10 | ttrss = pkgs.webapps-ttrss; | ||
11 | ttrss-plugins = pkgs.webapps-ttrss-plugins; | ||
12 | env = config.myEnv.tools.ttrss; | ||
13 | php = pkgs.php72; | ||
14 | inherit config; | ||
15 | }; | ||
16 | kanboard = pkgs.callPackage ./kanboard.nix { | ||
17 | inherit config; | ||
18 | env = config.myEnv.tools.kanboard; | ||
19 | }; | ||
20 | wallabag = pkgs.callPackage ./wallabag.nix { | ||
21 | wallabag = pkgs.webapps-wallabag.override { | ||
22 | composerEnv = composerEnv.override { | ||
23 | php = pkgs.php73.withExtensions({ enabled, all }: enabled ++ [all.tidy]); | ||
24 | }; | ||
25 | }; | ||
26 | env = config.myEnv.tools.wallabag; | ||
27 | inherit config; | ||
28 | }; | ||
29 | yourls = pkgs.callPackage ./yourls.nix { | ||
30 | yourls = pkgs.webapps-yourls; | ||
31 | yourls-plugins = pkgs.webapps-yourls-plugins; | ||
32 | env = config.myEnv.tools.yourls; | ||
33 | inherit config; | ||
34 | }; | ||
35 | rompr = pkgs.callPackage ./rompr.nix { | ||
36 | rompr = pkgs.webapps-rompr; | ||
37 | env = config.myEnv.tools.rompr; | ||
38 | inherit config; | ||
39 | }; | ||
40 | shaarli = pkgs.callPackage ./shaarli.nix { | ||
41 | env = config.myEnv.tools.shaarli; | ||
42 | inherit config; | ||
43 | }; | ||
44 | dokuwiki = pkgs.callPackage ./dokuwiki.nix { | ||
45 | dokuwiki = pkgs.webapps-dokuwiki; | ||
46 | dokuwiki-plugins = pkgs.webapps-dokuwiki-plugins; | ||
47 | inherit config; | ||
48 | }; | ||
49 | ldap = pkgs.callPackage ./ldap.nix { | ||
50 | phpldapadmin = pkgs.webapps-phpldapadmin; | ||
51 | env = config.myEnv.tools.phpldapadmin; | ||
52 | inherit config; | ||
53 | }; | ||
54 | grocy' = pkgs.callPackage ./grocy.nix { | ||
55 | grocy = grocy.override { composerEnv = composerEnv.override { php = pkgs.php72; }; }; | ||
56 | }; | ||
57 | phpbb = pkgs.callPackage ./phpbb.nix { | ||
58 | phpbb = (pkgs.webapps-phpbb.withLangs (l: [ l.fr ])).withExts (e: [ | ||
59 | e.alfredoramos.markdown e.davidiq.mailinglist e.dmzx.mchat | ||
60 | e.empteintesduweb.monitoranswers e.lr94.autosubscribe | ||
61 | e.phpbbmodders.adduser ]); | ||
62 | }; | ||
63 | webhooks-bin-env = pkgs.buildEnv { | ||
64 | name = "webhook-env"; | ||
65 | paths = [ pkgs.apprise ]; | ||
66 | pathsToLink = [ "/bin" ]; | ||
67 | }; | ||
68 | webhooks = pkgs.callPackage ./webhooks.nix { | ||
69 | env = config.myEnv.tools.webhooks; | ||
70 | binEnv = webhooks-bin-env; | ||
71 | }; | ||
72 | dmarc-reports = pkgs.callPackage ./dmarc_reports.nix { | ||
73 | env = config.myEnv.tools.dmarc_reports; | ||
74 | inherit config; | ||
75 | }; | ||
76 | |||
77 | landing = pkgs.callPackage ./landing.nix { }; | ||
78 | |||
79 | cfg = config.myServices.websites.tools.tools; | ||
80 | pcfg = config.services.phpfpm.pools; | ||
81 | in { | ||
82 | options.myServices.websites.tools.tools = { | ||
83 | enable = lib.mkEnableOption "enable tools website"; | ||
84 | }; | ||
85 | |||
86 | config = lib.mkIf cfg.enable { | ||
87 | # Services needing to send e-mails | ||
88 | myServices.dns.zones."immae.eu".emailPolicies."tools".receive = true; | ||
89 | myServices.dns.zones."immae.eu".subdomains = | ||
90 | with config.myServices.dns.helpers; | ||
91 | { | ||
92 | outils = ips servers.eldiron.ips.main; | ||
93 | tools = lib.mkMerge [ | ||
94 | (mailCommon "immae.eu") | ||
95 | mailSend | ||
96 | (ips servers.eldiron.ips.main) | ||
97 | ]; | ||
98 | }; | ||
99 | |||
100 | myServices.chatonsProperties.services = { | ||
101 | adminer = adminer.chatonsProperties; | ||
102 | dokuwiki = dokuwiki.chatonsProperties; | ||
103 | shaarli = shaarli.chatonsProperties; | ||
104 | ttrss = ttrss.chatonsProperties; | ||
105 | wallabag = wallabag.chatonsProperties; | ||
106 | paste = { | ||
107 | file.datetime = "2022-08-22T00:15:00"; | ||
108 | service = { | ||
109 | name = "Paste"; | ||
110 | description = "A simple paster script with syntax highlight"; | ||
111 | website = "https://tools.immae.eu/paste/"; | ||
112 | logo = "https://assets.immae.eu/logo.jpg"; | ||
113 | status.level = "OK"; | ||
114 | status.description = "OK"; | ||
115 | registration."" = ["MEMBER" "CLIENT"]; | ||
116 | registration.load = "OPEN"; | ||
117 | install.type = "PACKAGE"; | ||
118 | guide.user = "https://tools.immae.eu/paste/"; | ||
119 | }; | ||
120 | software = { | ||
121 | name = "Paste"; | ||
122 | website = "https://tools.immae.eu/paste/"; | ||
123 | license.url = "https://tools.immae.eu/paste/license"; | ||
124 | license.name = "MIT License"; | ||
125 | version = "Unversioned"; | ||
126 | source.url = "https://tools.immae.eu/paste/abcd123/py"; | ||
127 | }; | ||
128 | }; | ||
129 | }; | ||
130 | myServices.chatonsProperties.hostings = { | ||
131 | dokuwiki = dokuwiki.chatonsHostingProperties; | ||
132 | phpbb = phpbb.chatonsHostingProperties; | ||
133 | }; | ||
134 | secrets.keys = | ||
135 | kanboard.keys | ||
136 | // ldap.keys | ||
137 | // shaarli.keys | ||
138 | // ttrss.keys | ||
139 | // wallabag.keys | ||
140 | // yourls.keys | ||
141 | // dmarc-reports.keys | ||
142 | // webhooks.keys | ||
143 | // ({ "webapps/tools-landing-sql-rw" = { | ||
144 | user = "wwwrun"; | ||
145 | group = "wwwrun"; | ||
146 | permissions = "0400"; | ||
147 | text = let | ||
148 | env = config.myEnv.tools.landing; | ||
149 | in '' | ||
150 | SetEnv PGUSER "${env.postgresql.user}" | ||
151 | SetEnv PGPASSWORD "${env.postgresql.password}" | ||
152 | SetEnv PGDATABASE "${env.postgresql.database}" | ||
153 | SetEnv PGHOST "${env.postgresql.socket}" | ||
154 | ''; | ||
155 | }; }); | ||
156 | services.websites.env.tools.modules = | ||
157 | [ "proxy_fcgi" ] | ||
158 | ++ adminer.apache.modules | ||
159 | ++ ympd.apache.modules | ||
160 | ++ ttrss.apache.modules | ||
161 | ++ wallabag.apache.modules | ||
162 | ++ yourls.apache.modules | ||
163 | ++ rompr.apache.modules | ||
164 | ++ shaarli.apache.modules | ||
165 | ++ dokuwiki.apache.modules | ||
166 | ++ dmarc-reports.apache.modules | ||
167 | ++ phpbb.apache.modules | ||
168 | ++ ldap.apache.modules | ||
169 | ++ kanboard.apache.modules; | ||
170 | |||
171 | myServices.dns.zones."immae.dev" = with config.myServices.dns.helpers; { | ||
172 | subdomains.tools = ips servers.eldiron.ips.integration; | ||
173 | }; | ||
174 | security.acme.certs.integration.domain = "tools.immae.dev"; | ||
175 | services.websites.env.integration.vhostConfs.devtools = { | ||
176 | certName = "integration"; | ||
177 | hosts = [ "tools.immae.dev" ]; | ||
178 | root = "/var/lib/ftp/immae/devtools"; | ||
179 | extraConfig = [ | ||
180 | '' | ||
181 | Use Apaxy "/var/lib/ftp/immae/devtools" "title" | ||
182 | Timeout 600 | ||
183 | ProxyTimeout 600 | ||
184 | Header always set Content-Security-Policy-Report-Only "${config.myEnv.tools.csp_reports.policies.inline}" | ||
185 | <Directory "/var/lib/ftp/immae/devtools"> | ||
186 | DirectoryIndex index.php index.htm index.html | ||
187 | AllowOverride all | ||
188 | Require all granted | ||
189 | <FilesMatch "\.php$"> | ||
190 | SetHandler "proxy:unix:${pcfg.devtools.socket}|fcgi://localhost" | ||
191 | </FilesMatch> | ||
192 | </Directory> | ||
193 | '' | ||
194 | ]; | ||
195 | }; | ||
196 | |||
197 | |||
198 | security.acme.certs.eldiron.extraDomainNames = [ "outils.immae.eu" "tools.immae.eu" ]; | ||
199 | services.websites.env.tools.vhostConfs.tools = { | ||
200 | certName = "eldiron"; | ||
201 | hosts = ["tools.immae.eu" ]; | ||
202 | root = landing; | ||
203 | extraConfig = [ | ||
204 | '' | ||
205 | RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 | ||
206 | RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1 | ||
207 | RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse | ||
208 | |||
209 | <Directory "${landing}"> | ||
210 | Include ${config.secrets.fullPaths."webapps/tools-landing-sql-rw"} | ||
211 | DirectoryIndex index.html | ||
212 | AllowOverride None | ||
213 | Require all granted | ||
214 | |||
215 | <FilesMatch "\.php$"> | ||
216 | SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost" | ||
217 | </FilesMatch> | ||
218 | </Directory> | ||
219 | '' | ||
220 | (adminer.apache.vhostConf pcfg.adminer.socket) | ||
221 | ympd.apache.vhostConf | ||
222 | (ttrss.apache.vhostConf pcfg.ttrss.socket) | ||
223 | (wallabag.apache.vhostConf pcfg.wallabag.socket) | ||
224 | (yourls.apache.vhostConf pcfg.yourls.socket) | ||
225 | (rompr.apache.vhostConf pcfg.rompr.socket) | ||
226 | (shaarli.apache.vhostConf pcfg.shaarli.socket) | ||
227 | (dokuwiki.apache.vhostConf pcfg.dokuwiki.socket) | ||
228 | (ldap.apache.vhostConf pcfg.ldap.socket) | ||
229 | (kanboard.apache.vhostConf pcfg.kanboard.socket) | ||
230 | (grocy'.apache.vhostConf pcfg.grocy.socket) | ||
231 | (phpbb.apache.vhostConf pcfg.phpbb.socket) | ||
232 | (dmarc-reports.apache.vhostConf pcfg.dmarc-reports.socket) | ||
233 | '' | ||
234 | <Location "/paste/"> | ||
235 | ProxyPass unix://${config.services.paste.sockets.gunicorn}|http://tools.immae.eu/paste/ | ||
236 | ProxyPassReverse unix://${config.services.paste.sockets.gunicorn}|http://tools.immae.eu/paste/ | ||
237 | ProxyPreserveHost on | ||
238 | </Location> | ||
239 | <Location "/paste"> | ||
240 | ProxyPass unix://${config.services.paste.sockets.gunicorn}|http://tools.immae.eu/paste/ | ||
241 | ProxyPassReverse unix://${config.services.paste.sockets.gunicorn}|http://tools.immae.eu/paste/ | ||
242 | ProxyPreserveHost on | ||
243 | </Location> | ||
244 | |||
245 | <Location "/ntfy/"> | ||
246 | SetEnv proxy-nokeepalive 1 | ||
247 | SetEnv proxy-sendchunked 1 | ||
248 | LimitRequestBody 102400 | ||
249 | |||
250 | RewriteEngine On | ||
251 | |||
252 | # FIXME: why is landing prefixed in the url? | ||
253 | RewriteCond %{HTTP:Upgrade} websocket [NC] | ||
254 | RewriteCond %{HTTP:Connection} upgrade [NC] | ||
255 | RewriteRule ^(${landing}/ntfy)?/?(.*) unix:///run/ntfy/ntfy.sock|ws://tools.immae.eu/$2 [P,NE,QSA,L] | ||
256 | |||
257 | RewriteRule ^(${landing}/ntfy)?/?(.*) unix:///run/ntfy/ntfy.sock|http://tools.immae.eu/$2 [P,NE,QSA,L] | ||
258 | </Location> | ||
259 | Alias /BIP39 /var/lib/buildbot/outputs/immae/bip39 | ||
260 | <Directory "/var/lib/buildbot/outputs/immae/bip39"> | ||
261 | DirectoryIndex index.html | ||
262 | AllowOverride None | ||
263 | Require all granted | ||
264 | </Directory> | ||
265 | |||
266 | Alias /webhooks ${config.secrets.fullPaths."webapps/webhooks"} | ||
267 | <Directory "${config.secrets.fullPaths."webapps/webhooks"}"> | ||
268 | Options -Indexes | ||
269 | DirectoryIndex index.php | ||
270 | Require all granted | ||
271 | AllowOverride None | ||
272 | <FilesMatch "\.php$"> | ||
273 | SetHandler "proxy:unix:${pcfg.tools.socket}|fcgi://localhost" | ||
274 | </FilesMatch> | ||
275 | </Directory> | ||
276 | '' | ||
277 | ]; | ||
278 | }; | ||
279 | |||
280 | services.websites.env.tools.vhostConfs.outils = { | ||
281 | certName = "eldiron"; | ||
282 | hosts = [ "outils.immae.eu" ]; | ||
283 | root = null; | ||
284 | extraConfig = [ | ||
285 | '' | ||
286 | RedirectMatch 301 ^/mediagoblin(.*)$ https://mgoblin.immae.eu$1 | ||
287 | |||
288 | RedirectMatch 301 ^/ether(.*)$ https://ether.immae.eu$1 | ||
289 | |||
290 | RedirectMatch 301 ^/nextcloud(.*)$ https://cloud.immae.eu$1 | ||
291 | RedirectMatch 301 ^/owncloud(.*)$ https://cloud.immae.eu$1 | ||
292 | |||
293 | RedirectMatch 301 ^/carddavmate(.*)$ https://dav.immae.eu/infcloud$1 | ||
294 | RedirectMatch 301 ^/caldavzap(.*)$ https://dav.immae.eu/infcloud$1 | ||
295 | RedirectMatch 301 ^/caldav.php(.*)$ https://dav.immae.eu/caldav.php$1 | ||
296 | RedirectMatch 301 ^/davical(.*)$ https://dav.immae.eu/davical$1 | ||
297 | |||
298 | RedirectMatch 301 ^/taskweb(.*)$ https://task.immae.eu/taskweb$1 | ||
299 | |||
300 | RedirectMatch 301 ^/roundcube(.*)$ https://mail.immae.eu/roundcube$1 | ||
301 | |||
302 | RedirectMatch 301 ^/jappix(.*)$ https://im.immae.fr/converse | ||
303 | |||
304 | RedirectMatch 301 ^/vpn(.*)$ https://vpn.immae.eu$1 | ||
305 | |||
306 | RedirectMatch 301 ^/(.*)$ https://tools.immae.eu/$1 | ||
307 | '' | ||
308 | ]; | ||
309 | }; | ||
310 | |||
311 | systemd.services = { | ||
312 | phpfpm-dokuwiki = { | ||
313 | after = lib.mkAfter dokuwiki.phpFpm.serviceDeps; | ||
314 | wants = dokuwiki.phpFpm.serviceDeps; | ||
315 | }; | ||
316 | phpfpm-phpbb = { | ||
317 | after = lib.mkAfter phpbb.phpFpm.serviceDeps; | ||
318 | wants = phpbb.phpFpm.serviceDeps; | ||
319 | }; | ||
320 | phpfpm-kanboard = { | ||
321 | after = lib.mkAfter kanboard.phpFpm.serviceDeps; | ||
322 | wants = kanboard.phpFpm.serviceDeps; | ||
323 | }; | ||
324 | phpfpm-ldap = { | ||
325 | after = lib.mkAfter ldap.phpFpm.serviceDeps; | ||
326 | wants = ldap.phpFpm.serviceDeps; | ||
327 | }; | ||
328 | phpfpm-shaarli = { | ||
329 | after = lib.mkAfter shaarli.phpFpm.serviceDeps; | ||
330 | wants = shaarli.phpFpm.serviceDeps; | ||
331 | }; | ||
332 | phpfpm-ttrss = { | ||
333 | after = lib.mkAfter ttrss.phpFpm.serviceDeps; | ||
334 | wants = ttrss.phpFpm.serviceDeps; | ||
335 | }; | ||
336 | phpfpm-wallabag = { | ||
337 | after = lib.mkAfter wallabag.phpFpm.serviceDeps; | ||
338 | wants = wallabag.phpFpm.serviceDeps; | ||
339 | preStart = lib.mkAfter wallabag.phpFpm.preStart; | ||
340 | }; | ||
341 | phpfpm-yourls = { | ||
342 | after = lib.mkAfter yourls.phpFpm.serviceDeps; | ||
343 | wants = yourls.phpFpm.serviceDeps; | ||
344 | }; | ||
345 | ntfy = { | ||
346 | description = "send push notifications to your phone or desktop via scripts from any computer"; | ||
347 | wantedBy = [ "multi-user.target" ]; | ||
348 | serviceConfig = { | ||
349 | ExecStart = "${pkgs.ntfy-sh}/bin/ntfy serve --listen-http '' --listen-unix %t/ntfy/ntfy.sock --cache-file %S/ntfy/cache.db --cache-duration 120h --behind-proxy --attachment-cache-dir %S/ntfy/attachments --base-url https://tools.immae.eu/ntfy"; | ||
350 | Type = "simple"; | ||
351 | WorkingDirectory = "%S/ntfy"; | ||
352 | RuntimeDirectory = "ntfy"; | ||
353 | StateDirectory = "ntfy"; | ||
354 | User = "wwwrun"; | ||
355 | }; | ||
356 | }; | ||
357 | ympd = { | ||
358 | description = "Standalone MPD Web GUI written in C"; | ||
359 | wantedBy = [ "multi-user.target" ]; | ||
360 | script = '' | ||
361 | export MPD_PASSWORD=$(cat ${config.secrets.fullPaths."mpd"}) | ||
362 | ${pkgs.ympd}/bin/ympd --host ${ympd.config.host} --port ${toString ympd.config.port} --webport ${ympd.config.webPort} --user nobody | ||
363 | ''; | ||
364 | }; | ||
365 | tt-rss = { | ||
366 | description = "Tiny Tiny RSS feeds update daemon"; | ||
367 | serviceConfig = { | ||
368 | User = "wwwrun"; | ||
369 | ExecStart = "${pkgs.php72}/bin/php ${ttrss.webRoot}/update.php --daemon"; | ||
370 | StandardOutput = "syslog"; | ||
371 | StandardError = "syslog"; | ||
372 | PermissionsStartOnly = true; | ||
373 | }; | ||
374 | |||
375 | wantedBy = [ "multi-user.target" ]; | ||
376 | requires = ["postgresql.service"]; | ||
377 | after = ["network.target" "postgresql.service"]; | ||
378 | }; | ||
379 | }; | ||
380 | |||
381 | services.filesWatcher.ympd = { | ||
382 | restart = true; | ||
383 | paths = [ config.secrets.fullPaths."mpd" ]; | ||
384 | }; | ||
385 | |||
386 | services.phpfpm.pools = { | ||
387 | tools = { | ||
388 | user = "wwwrun"; | ||
389 | group = "wwwrun"; | ||
390 | settings = { | ||
391 | "listen.owner" = "wwwrun"; | ||
392 | "listen.group" = "wwwrun"; | ||
393 | "pm" = "dynamic"; | ||
394 | "pm.max_children" = "60"; | ||
395 | "pm.start_servers" = "2"; | ||
396 | "pm.min_spare_servers" = "1"; | ||
397 | "pm.max_spare_servers" = "10"; | ||
398 | |||
399 | "php_admin_value[sendmail_path]" = "/run/wrappers/bin/sendmail -t -i"; | ||
400 | "php_admin_value[session.save_handler]" = "redis"; | ||
401 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Tools:'"; | ||
402 | # Needed to avoid clashes in browser cookies (same domain) | ||
403 | "php_value[session.name]" = "ToolsPHPSESSID"; | ||
404 | "php_admin_value[open_basedir]" = builtins.concatStringsSep ":" [ | ||
405 | "/run/wrappers/bin/sendmail" landing "/tmp" | ||
406 | config.secrets.fullPaths."webapps/webhooks" | ||
407 | "${webhooks-bin-env}/bin" | ||
408 | ]; | ||
409 | }; | ||
410 | phpEnv = { | ||
411 | CONTACT_EMAIL = config.myEnv.tools.contact; | ||
412 | }; | ||
413 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [ all.redis ]); | ||
414 | }; | ||
415 | devtools = { | ||
416 | user = "wwwrun"; | ||
417 | group = "wwwrun"; | ||
418 | settings = { | ||
419 | "listen.owner" = "wwwrun"; | ||
420 | "listen.group" = "wwwrun"; | ||
421 | "pm" = "dynamic"; | ||
422 | "pm.max_children" = "60"; | ||
423 | "pm.start_servers" = "2"; | ||
424 | "pm.min_spare_servers" = "1"; | ||
425 | "pm.max_spare_servers" = "10"; | ||
426 | |||
427 | "php_admin_value[sendmail_path]" = "/run/wrappers/bin/sendmail -t -i"; | ||
428 | "php_admin_value[session.save_handler]" = "redis"; | ||
429 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Devtools:'"; | ||
430 | "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:/var/lib/ftp/immae/devtools:/tmp"; | ||
431 | }; | ||
432 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.mysqli all.sqlite3 all.redis all.apcu all.opcache ]); | ||
433 | }; | ||
434 | adminer = adminer.phpFpm; | ||
435 | ttrss = { | ||
436 | user = "wwwrun"; | ||
437 | group = "wwwrun"; | ||
438 | settings = ttrss.phpFpm.pool; | ||
439 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
440 | }; | ||
441 | wallabag = { | ||
442 | user = "wwwrun"; | ||
443 | group = "wwwrun"; | ||
444 | settings = wallabag.phpFpm.pool; | ||
445 | phpPackage = pkgs.php73.withExtensions({ enabled, all }: enabled ++ [all.tidy all.redis]); | ||
446 | }; | ||
447 | yourls = { | ||
448 | user = "wwwrun"; | ||
449 | group = "wwwrun"; | ||
450 | settings = yourls.phpFpm.pool; | ||
451 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
452 | }; | ||
453 | rompr = { | ||
454 | user = "wwwrun"; | ||
455 | group = "wwwrun"; | ||
456 | settings = rompr.phpFpm.pool; | ||
457 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
458 | }; | ||
459 | shaarli = { | ||
460 | user = "wwwrun"; | ||
461 | group = "wwwrun"; | ||
462 | settings = shaarli.phpFpm.pool; | ||
463 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
464 | }; | ||
465 | dmarc-reports = { | ||
466 | user = "wwwrun"; | ||
467 | group = "wwwrun"; | ||
468 | settings = dmarc-reports.phpFpm.pool; | ||
469 | phpEnv = dmarc-reports.phpFpm.phpEnv; | ||
470 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
471 | }; | ||
472 | dokuwiki = { | ||
473 | user = "wwwrun"; | ||
474 | group = "wwwrun"; | ||
475 | settings = dokuwiki.phpFpm.pool; | ||
476 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
477 | }; | ||
478 | phpbb = { | ||
479 | user = "wwwrun"; | ||
480 | group = "wwwrun"; | ||
481 | settings = phpbb.phpFpm.pool; | ||
482 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
483 | }; | ||
484 | ldap = { | ||
485 | user = "wwwrun"; | ||
486 | group = "wwwrun"; | ||
487 | settings = ldap.phpFpm.pool; | ||
488 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
489 | }; | ||
490 | kanboard = { | ||
491 | user = "wwwrun"; | ||
492 | group = "wwwrun"; | ||
493 | settings = kanboard.phpFpm.pool; | ||
494 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
495 | }; | ||
496 | grocy = { | ||
497 | user = "wwwrun"; | ||
498 | group = "wwwrun"; | ||
499 | settings = grocy'.phpFpm.pool; | ||
500 | phpPackage = pkgs.php72.withExtensions({ enabled, all }: enabled ++ [all.redis]); | ||
501 | }; | ||
502 | }; | ||
503 | |||
504 | system.activationScripts = { | ||
505 | grocy = grocy'.activationScript; | ||
506 | ttrss = ttrss.activationScript; | ||
507 | wallabag = wallabag.activationScript; | ||
508 | rompr = rompr.activationScript; | ||
509 | shaarli = shaarli.activationScript; | ||
510 | dokuwiki = dokuwiki.activationScript; | ||
511 | phpbb = phpbb.activationScript; | ||
512 | kanboard = kanboard.activationScript; | ||
513 | }; | ||
514 | |||
515 | services.websites.env.tools.watchPaths = [ | ||
516 | config.secrets.fullPaths."webapps/tools-shaarli" | ||
517 | ]; | ||
518 | services.filesWatcher.phpfpm-wallabag = { | ||
519 | restart = true; | ||
520 | paths = [ config.secrets.fullPaths."webapps/tools-wallabag" ]; | ||
521 | }; | ||
522 | |||
523 | myServices.monitoring.fromMasterActivatedPlugins = lib.mkMerge [ | ||
524 | ttrss.monitoringPlugins | ||
525 | rompr.monitoringPlugins | ||
526 | wallabag.monitoringPlugins | ||
527 | yourls.monitoringPlugins | ||
528 | ympd.monitoringPlugins | ||
529 | dokuwiki.monitoringPlugins | ||
530 | shaarli.monitoringPlugins | ||
531 | ldap.monitoringPlugins | ||
532 | adminer.monitoringPlugins | ||
533 | ]; | ||
534 | myServices.monitoring.fromMasterObjects = lib.mkMerge [ | ||
535 | ttrss.monitoringObjects | ||
536 | rompr.monitoringObjects | ||
537 | wallabag.monitoringObjects | ||
538 | yourls.monitoringObjects | ||
539 | ympd.monitoringObjects | ||
540 | dokuwiki.monitoringObjects | ||
541 | shaarli.monitoringObjects | ||
542 | ldap.monitoringObjects | ||
543 | adminer.monitoringObjects | ||
544 | ]; | ||
545 | }; | ||
546 | } | ||
547 | |||
diff --git a/systems/eldiron/websites/tools/dmarc_reports.nix b/systems/eldiron/websites/tools/dmarc_reports.nix new file mode 100644 index 0000000..8b3aa99 --- /dev/null +++ b/systems/eldiron/websites/tools/dmarc_reports.nix | |||
@@ -0,0 +1,61 @@ | |||
1 | { env, config }: | ||
2 | rec { | ||
3 | keys."webapps/tools-dmarc-reports.php" = { | ||
4 | user = "wwwrun"; | ||
5 | group = "wwwrun"; | ||
6 | permissions = "0400"; | ||
7 | text = '' | ||
8 | <?php | ||
9 | $dbhost = "${env.mysql.host}"; | ||
10 | $dbname = "${env.mysql.database}"; | ||
11 | $dbuser = "${env.mysql.user}"; | ||
12 | $dbpass = "${env.mysql.password}"; | ||
13 | $dbport = "${builtins.toString env.mysql.port}"; | ||
14 | $anonymous_key = "${env.anonymous_key}"; | ||
15 | ?> | ||
16 | ''; | ||
17 | }; | ||
18 | webRoot = ./dmarc_reports; | ||
19 | apache = rec { | ||
20 | user = "wwwrun"; | ||
21 | group = "wwwrun"; | ||
22 | modules = [ "proxy_fcgi" ]; | ||
23 | root = webRoot; | ||
24 | vhostConf = socket: '' | ||
25 | Alias /dmarc-reports "${root}" | ||
26 | <Directory "${root}"> | ||
27 | DirectoryIndex index.html | ||
28 | <FilesMatch "\.php$"> | ||
29 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
30 | </FilesMatch> | ||
31 | |||
32 | AllowOverride None | ||
33 | Options +FollowSymlinks | ||
34 | |||
35 | SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 | ||
36 | Use LDAPConnect | ||
37 | Require all granted | ||
38 | Require ldap-attribute uid=immae | ||
39 | </Directory> | ||
40 | ''; | ||
41 | }; | ||
42 | phpFpm = rec { | ||
43 | basedir = builtins.concatStringsSep ":" | ||
44 | [ webRoot config.secrets.fullPaths."webapps/tools-dmarc-reports.php" ]; | ||
45 | pool = { | ||
46 | "listen.owner" = apache.user; | ||
47 | "listen.group" = apache.group; | ||
48 | "pm" = "ondemand"; | ||
49 | "pm.max_children" = "60"; | ||
50 | "pm.process_idle_timeout" = "60"; | ||
51 | |||
52 | "php_admin_value[session.save_handler]" = "redis"; | ||
53 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:DmarcReports:'"; | ||
54 | # Needed to avoid clashes in browser cookies (same domain) | ||
55 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
56 | }; | ||
57 | phpEnv = { | ||
58 | SECRETS_FILE = config.secrets.fullPaths."webapps/tools-dmarc-reports.php"; | ||
59 | }; | ||
60 | }; | ||
61 | } | ||
diff --git a/systems/eldiron/websites/tools/dmarc_reports/api.php b/systems/eldiron/websites/tools/dmarc_reports/api.php new file mode 100644 index 0000000..850f9ce --- /dev/null +++ b/systems/eldiron/websites/tools/dmarc_reports/api.php | |||
@@ -0,0 +1,122 @@ | |||
1 | <?php | ||
2 | |||
3 | require(getenv("SECRETS_FILE")); | ||
4 | |||
5 | $response = array( | ||
6 | "status" => "ok", | ||
7 | ); | ||
8 | $mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname, $dbport); | ||
9 | |||
10 | function error_die($text, $number) { | ||
11 | http_response_code("500"); | ||
12 | $message = array( | ||
13 | "status" => "error", | ||
14 | "message" => $text, | ||
15 | "code" => $number | ||
16 | ); | ||
17 | |||
18 | die(json_encode($message)); | ||
19 | } | ||
20 | |||
21 | $anonymous = isset($_GET['anonymous']) && $_GET['anonymous']; | ||
22 | function maybe_anonymize($string, $long = false) { | ||
23 | global $anonymous_key; | ||
24 | global $anonymous; | ||
25 | if ($anonymous) { | ||
26 | if ($long) { | ||
27 | return md5($anonymous_key . ":" . $string); | ||
28 | } else { | ||
29 | return substr(md5($anonymous_key . ":" . $string), 0, 6); | ||
30 | } | ||
31 | } else { | ||
32 | return $string; | ||
33 | } | ||
34 | } | ||
35 | |||
36 | if (!$anonymous && (!isset($_SERVER['HTTP_AUTHORIZATION']) || $_SERVER['HTTP_AUTHORIZATION'] === "")) { | ||
37 | header('WWW-Authenticate: Basic realm="Immae"'); | ||
38 | header('HTTP/1.0 401 Unauthorized'); | ||
39 | echo "You need to be authenticated to access private information"; | ||
40 | exit; | ||
41 | } | ||
42 | |||
43 | if ($mysqli->connect_errno) { | ||
44 | error_die($mysqli->connect_error, $mysqli->connect_errno); | ||
45 | } | ||
46 | |||
47 | if (!isset($_GET['serial'])) { | ||
48 | $response["domains"] = array(); | ||
49 | $query = $mysqli->query("SELECT DISTINCT domain FROM `report` ORDER BY domain"); | ||
50 | if ($mysqli->error) { error_die($mysqli->error, $mysqli->errno); } | ||
51 | while($row = $query->fetch_assoc()) { | ||
52 | $response["domains"][] = maybe_anonymize($row['domain']); | ||
53 | } | ||
54 | |||
55 | $response["orgs"] = array(); | ||
56 | $query = $mysqli->query("SELECT DISTINCT org FROM `report` ORDER BY org"); | ||
57 | if ($mysqli->error) { error_die($mysqli->error, $mysqli->errno); } | ||
58 | while($row = $query->fetch_assoc()) { | ||
59 | $response["orgs"][] = maybe_anonymize($row['org']); | ||
60 | } | ||
61 | |||
62 | $response["dates"] = array(); | ||
63 | $query = $mysqli->query("SELECT DISTINCT DISTINCT year(mindate) as year, month(mindate) as month FROM `report` ORDER BY year DESC,month DESC"); | ||
64 | if ($mysqli->error) { error_die($mysqli->error, $mysqli->errno); } | ||
65 | while($row = $query->fetch_assoc()) { | ||
66 | $response["dates"][] = sprintf( "%'.04d-%'.02d", $row['year'], $row['month'] ); | ||
67 | } | ||
68 | |||
69 | $response["summaries"] = array(); | ||
70 | if (isset($_GET['errors_only'])) { | ||
71 | $where = " WHERE (spfresult != 'pass' or dkimresult != 'pass')"; | ||
72 | } else { | ||
73 | $where = ""; | ||
74 | } | ||
75 | |||
76 | $sql = "SELECT report.* , sum(rptrecord.rcount) AS rcount, MIN(rptrecord.dkimresult) AS dkimresult, MIN(rptrecord.spfresult) AS spfresult FROM report LEFT JOIN (SELECT rcount, COALESCE(dkimresult, 'neutral') AS dkimresult, COALESCE(spfresult, 'neutral') AS spfresult, serial FROM rptrecord) AS rptrecord ON report.serial = rptrecord.serial$where GROUP BY serial ORDER BY mindate ASC, maxdate ASC, org"; | ||
77 | $query = $mysqli->query($sql); | ||
78 | if ($mysqli->error) { error_die($mysqli->error, $mysqli->errno); } | ||
79 | while($row = $query->fetch_assoc()) { | ||
80 | $wanted_keys = array( | ||
81 | 'domain', 'org', 'reportid', 'mindate', 'maxdate', 'rcount', 'serial', 'policy_adkim', 'policy_aspf', 'policy_none', 'policy_sp', 'policy_pct', 'spfresult', 'dkimresult' | ||
82 | ); | ||
83 | $row = array_intersect_key($row, array_fill_keys($wanted_keys, '1')); | ||
84 | $row["domain"] = maybe_anonymize($row["domain"]); | ||
85 | $row["org"] = maybe_anonymize($row["org"]); | ||
86 | $row["reportid"] = maybe_anonymize($row["reportid"], true); | ||
87 | $response["summaries"][] = $row; | ||
88 | } | ||
89 | } else { | ||
90 | $response["rptrecord"] = []; | ||
91 | $sql = $mysqli->prepare("SELECT * FROM rptrecord where serial = ?"); | ||
92 | $sql->bind_param("s", $_GET["serial"]); | ||
93 | $sql->execute(); | ||
94 | $query = $sql->get_result(); | ||
95 | if ($mysqli->error) { error_die($mysqli->error, $mysqli->errno); } | ||
96 | while($row = $query->fetch_assoc()) { | ||
97 | if ($row['ip']) { | ||
98 | $ip = long2ip($row['ip']); | ||
99 | $host = gethostbyaddr($ip); | ||
100 | } elseif ( $row['ip6'] ) { | ||
101 | $ip = inet_ntop($row['ip6']); | ||
102 | $host = gethostbyaddr($ip); | ||
103 | } else { | ||
104 | $ip = "-"; | ||
105 | $host = "-"; | ||
106 | } | ||
107 | $wanted_keys = array( | ||
108 | 'ip', 'host', 'rcount', 'disposition', 'reason', 'dkimdomain', 'dkimresult', 'spfdomain', 'spfresult' | ||
109 | ); | ||
110 | $row = array_intersect_key($row, array_fill_keys($wanted_keys, '1')); | ||
111 | $row['ip'] = maybe_anonymize($ip); | ||
112 | $row['host'] = maybe_anonymize($host); | ||
113 | $row['dkimdomain'] = maybe_anonymize($row['dkimdomain']); | ||
114 | $row['spfdomain'] = maybe_anonymize($row['spfdomain']); | ||
115 | $response["rptrecord"][] = $row; | ||
116 | } | ||
117 | } | ||
118 | |||
119 | header("Content-Type: application/json"); | ||
120 | |||
121 | echo json_encode($response, JSON_PRETTY_PRINT); | ||
122 | ?> | ||
diff --git a/systems/eldiron/websites/tools/dmarc_reports/app.js b/systems/eldiron/websites/tools/dmarc_reports/app.js new file mode 100644 index 0000000..8e8a6c4 --- /dev/null +++ b/systems/eldiron/websites/tools/dmarc_reports/app.js | |||
@@ -0,0 +1,103 @@ | |||
1 | const app = new Vue({ | ||
2 | el: '#app', | ||
3 | data: { | ||
4 | info: null, | ||
5 | summaries: null, | ||
6 | selectedSummary: null, | ||
7 | filterGreen: true, | ||
8 | filterDomain: null, | ||
9 | filterOrg: null, | ||
10 | //filterDate: (new Date()).toISOString().substring(0, 7), | ||
11 | filterDate: null, | ||
12 | reverse: true, | ||
13 | anonymous: true, | ||
14 | }, | ||
15 | created: async function () { | ||
16 | let that = this; | ||
17 | |||
18 | if ('anonymous' in localStorage) { | ||
19 | this.anonymous = JSON.parse(localStorage.anonymous); | ||
20 | } | ||
21 | this.fetchAll(); | ||
22 | }, | ||
23 | methods: { | ||
24 | fetchAll: async function() { | ||
25 | try { | ||
26 | this.info = await this.getInfo(); | ||
27 | this.summaries = this.info.summaries; | ||
28 | } catch (error) { | ||
29 | this.info = null; | ||
30 | this.summaries = null; | ||
31 | } | ||
32 | }, | ||
33 | toggleAnonymous: function() { | ||
34 | this.anonymous = !this.anonymous; | ||
35 | localStorage.anonymous = this.anonymous; | ||
36 | this.fetchAll(); | ||
37 | }, | ||
38 | filtered: function () { | ||
39 | let that = this; | ||
40 | let filtered = this.summaries.filter(function (summary) { | ||
41 | return (!that.filterGreen || that.getColor(summary) !== "lime") | ||
42 | && (!that.filterDomain || summary.domain === that.filterDomain) | ||
43 | && (!that.filterOrg || summary.org === that.filterOrg) | ||
44 | && (!that.filterDate || that.inDates(summary)); | ||
45 | }); | ||
46 | if (this.reverse) { | ||
47 | return filtered.reverse(); | ||
48 | } else { | ||
49 | return filtered; | ||
50 | } | ||
51 | }, | ||
52 | toggle: async function(summary) { | ||
53 | if (this.selectedSummary && this.selectedSummary.serial === summary.serial) { | ||
54 | this.selectedSummary = null; | ||
55 | } else { | ||
56 | if (!summary.details) { | ||
57 | summary.details = await this.getDetails(summary.serial); | ||
58 | } | ||
59 | this.selectedSummary = summary; | ||
60 | } | ||
61 | }, | ||
62 | inDates: function(summary) { | ||
63 | if (!this.filterDate) { return true; } | ||
64 | |||
65 | let mindate = (new Date(summary.mindate)).toISOString().substring(0, 7); | ||
66 | let maxdate = (new Date(summary.maxdate)).toISOString().substring(0, 7); | ||
67 | |||
68 | return mindate === this.filterDate || maxdate === this.filterDate; | ||
69 | }, | ||
70 | printDate: function (date) { | ||
71 | return (new Date(date)).toISOString().replace("T", " ").replace(/\..*Z$/, " UTC"); | ||
72 | }, | ||
73 | getColor: function (element) { | ||
74 | if (element.dkimresult === "fail" && element.spfresult === "fail") { | ||
75 | return "red"; | ||
76 | } else if (element.dkimresult === "fail" || element.spfresult === "fail") { | ||
77 | return "orange"; | ||
78 | } else if (element.dkimresult === "pass" && element.spfresult === "pass") { | ||
79 | return "lime"; | ||
80 | } else { | ||
81 | return "yellow"; | ||
82 | } | ||
83 | }, | ||
84 | getInfo: function (event) { | ||
85 | let anonymous = this.anonymous ? "anonymous=1" : ""; | ||
86 | return fetch(`api.php?${anonymous}`).then(function (response) { | ||
87 | if (response.status != 200) { return; } | ||
88 | return response.text().then(function (body) { | ||
89 | return JSON.parse(body); | ||
90 | }); | ||
91 | }); | ||
92 | }, | ||
93 | getDetails: function (serial) { | ||
94 | let anonymous = this.anonymous ? "&anonymous=1" : ""; | ||
95 | return fetch(`api.php?serial=${serial}${anonymous}`).then(function (response) { | ||
96 | if (response.status != 200) { return; } | ||
97 | return response.text().then(function (body) { | ||
98 | return JSON.parse(body); | ||
99 | }); | ||
100 | }); | ||
101 | } | ||
102 | } | ||
103 | }); | ||
diff --git a/systems/eldiron/websites/tools/dmarc_reports/default.css b/systems/eldiron/websites/tools/dmarc_reports/default.css new file mode 100644 index 0000000..9e0c63f --- /dev/null +++ b/systems/eldiron/websites/tools/dmarc_reports/default.css | |||
@@ -0,0 +1,130 @@ | |||
1 | h1 { | ||
2 | text-align: center; | ||
3 | } | ||
4 | |||
5 | p.warninginfo { | ||
6 | text-align: center; | ||
7 | } | ||
8 | |||
9 | table.reportlist { | ||
10 | margin: 2em auto 2em auto; | ||
11 | border-collapse: collapse; | ||
12 | clear: both; | ||
13 | } | ||
14 | |||
15 | table.reportlist td, table.reportlist th { | ||
16 | padding:3px; | ||
17 | } | ||
18 | |||
19 | table.reportlist thead { | ||
20 | border-top: 1px solid grey; | ||
21 | border-bottom: 1px solid grey; | ||
22 | |||
23 | } | ||
24 | table.reportlist tbody tr:first-child td { | ||
25 | padding-top: 10px; | ||
26 | } | ||
27 | table.reportlist tr.sum { | ||
28 | border-top: 1px solid grey; | ||
29 | } | ||
30 | table.reportlist tr.selected { | ||
31 | background-color: lightgrey; | ||
32 | } | ||
33 | .reportdesc { | ||
34 | font-weight: bold; | ||
35 | width: 90%; | ||
36 | margin-left: auto; | ||
37 | margin-right: auto; | ||
38 | } | ||
39 | |||
40 | tr.summaryrow { | ||
41 | cursor: pointer; | ||
42 | } | ||
43 | |||
44 | tr.summaryrow:hover, tr.summaryrow.selected { | ||
45 | background-color: lightgray; | ||
46 | border-left: 1px solid lightgray; | ||
47 | } | ||
48 | |||
49 | td.reportcell { | ||
50 | border-bottom: 1px solid lightgray; | ||
51 | border-left: 1px solid lightgray; | ||
52 | border-right: 1px solid lightgray; | ||
53 | } | ||
54 | |||
55 | table.reportdata { | ||
56 | margin: 0px auto 0px auto; | ||
57 | border-collapse: separate; | ||
58 | border-spacing: 2px; | ||
59 | } | ||
60 | |||
61 | table.reportdata tr th, table.reportdata tr td { | ||
62 | text-align: center; | ||
63 | padding: 3px; | ||
64 | } | ||
65 | |||
66 | table.reportdata tr.red { | ||
67 | background-color: #FF0000; | ||
68 | } | ||
69 | |||
70 | table.reportdata tr.orange { | ||
71 | background-color: #FFA500; | ||
72 | } | ||
73 | |||
74 | table.reportdata tr.lime { | ||
75 | background-color: #00FF00; | ||
76 | } | ||
77 | |||
78 | table.reportdata tr.yellow { | ||
79 | background-color: #FFFF00; | ||
80 | } | ||
81 | |||
82 | .optionblock { | ||
83 | background: lightgrey; | ||
84 | padding: 0.4em; | ||
85 | float: right; | ||
86 | margin: auto 2em 1em auto; | ||
87 | white-space: nowrap; | ||
88 | } | ||
89 | |||
90 | .optionlabel { | ||
91 | font-weight: bold; | ||
92 | float: left; clear: left; | ||
93 | margin-right: 1em; | ||
94 | } | ||
95 | |||
96 | .options { | ||
97 | font-size: 70%; | ||
98 | text-align: right; | ||
99 | border: none; | ||
100 | width: 97%; | ||
101 | padding: 0.4em; | ||
102 | } | ||
103 | |||
104 | .center { | ||
105 | text-align:center; | ||
106 | } | ||
107 | |||
108 | .circle_lime:before { | ||
109 | content: ' \25CF'; | ||
110 | font-size: 25px; | ||
111 | color: #00FF00; | ||
112 | } | ||
113 | |||
114 | .circle_red:before { | ||
115 | content: ' \25CF'; | ||
116 | font-size: 25px; | ||
117 | color: #FF0000; | ||
118 | } | ||
119 | |||
120 | .circle_yellow:before { | ||
121 | content: ' \25CF'; | ||
122 | font-size: 25px; | ||
123 | color: #FFFF00; | ||
124 | } | ||
125 | |||
126 | .circle_orange:before { | ||
127 | content: ' \25CF'; | ||
128 | font-size: 25px; | ||
129 | color: #FFA500; | ||
130 | } | ||
diff --git a/systems/eldiron/websites/tools/dmarc_reports/index.html b/systems/eldiron/websites/tools/dmarc_reports/index.html new file mode 100644 index 0000000..0afc82f --- /dev/null +++ b/systems/eldiron/websites/tools/dmarc_reports/index.html | |||
@@ -0,0 +1,128 @@ | |||
1 | <!DOCTYPE html> | ||
2 | <html> | ||
3 | |||
4 | <head> | ||
5 | <meta charset="utf-8"> | ||
6 | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
7 | <meta name="robots" content="noindex"> | ||
8 | <title>Dmarc reports</title> | ||
9 | <link rel="stylesheet" href="default.css"> | ||
10 | </head> | ||
11 | |||
12 | <body> | ||
13 | <div id="app" style="width: 100%"> | ||
14 | <div class="optionblock"> | ||
15 | <div class='options'> | ||
16 | <span class='optionlabel'>Anonymize</span> | ||
17 | <label><input type="radio" :value="false" v-model="anonymous" v-on:click="toggleAnonymous()"> no</label> | ||
18 | <label><input type="radio" :value="true" v-model="anonymous" v-on:click="toggleAnonymous()"> yes</label> | ||
19 | </div> | ||
20 | <template v-if="info"> | ||
21 | <div class='options'> | ||
22 | <span class='optionlabel'>Hide all-green lines:</span> | ||
23 | <label><input type="radio" :value="false" v-model="filterGreen"> no</label> | ||
24 | <label><input type="radio" :value="true" v-model="filterGreen"> yes</label> | ||
25 | </div> | ||
26 | <div class='options'> | ||
27 | <span class='optionlabel'>Sort order:</span> | ||
28 | <label><input type="radio" :value="false" v-model="reverse"> ascending</label> | ||
29 | <label><input type="radio" :value="true" v-model="reverse"> descending</label> | ||
30 | </div> | ||
31 | <div class='options'> | ||
32 | <span class='optionlabel'>Domain(s):</span> | ||
33 | <select v-model="filterDomain"> | ||
34 | <option selected="selected" :value="null">[all]</option> | ||
35 | <option v-for="domain in info.domains" :value="domain">{{ domain }}</option> | ||
36 | </select> | ||
37 | </div> | ||
38 | <div class='options'> | ||
39 | <span class='optionlabel'>Organisation(s):</span> | ||
40 | <select v-model="filterOrg"> | ||
41 | <option selected="selected" :value="null">[all]</option> | ||
42 | <option v-for="org in info.orgs" :value="org">{{ org }}</option> | ||
43 | </select> | ||
44 | </div> | ||
45 | <div class='options'> | ||
46 | <span class='optionlabel'>Time:</span> | ||
47 | <select v-model="filterDate"> | ||
48 | <option selected="selected" :value="null">[all]</option> | ||
49 | <option v-for="date in info.dates" :value="date">{{ date }}</option> | ||
50 | </select> | ||
51 | </div> | ||
52 | </template> | ||
53 | </div> | ||
54 | |||
55 | <h1 class='main'>DMARC Reports</h1> | ||
56 | <p v-if="!info" class="warninginfo"> | ||
57 | No information could be fetched. If in non-anonymous mode you need to be logged-in | ||
58 | </p> | ||
59 | <table class='reportlist' v-if="summaries"> | ||
60 | <thead> | ||
61 | <tr> | ||
62 | <th></th> | ||
63 | <th>Start Date</th> | ||
64 | <th>End Date</th> | ||
65 | <th>Domain</th> | ||
66 | <th>Reporting Organization</th> | ||
67 | <th>Report ID</th> | ||
68 | <th>Messages</th> | ||
69 | </tr> | ||
70 | </thead> | ||
71 | <tbody> | ||
72 | <template v-for="summary in filtered()"> | ||
73 | <tr v-on:click="toggle(summary)" class="summaryrow" | ||
74 | v-bind:class="[{ selected: selectedSummary && summary.serial === selectedSummary.serial }]"> | ||
75 | <td class='right'><span :class="'circle_' + getColor(summary)"></span></td> | ||
76 | <td class='right'>{{ printDate(summary.mindate) }}</td> | ||
77 | <td class='right'>{{ printDate(summary.maxdate) }}</td> | ||
78 | <td class='center'>{{ summary.domain }}</td> | ||
79 | <td class='center'>{{ summary.org }}</td> | ||
80 | <td class='center'>{{ summary.reportid }}</td> | ||
81 | <td class='center'>{{ summary.rcount }}</td> | ||
82 | </tr> | ||
83 | <tr v-if="selectedSummary && summary.serial === selectedSummary.serial"> | ||
84 | <td colspan="6" class="reportcell"> | ||
85 | <div class='center reportdesc'> | ||
86 | <p>Policies: adkim={{ summary.policy_adkim }}, aspf={{ summary.policy_aspf }}, p={{ summary.policy_none }}, sp={{ summary.policy_sp }}, pct={{ summary.policy_pct }}</p> | ||
87 | </div> | ||
88 | <table v-if="summary.details" class='reportdata'> | ||
89 | <thead> | ||
90 | <tr> | ||
91 | <th>IP Address</th> | ||
92 | <th>Host Name</th> | ||
93 | <th>Message Count</th> | ||
94 | <th>Disposition</th> | ||
95 | <th>Reason</th> | ||
96 | <th>DKIM Domain</th> | ||
97 | <th>Raw DKIM Result</th> | ||
98 | <th>SPF Domain</th> | ||
99 | <th>Raw SPF Result</th> | ||
100 | </tr> | ||
101 | </thead> | ||
102 | <tbody> | ||
103 | <tr v-for="record in summary.details.rptrecord" :class='getColor(record)'> | ||
104 | <td>{{ record.ip }}</td> | ||
105 | <td>{{ record.host }}</td> | ||
106 | <td>{{ record.rcount }}</td> | ||
107 | <td>{{ record.disposition }}</td> | ||
108 | <td>{{ record.reason }}</td> | ||
109 | <td>{{ record.dkimdomain }}</td> | ||
110 | <td>{{ record.dkimresult }}</td> | ||
111 | <td>{{ record.spfdomain }}</td> | ||
112 | <td>{{ record.spfresult }}</td> | ||
113 | </tr> | ||
114 | </tbody> | ||
115 | </table> | ||
116 | </td> | ||
117 | <td></td> | ||
118 | </tr> | ||
119 | </template> | ||
120 | </tbody> | ||
121 | </table> | ||
122 | </div> | ||
123 | |||
124 | <script src="https://assets.immae.eu/vue/2.6.11/vue.min.js" integrity="sha256-ngFW3UnAN0Tnm76mDuu7uUtYEcG3G5H1+zioJw3t+68=" crossorigin="anonymous"></script> | ||
125 | <script src="app.js"></script> | ||
126 | </body> | ||
127 | |||
128 | </html> | ||
diff --git a/systems/eldiron/websites/tools/dokuwiki.nix b/systems/eldiron/websites/tools/dokuwiki.nix new file mode 100644 index 0000000..813c426 --- /dev/null +++ b/systems/eldiron/websites/tools/dokuwiki.nix | |||
@@ -0,0 +1,106 @@ | |||
1 | { lib, stdenv, dokuwiki, dokuwiki-plugins, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/dokuwiki"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | if [ ! -d ${varDir} ]; then | ||
8 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
9 | ${varDir}/animals | ||
10 | cp -a ${webRoot}/conf.dist ${varDir}/conf | ||
11 | cp -a ${webRoot}/data.dist ${varDir}/data | ||
12 | cp -a ${webRoot}/ | ||
13 | chown -R ${apache.user}:${apache.user} ${varDir}/config ${varDir}/data | ||
14 | chmod -R 755 ${varDir}/config ${varDir}/data | ||
15 | fi | ||
16 | ''; | ||
17 | }; | ||
18 | chatonsHostingProperties = { | ||
19 | file.datetime = "2022-08-21T22:50:00"; | ||
20 | hosting = { | ||
21 | name = "Dokuwiki"; | ||
22 | description = "DokuWiki is a simple to use and highly versatile Open Source wiki software"; | ||
23 | website = "https://tools.immae.eu/dokuwiki/"; | ||
24 | logo = "https://tools.immae.eu/dokuwiki/lib/tpl/dokuwiki/images/apple-touch-icon.png"; | ||
25 | type = "INSTANCE"; | ||
26 | status.level = "OK"; | ||
27 | status.description = "OK"; | ||
28 | registration.load = "OPEN"; | ||
29 | install.type = "PACKAGE"; | ||
30 | }; | ||
31 | }; | ||
32 | chatonsProperties = { | ||
33 | file.datetime = "2022-08-21T22:50:00"; | ||
34 | service = { | ||
35 | name = "Dokuwiki"; | ||
36 | description = "DokuWiki is a simple to use and highly versatile Open Source wiki software"; | ||
37 | website = "https://tools.immae.eu/dokuwiki/"; | ||
38 | logo = "https://tools.immae.eu/dokuwiki/lib/tpl/dokuwiki/images/apple-touch-icon.png"; | ||
39 | status.level = "OK"; | ||
40 | status.description = "OK"; | ||
41 | registration."" = ["MEMBER" "CLIENT"]; | ||
42 | registration.load = "OPEN"; | ||
43 | install.type = "PACKAGE"; | ||
44 | }; | ||
45 | software = { | ||
46 | name = "Dokuwiki"; | ||
47 | website = "https://www.dokuwiki.org/dokuwiki"; | ||
48 | license.url = "http://www.gnu.org/licenses/gpl-2.0.html"; | ||
49 | license.name = "GNU General Public License Version 2"; | ||
50 | version = webRoot.version; | ||
51 | source.url = "https://download.dokuwiki.org/"; | ||
52 | modules = map (a: a.pluginName) webRoot.plugins; | ||
53 | }; | ||
54 | }; | ||
55 | webRoot = dokuwiki.withPlugins (p: [ p.farmer p.todo ]); | ||
56 | apache = rec { | ||
57 | user = "wwwrun"; | ||
58 | group = "wwwrun"; | ||
59 | modules = [ "proxy_fcgi" ]; | ||
60 | root = webRoot; | ||
61 | vhostConf = socket: '' | ||
62 | Alias /dokuwiki "${root}" | ||
63 | <Directory "${root}"> | ||
64 | DirectoryIndex index.php | ||
65 | <FilesMatch "\.php$"> | ||
66 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
67 | </FilesMatch> | ||
68 | |||
69 | AllowOverride All | ||
70 | Options +FollowSymlinks | ||
71 | Require all granted | ||
72 | </Directory> | ||
73 | ''; | ||
74 | }; | ||
75 | phpFpm = rec { | ||
76 | serviceDeps = [ "openldap.service" ]; | ||
77 | basedir = builtins.concatStringsSep ":" ( | ||
78 | [ webRoot varDir ] ++ webRoot.plugins); | ||
79 | pool = { | ||
80 | "listen.owner" = apache.user; | ||
81 | "listen.group" = apache.group; | ||
82 | "pm" = "ondemand"; | ||
83 | "pm.max_children" = "60"; | ||
84 | "pm.process_idle_timeout" = "60"; | ||
85 | |||
86 | # Needed to avoid clashes in browser cookies (same domain) | ||
87 | "php_value[session.name]" = "DokuwikiPHPSESSID"; | ||
88 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
89 | "php_admin_value[session.save_handler]" = "redis"; | ||
90 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Dokuwiki:'"; | ||
91 | }; | ||
92 | }; | ||
93 | monitoringPlugins = [ "http" ]; | ||
94 | monitoringObjects.service = [ | ||
95 | { | ||
96 | service_description = "dokuwiki website is running on tools.immae.eu"; | ||
97 | host_name = config.hostEnv.fqdn; | ||
98 | use = "external-web-service"; | ||
99 | check_command = ["check_https" "tools.immae.eu" "/dokuwiki/" "<title>start"]; | ||
100 | |||
101 | servicegroups = "webstatus-webapps"; | ||
102 | _webstatus_name = "Dokuwiki"; | ||
103 | _webstatus_url = "https://tools.immae.eu/dokuwiki/"; | ||
104 | } | ||
105 | ]; | ||
106 | } | ||
diff --git a/systems/eldiron/websites/tools/grocy.nix b/systems/eldiron/websites/tools/grocy.nix new file mode 100644 index 0000000..96e18a3 --- /dev/null +++ b/systems/eldiron/websites/tools/grocy.nix | |||
@@ -0,0 +1,48 @@ | |||
1 | { lib, stdenv, grocy }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/grocy"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/data | ||
8 | ''; | ||
9 | }; | ||
10 | webRoot = grocy.webRoot; | ||
11 | apache = rec { | ||
12 | user = "wwwrun"; | ||
13 | group = "wwwrun"; | ||
14 | modules = [ "proxy_fcgi" ]; | ||
15 | root = webRoot; | ||
16 | vhostConf = socket: '' | ||
17 | Alias /grocy "${root}" | ||
18 | <Directory "${root}"> | ||
19 | DirectoryIndex index.php | ||
20 | <FilesMatch "\.php$"> | ||
21 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
22 | </FilesMatch> | ||
23 | |||
24 | AllowOverride All | ||
25 | Options +FollowSymlinks | ||
26 | Require all granted | ||
27 | </Directory> | ||
28 | ''; | ||
29 | }; | ||
30 | phpFpm = rec { | ||
31 | basedir = builtins.concatStringsSep ":" ( | ||
32 | [ grocy grocy.yarnModules varDir ]); | ||
33 | pool = { | ||
34 | "listen.owner" = apache.user; | ||
35 | "listen.group" = apache.group; | ||
36 | "pm" = "ondemand"; | ||
37 | "pm.max_children" = "60"; | ||
38 | "pm.process_idle_timeout" = "60"; | ||
39 | |||
40 | # Needed to avoid clashes in browser cookies (same domain) | ||
41 | "php_value[session.name]" = "grocyPHPSESSID"; | ||
42 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
43 | "php_admin_value[session.save_handler]" = "redis"; | ||
44 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Grocy:'"; | ||
45 | }; | ||
46 | }; | ||
47 | } | ||
48 | |||
diff --git a/systems/eldiron/websites/tools/kanboard.nix b/systems/eldiron/websites/tools/kanboard.nix new file mode 100644 index 0000000..db39ecd --- /dev/null +++ b/systems/eldiron/websites/tools/kanboard.nix | |||
@@ -0,0 +1,81 @@ | |||
1 | { env, kanboard, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/kanboard"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/data | ||
8 | install -TDm644 ${webRoot}/dataold/.htaccess ${varDir}/data/.htaccess | ||
9 | install -TDm644 ${webRoot}/dataold/web.config ${varDir}/data/web.config | ||
10 | ''; | ||
11 | }; | ||
12 | keys."webapps/tools-kanboard" = { | ||
13 | user = apache.user; | ||
14 | group = apache.group; | ||
15 | permissions = "0400"; | ||
16 | text = '' | ||
17 | SetEnv MAIL_FROM "kanboard@tools.immae.eu" | ||
18 | |||
19 | SetEnv DB_DRIVER "postgres" | ||
20 | SetEnv DB_USERNAME "${env.postgresql.user}" | ||
21 | SetEnv DB_PASSWORD "${env.postgresql.password}" | ||
22 | SetEnv DB_HOSTNAME "${env.postgresql.socket}" | ||
23 | SetEnv DB_NAME "${env.postgresql.database}" | ||
24 | |||
25 | SetEnv DATA_DIR "${varDir}" | ||
26 | SetEnv LDAP_AUTH "true" | ||
27 | SetEnv LDAP_SERVER "${env.ldap.host}" | ||
28 | SetEnv LDAP_START_TLS "true" | ||
29 | |||
30 | SetEnv LDAP_BIND_TYPE "proxy" | ||
31 | SetEnv LDAP_USERNAME "${env.ldap.dn}" | ||
32 | SetEnv LDAP_PASSWORD "${env.ldap.password}" | ||
33 | SetEnv LDAP_USER_BASE_DN "${env.ldap.base}" | ||
34 | SetEnv LDAP_USER_FILTER "${env.ldap.filter}" | ||
35 | SetEnv LDAP_GROUP_ADMIN_DN "${env.ldap.admin_dn}" | ||
36 | ''; | ||
37 | }; | ||
38 | webRoot = kanboard; | ||
39 | apache = rec { | ||
40 | user = "wwwrun"; | ||
41 | group = "wwwrun"; | ||
42 | modules = [ "proxy_fcgi" ]; | ||
43 | root = webRoot; | ||
44 | vhostConf = socket: '' | ||
45 | Alias /kanboard "${root}" | ||
46 | <Location /kanboard> | ||
47 | Include ${config.secrets.fullPaths."webapps/tools-kanboard"} | ||
48 | </Location> | ||
49 | <Directory "${root}"> | ||
50 | DirectoryIndex index.php | ||
51 | AllowOverride All | ||
52 | Options FollowSymlinks | ||
53 | Require all granted | ||
54 | |||
55 | <FilesMatch "\.php$"> | ||
56 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
57 | </FilesMatch> | ||
58 | </Directory> | ||
59 | <DirectoryMatch "${root}/data"> | ||
60 | Require all denied | ||
61 | </DirectoryMatch> | ||
62 | ''; | ||
63 | }; | ||
64 | phpFpm = rec { | ||
65 | serviceDeps = [ "postgresql.service" "openldap.service" ]; | ||
66 | basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; | ||
67 | pool = { | ||
68 | "listen.owner" = apache.user; | ||
69 | "listen.group" = apache.group; | ||
70 | "pm" = "ondemand"; | ||
71 | "pm.max_children" = "60"; | ||
72 | "pm.process_idle_timeout" = "60"; | ||
73 | |||
74 | # Needed to avoid clashes in browser cookies (same domain) | ||
75 | "php_value[session.name]" = "KanboardPHPSESSID"; | ||
76 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
77 | "php_admin_value[session.save_handler]" = "redis"; | ||
78 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Kanboard:'"; | ||
79 | }; | ||
80 | }; | ||
81 | } | ||
diff --git a/systems/eldiron/websites/tools/landing.nix b/systems/eldiron/websites/tools/landing.nix new file mode 100644 index 0000000..f5d851e --- /dev/null +++ b/systems/eldiron/websites/tools/landing.nix | |||
@@ -0,0 +1,38 @@ | |||
1 | { stdenv, yarn2nix-moretea, nodejs_16 }: | ||
2 | let | ||
3 | source = builtins.fetchGit { | ||
4 | url = "https://git.immae.eu/github/bastienwirtz/homer.git"; | ||
5 | ref = "gitolite_local/local_changes"; | ||
6 | rev = "bb60c5b869931f305f15c5bfa9cdb3f68702f01f"; | ||
7 | narHash = "sha256-xBIBUJhQ7KPY0d92pW9ErA9OvGafWcxyuGkbHShF4Bs="; | ||
8 | }; | ||
9 | yarnModules = yarn2nix-moretea.mkYarnModules rec { | ||
10 | nodejs = nodejs_16; | ||
11 | name = "landing"; | ||
12 | pname = name; | ||
13 | version = "v1.0.0"; | ||
14 | packageJSON = "${source}/package.json"; | ||
15 | yarnLock = "${source}/yarn.lock"; | ||
16 | yarnNix = ./landing/yarn-packages.nix; | ||
17 | }; | ||
18 | in | ||
19 | stdenv.mkDerivation rec { | ||
20 | pname = "landing"; | ||
21 | version = "v1.0.0"; | ||
22 | src = source; | ||
23 | |||
24 | buildInputs = [ yarnModules yarn2nix-moretea.yarn ]; | ||
25 | configurePhase = '' | ||
26 | ln -s ${yarnModules}/node_modules . | ||
27 | ''; | ||
28 | buildPhase = '' | ||
29 | # See https://stackoverflow.com/questions/74548318/how-to-resolve-error-error0308010cdigital-envelope-routinesunsupported-no | ||
30 | export NODE_OPTIONS=--openssl-legacy-provider | ||
31 | yarn build | ||
32 | ''; | ||
33 | installPhase = '' | ||
34 | cp -a dist $out | ||
35 | cp ${./landing}/*.php $out/ | ||
36 | ln -s service-worker.js $out/worker.js | ||
37 | ''; | ||
38 | } | ||
diff --git a/systems/eldiron/websites/tools/landing/ldap_password.php b/systems/eldiron/websites/tools/landing/ldap_password.php new file mode 100644 index 0000000..efb4f57 --- /dev/null +++ b/systems/eldiron/websites/tools/landing/ldap_password.php | |||
@@ -0,0 +1,170 @@ | |||
1 | <?php | ||
2 | |||
3 | /** | ||
4 | * LDAP PHP Change Password Webpage | ||
5 | * @author: Matt Rude <http://mattrude.com> | ||
6 | * @website: http://technology.mattrude.com/2010/11/ldap-php-change-password-webpage/ | ||
7 | * | ||
8 | * | ||
9 | * GNU GENERAL PUBLIC LICENSE | ||
10 | * Version 2, June 1991 | ||
11 | * | ||
12 | * Copyright (C) 1989, 1991 Free Software Foundation, Inc., | ||
13 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
14 | * Everyone is permitted to copy and distribute verbatim copies | ||
15 | * of this license document, but changing it is not allowed. | ||
16 | */ | ||
17 | |||
18 | $message = array(); | ||
19 | $message_css = ""; | ||
20 | |||
21 | function changePasswordLDAP($con, $user_dn, $newPassword){ | ||
22 | global $message; | ||
23 | $salt = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',4)),0,4); | ||
24 | $encoded_newPassword = "{SSHA}" . base64_encode(pack("H*", sha1($newPassword.$salt)).$salt); | ||
25 | |||
26 | $entry = array(); | ||
27 | $entry["userPassword"] = "$encoded_newPassword"; | ||
28 | |||
29 | if (ldap_modify($con,$user_dn,$entry) === false){ | ||
30 | $error = ldap_error($con); | ||
31 | $errno = ldap_errno($con); | ||
32 | $message[] = "$errno - $error"; | ||
33 | return false; | ||
34 | } else { | ||
35 | return true; | ||
36 | } | ||
37 | } | ||
38 | |||
39 | function changePasswordSQL($user_realm, $newPassword) { | ||
40 | global $message; | ||
41 | |||
42 | foreach(["PGUSER", "PGPASSWORD", "PGDATABASE", "PGHOST"] as $k) { | ||
43 | if (isset($_SERVER[$k]) && !isset($_ENV[$k])) { | ||
44 | putenv("${k}=" . $_SERVER[$k]); | ||
45 | } | ||
46 | } | ||
47 | $con = pg_connect(""); | ||
48 | $result = pg_query_params($con, "WITH newsalt as (SELECT gen_random_bytes(4)) UPDATE ldap_users SET password = encode(digest( $1 || (SELECT * FROM newsalt), 'sha1'), 'hex'), mechanism = 'SSHA', salt = (SELECT * FROM newsalt) where login || '@' || realm = $2", array($newPassword, $user_realm)); | ||
49 | if (!$result) { | ||
50 | $message[] = "Error when accessing database"; | ||
51 | return false; | ||
52 | } else { | ||
53 | return true; | ||
54 | } | ||
55 | } | ||
56 | |||
57 | function changePassword($user,$oldPassword,$newPassword,$newPasswordCnf){ | ||
58 | global $message; | ||
59 | global $message_css; | ||
60 | |||
61 | $server = "ldaps://ldap.immae.eu"; | ||
62 | |||
63 | error_reporting(0); | ||
64 | $con = ldap_connect($server); | ||
65 | ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3); | ||
66 | |||
67 | $user_dn = "uid=$user,ou=users,dc=immae,dc=eu"; | ||
68 | |||
69 | if (ldap_bind($con, $user_dn, $oldPassword) === false) { | ||
70 | $user_dn = "uid=$user,ou=group_users,dc=immae,dc=eu"; | ||
71 | if (ldap_bind($con, $user_dn, $oldPassword) === false) { | ||
72 | $message[] = "Error E101 - Current Username or Password is wrong."; | ||
73 | return false; | ||
74 | } | ||
75 | } | ||
76 | if ($newPassword != $newPasswordCnf ) { | ||
77 | $message[] = "Error E102 - Your New passwords do not match!"; | ||
78 | return false; | ||
79 | } | ||
80 | if (strlen($newPassword) < 6 ) { | ||
81 | $message[] = "Error E103 - Your new password is too short.<br/>Your password must be at least 6 characters long."; | ||
82 | return false; | ||
83 | } | ||
84 | |||
85 | $user_search = ldap_search($con,"dc=immae,dc=eu","(uid=$user)"); | ||
86 | $auth_entry = ldap_first_entry($con, $user_search); | ||
87 | |||
88 | $mail_address = ldap_get_values($con, $auth_entry, "mail")[0]; | ||
89 | $first_name = ldap_get_values($con, $auth_entry, "givenName")[0]; | ||
90 | $existing_password = ldap_get_values($con, $auth_entry, "userPassword")[0]; | ||
91 | if (substr($existing_password, 0, 6) == "{SASL}") { | ||
92 | $result = changePasswordSQL(substr($existing_password, 6), $newPassword); | ||
93 | } else { | ||
94 | $result = changePasswordLDAP($con, $user_dn, $newPassword); | ||
95 | } | ||
96 | |||
97 | if (!$result) { | ||
98 | $message[] = "E201 - Your password cannot be changed, please contact the administrator."; | ||
99 | } else { | ||
100 | $message_css = "yes"; | ||
101 | mail($mail_address,"Password change notice","Dear $first_name, | ||
102 | Your password on https://tools.immae.eu/ldap_password.php for account $user was just changed. | ||
103 | If you did not make this change, please contact me. | ||
104 | If you were the one who changed your password, you may disregard this message. | ||
105 | |||
106 | Thanks | ||
107 | -- | ||
108 | Immae / Ismaël", "From: " . getenv("CONTACT_EMAIL")); | ||
109 | $message[] = "The password for $user has been changed.<br/>An informational email has been sent to $mail_address.<br/>Your new password is now fully active."; | ||
110 | } | ||
111 | } | ||
112 | |||
113 | ?> | ||
114 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
115 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
116 | <head> | ||
117 | <title>Password Change Page</title> | ||
118 | <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
119 | <link rel="stylesheet" href="https://assets.immae.eu/skeleton/2.0.4/skeleton.min.css" integrity="sha256-2YQRJMXD7pIAPHiXr0s+vlRWA7GYJEK0ARns7k2sbHY=" crossorigin="anonymous" /> | ||
120 | <style type="text/css"> | ||
121 | body { font-family: Verdana,Arial,Courier New; margin: auto; } | ||
122 | |||
123 | .msg_yes { margin: 0 auto; text-align: center; color: green; background: #D4EAD4; border: 1px solid green; border-radius: 10px; margin: 2px; } | ||
124 | .msg_no { margin: 0 auto; text-align: center; color: red; background: #FFF0F0; border: 1px solid red; border-radius: 10px; margin: 2px; } | ||
125 | </style> | ||
126 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | ||
127 | </head> | ||
128 | <body> | ||
129 | <div class="container"> | ||
130 | <form action="<?php print $_SERVER['PHP_SELF']; ?>" name="passwordChange" method="post"> | ||
131 | <h3>Password Change Page</h3> | ||
132 | <?php | ||
133 | if (isset($_POST["submitted"])) { | ||
134 | echo '<div class="row">'; | ||
135 | changePassword($_POST['username'],$_POST['oldPassword'],$_POST['newPassword1'],$_POST['newPassword2']); | ||
136 | global $message_css; | ||
137 | if ($message_css == "yes") { | ||
138 | echo '<div class="msg_yes">'; | ||
139 | } else { | ||
140 | echo '<div class="msg_no">'; | ||
141 | $message[] = "Your password was not changed."; | ||
142 | } | ||
143 | foreach ( $message as $one ) { echo "<p>$one</p>"; } | ||
144 | ?></div></div><?php | ||
145 | } ?> | ||
146 | <div class="row"> | ||
147 | <div class="one-third column"><label for="username">Username</label></div> | ||
148 | <div class="two-thirds column"><input id="username" name="username" type="text" autocomplete="off" /></div> | ||
149 | </div> | ||
150 | <div class="row"> | ||
151 | <div class="one-third column"><label for="oldPassword">Current password</label></div> | ||
152 | <div class="two-thirds column"><input id="oldPassword" name="oldPassword" type="password" /></div> | ||
153 | </div> | ||
154 | <div class="row"> | ||
155 | <div class="one-third column"><label for="newPassword1">New password</label></div> | ||
156 | <div class="two-thirds column"><input id="newPassword1" name="newPassword1" type="password" /></div> | ||
157 | </div> | ||
158 | <div class="row"> | ||
159 | <div class="one-third column"><label for="newPassword2">New password (again)</label></div> | ||
160 | <div class="two-thirds column"><input id="newPassword2" name="newPassword2" type="password" /></div> | ||
161 | </div> | ||
162 | <div class="row"> | ||
163 | <div class="column"> | ||
164 | <input name="submitted" type="submit" value="Change Password"/> | ||
165 | </div> | ||
166 | </div> | ||
167 | </form> | ||
168 | </div> | ||
169 | </body> | ||
170 | </html> | ||
diff --git a/systems/eldiron/websites/tools/landing/ldap_ssh_keys.php b/systems/eldiron/websites/tools/landing/ldap_ssh_keys.php new file mode 100644 index 0000000..85ed973 --- /dev/null +++ b/systems/eldiron/websites/tools/landing/ldap_ssh_keys.php | |||
@@ -0,0 +1,343 @@ | |||
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> | ||
3 | <head> | ||
4 | <title>ImmaeEu Account</title> | ||
5 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> | ||
6 | <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
7 | <link rel="stylesheet" href="https://assets.immae.eu/skeleton/2.0.4/skeleton.min.css" integrity="sha256-2YQRJMXD7pIAPHiXr0s+vlRWA7GYJEK0ARns7k2sbHY=" crossorigin="anonymous" /> | ||
8 | <style type="text/css"> | ||
9 | body { | ||
10 | font-family: Verdana,Arial,Courier New; | ||
11 | margin: auto; | ||
12 | } | ||
13 | table#ssh_keys_list textarea { | ||
14 | width: 100%; | ||
15 | height: 100%; | ||
16 | } | ||
17 | table#ssh_keys_list tbody tr.sshkeyrow { | ||
18 | height: 130px; | ||
19 | } | ||
20 | table#ssh_keys_list tbody tr.headrow th { | ||
21 | border-bottom: 0px !important; | ||
22 | padding-bottom: 0px !important; | ||
23 | } | ||
24 | table#ssh_keys_list tbody tr.mainrow td:not(.delete-button) { | ||
25 | border-bottom: 0px !important; | ||
26 | padding-bottom: 0px !important; | ||
27 | } | ||
28 | table#ssh_keys_list td.sshkey { | ||
29 | min-width: 600px; | ||
30 | height: 100%; | ||
31 | padding-top: 0px !important; | ||
32 | } | ||
33 | |||
34 | table#ssh_keys_list td.comment { | ||
35 | min-width: 160px; | ||
36 | } | ||
37 | |||
38 | </style> | ||
39 | </head> | ||
40 | <body> | ||
41 | <div class="container"> | ||
42 | <h1>Gestion des clés SSH</h1> | ||
43 | <?php | ||
44 | |||
45 | $connection = NULL; | ||
46 | |||
47 | session_start(); | ||
48 | |||
49 | // Liste des applications gérées | ||
50 | const apps = [ | ||
51 | 'git', | ||
52 | 'pub', | ||
53 | 'ftp', | ||
54 | 'ssh', | ||
55 | 'forward', | ||
56 | ]; | ||
57 | |||
58 | function checkSshKey($sshKey) | ||
59 | { | ||
60 | $exploded = explode(' ', $sshKey); | ||
61 | if (count($exploded) != 2) { | ||
62 | return false; | ||
63 | } | ||
64 | if (!in_array($exploded[0], array('ssh-rsa', 'ssh-ed25519'))) { | ||
65 | return false; | ||
66 | } | ||
67 | $decoded = base64_decode($exploded[1], true); | ||
68 | if ($decoded === FALSE) { | ||
69 | return false; | ||
70 | } | ||
71 | $decoded = preg_replace("/[^\w\-]/","", (string) $decoded); | ||
72 | if (substr($decoded, 0, strlen($exploded[0])) !== $exploded[0]) { | ||
73 | return false; | ||
74 | } | ||
75 | |||
76 | return true; | ||
77 | } | ||
78 | |||
79 | function isUserLogged() | ||
80 | { | ||
81 | return (isset($_SESSION["login"])); | ||
82 | } | ||
83 | |||
84 | function checkLogin($user, $password) | ||
85 | { | ||
86 | $server = "ldaps://ldap.immae.eu"; | ||
87 | $con = ldap_connect($server); | ||
88 | ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3); | ||
89 | |||
90 | $user_dn = "uid=$user,ou=users,dc=immae,dc=eu"; | ||
91 | |||
92 | if (ldap_bind($con, $user_dn, $password) === false) { | ||
93 | return false; | ||
94 | } | ||
95 | $_SESSION["user_dn"] = $user_dn; | ||
96 | |||
97 | $user_search = ldap_search($con,"dc=immae,dc=eu","(uid=$user)"); | ||
98 | $auth_entry = ldap_first_entry($con, $user_search); | ||
99 | |||
100 | return true; | ||
101 | } | ||
102 | |||
103 | function connectPg() { | ||
104 | foreach(["PGUSER", "PGPASSWORD", "PGDATABASE", "PGHOST"] as $k) { | ||
105 | if (isset($_SERVER[$k]) && !isset($_ENV[$k])) { | ||
106 | putenv("${k}=" . $_SERVER[$k]); | ||
107 | } | ||
108 | } | ||
109 | $con = pg_connect(""); | ||
110 | if (!$con) { | ||
111 | die("database access error"); | ||
112 | } | ||
113 | return $con; | ||
114 | } | ||
115 | |||
116 | function getKeys() | ||
117 | { | ||
118 | $keys = []; | ||
119 | if (!isset($_SESSION["login"])) | ||
120 | return $keys; | ||
121 | $pg = connectPg(); | ||
122 | $result = pg_query_params($pg, "SELECT id,key,array_to_json(usage) as usage,comment FROM ldap_users_ssh_keys WHERE realm = 'immae' AND login = $1 ORDER BY id", array($_SESSION["login"])); | ||
123 | if (!$result) { | ||
124 | die("database access error"); | ||
125 | } | ||
126 | $keys = []; | ||
127 | while ($row = pg_fetch_assoc($result)) { | ||
128 | $keys[] = array( | ||
129 | 'id' => $row["id"], | ||
130 | 'apps' => json_decode($row["usage"]), | ||
131 | 'public_key' => $row["key"], | ||
132 | 'comment' => $row["comment"], | ||
133 | ); | ||
134 | } | ||
135 | |||
136 | pg_close($pg); | ||
137 | return $keys; | ||
138 | } | ||
139 | |||
140 | function saveKeys($keys) | ||
141 | { | ||
142 | if (!isset($_SESSION["login"])) { | ||
143 | return false; | ||
144 | } | ||
145 | $pg = connectPg(); | ||
146 | $existingIds = pg_fetch_all_columns(pg_query_params($pg, "SELECT id FROM ldap_users_ssh_keys WHERE realm = 'immae' AND login = $1", array($_SESSION["login"]))); | ||
147 | foreach ($keys as $key) { | ||
148 | if (isset($key["id"])) { | ||
149 | unset($existingIds[array_search($key["id"],$existingIds)]); | ||
150 | pg_query_params($pg, "UPDATE ldap_users_ssh_keys SET key = $2, usage = ARRAY(SELECT * FROM json_array_elements_text($3))::ldap_users_ssh_key_usage[], comment = $4 WHERE id = $5 AND login = $1 AND realm = 'immae'", array($_SESSION["login"], $key["public_key"], json_encode($key["apps"]), $key["comment"], $key["id"])); | ||
151 | } else { | ||
152 | pg_query_params($pg, "INSERT INTO ldap_users_ssh_keys (login,realm,key,usage,comment) values ($1,'immae',$2,ARRAY(SELECT * FROM json_array_elements_text($3))::ldap_users_ssh_key_usage[],$4)", array($_SESSION["login"], $key["public_key"], json_encode($key["apps"]), $key["comment"])); | ||
153 | } | ||
154 | } | ||
155 | foreach ($existingIds as $removedKeyId) { | ||
156 | pg_query_params($pg, "DELETE FROM ldap_users_ssh_keys WHERE login = $1 AND realm = 'immae' AND id = $2", array($_SESSION["login"], $removedKeyId)); | ||
157 | } | ||
158 | } | ||
159 | |||
160 | |||
161 | // Script | ||
162 | if (isset($_POST['deconnexion'])) { | ||
163 | $_SESSION = []; | ||
164 | } | ||
165 | |||
166 | if (isset($_POST['sauvegarder'])) { | ||
167 | $editedKeys = []; | ||
168 | $errors = false; | ||
169 | $keysToSave = []; | ||
170 | foreach($_POST['keys'] as $id => $key) { | ||
171 | $editedKeys[$id] = $key; | ||
172 | if (!checkSshKey($key['public_key'])) { | ||
173 | $editedKeys[$id]['error'] = true; | ||
174 | $errors = true; | ||
175 | } | ||
176 | |||
177 | if (!isset($key['apps'])) { | ||
178 | $editedKeys[$id]['apps'] = $key['apps'] = []; | ||
179 | |||
180 | } | ||
181 | foreach ($key['apps'] as $app) { | ||
182 | if (!in_array($app, apps)) { | ||
183 | die("integrity"); | ||
184 | } | ||
185 | } | ||
186 | |||
187 | if (!isset($editedKeys[$id]['error']) || $editedKeys[$id]['error'] !== true) { | ||
188 | $keysToSave[] = $key; | ||
189 | } | ||
190 | } | ||
191 | |||
192 | if (!$errors) { | ||
193 | $successSave = saveKeys($keysToSave); | ||
194 | } | ||
195 | } | ||
196 | |||
197 | $loginErrors = ""; | ||
198 | if (isset($_POST['login'])) { | ||
199 | if (empty($_POST['username']) || empty($_POST['password'])) { | ||
200 | $loginErrors = "Le nom d'utilisateur et le mot de passe sont requis."; | ||
201 | } elseif (!checkLogin($_POST['username'], $_POST['password'])) { | ||
202 | $loginErrors = "Identifiants incorrects."; | ||
203 | } else { | ||
204 | $_SESSION['login'] = $_POST['username']; | ||
205 | } | ||
206 | } | ||
207 | |||
208 | if (isUserLogged()) : | ||
209 | $keys = isset($editedKeys) ? $editedKeys : getKeys(); | ||
210 | ?> | ||
211 | <p>Connecté en tant que <b><?= $_SESSION['login']; ?></b></p> | ||
212 | |||
213 | <form method="post"> | ||
214 | <input type="submit" name="deconnexion" value="Déconnexion"> | ||
215 | </form> | ||
216 | |||
217 | <?php if (isset($successSave) && $successSave === true) : ?> | ||
218 | <p style="color: green;">Clés enregistrées avec succès.</p> | ||
219 | <?php endif; ?> | ||
220 | |||
221 | <form method="post"> | ||
222 | <table id="ssh_keys_list"> | ||
223 | <tbody> | ||
224 | <?php | ||
225 | foreach ($keys as $id => $sshKey) : | ||
226 | ?> | ||
227 | <tr class="headrow"> | ||
228 | <th>Description</th> | ||
229 | <?php foreach (apps as $app) : ?> | ||
230 | <th><?= $app ?></th> | ||
231 | <?php endforeach; ?> | ||
232 | <th></th> | ||
233 | </tr> | ||
234 | <tr class="mainrow"> | ||
235 | <td class="comment"><textarea name="keys[<?= $id ?>][comment]"><?= $sshKey['comment'] ?></textarea></td> | ||
236 | <?php | ||
237 | foreach (apps as $app) : | ||
238 | $checked = in_array($app, $sshKey['apps']); | ||
239 | ?> | ||
240 | <td><input type="checkbox" name="keys[<?= $id ?>][apps][]" value="<?= $app ?>"<?= $checked ? ' checked' : '' ?>></td> | ||
241 | <?php endforeach; ?> | ||
242 | <td class="delete-button" rowspan="2"><input type="hidden" name="keys[<?= $id ?>][id]" value="<?= $sshKey["id"] ?>"><button class="delete">Suppr.</button></td> | ||
243 | </tr> | ||
244 | <tr class="sshkeyrow"> | ||
245 | <td colspan="<?php echo 1+count(apps); ?>" class="sshkey"><textarea name="keys[<?= $id ?>][public_key]" <?php if (isset($sshKey['error']) && $sshKey['error'] === true) :?>style="color: red"<?php endif; ?>><?= $sshKey['public_key'] ?></textarea></td> | ||
246 | </tr> | ||
247 | <?php | ||
248 | endforeach; | ||
249 | ?> | ||
250 | </tbody> | ||
251 | </table> | ||
252 | |||
253 | <button id="add">Ajouter</button> | ||
254 | |||
255 | <hr> | ||
256 | |||
257 | <input type="submit" value="Sauvegarder" name="sauvegarder"> | ||
258 | </form> | ||
259 | <script> | ||
260 | function deleteLine(element) { | ||
261 | element.addEventListener('click', function(e) { | ||
262 | e.preventDefault(); | ||
263 | e.target.closest('tr').nextElementSibling.remove(); | ||
264 | e.target.closest('tr').previousElementSibling.remove(); | ||
265 | e.target.closest('tr').remove(); | ||
266 | }, false); | ||
267 | } | ||
268 | |||
269 | var suppr = document.getElementsByClassName('delete'); | ||
270 | var add = document.getElementById('add'); | ||
271 | var list = document.querySelector('#ssh_keys_list > tbody'); | ||
272 | |||
273 | for (var i = 0; i < suppr.length; i++) { | ||
274 | deleteLine(suppr[i]); | ||
275 | } | ||
276 | |||
277 | add.addEventListener('click', function (e) { | ||
278 | e.preventDefault(); | ||
279 | i++; | ||
280 | |||
281 | var newLine = ` | ||
282 | <tr class="headrow"> | ||
283 | <th>Description</th> | ||
284 | <?php foreach (apps as $app) : ?> | ||
285 | <th><?= $app ?></th> | ||
286 | <?php endforeach; ?> | ||
287 | <th></th> | ||
288 | </tr> | ||
289 | <tr class="mainrow"> | ||
290 | <td class="comment"><textarea name="keys[${i}][comment]"></textarea></td> | ||
291 | `; | ||
292 | |||
293 | |||
294 | <?php | ||
295 | foreach (apps as $app) : | ||
296 | ?> | ||
297 | newLine += `<td><input type="checkbox" name="keys[${i}][apps][]" value="<?= $app ?>"></td>`; | ||
298 | <?php endforeach; ?> | ||
299 | |||
300 | newLine += `<td class="delete-button" rowspan="2"><button class="delete" id="delete-${i}">Suppr.</button></td> | ||
301 | </tr>`; | ||
302 | |||
303 | newLine += `<tr class="sshkeyrow"> | ||
304 | <td colspan="<?php echo 1+count(apps); ?>" class="sshkey"><textarea name="keys[${i}][public_key]"></textarea></td> | ||
305 | </tr>`; | ||
306 | |||
307 | |||
308 | list.insertAdjacentHTML('beforeend', newLine); | ||
309 | |||
310 | deleteLine(document.getElementById("delete-" + i)); | ||
311 | |||
312 | }, false) | ||
313 | </script> | ||
314 | <?php | ||
315 | else: | ||
316 | ?> | ||
317 | <form action="" method="post"> | ||
318 | <h2>Login</h2> | ||
319 | |||
320 | <?php | ||
321 | if (!empty($loginErrors)): | ||
322 | ?> | ||
323 | <p style="color: red;"><?= $loginErrors; ?></p> | ||
324 | <?php | ||
325 | endif; | ||
326 | ?> | ||
327 | |||
328 | <label for="username">Utilisateur :</label> | ||
329 | <input type="text" id="username" name="username"/> | ||
330 | |||
331 | <label for="password">Mot de passe :</label> | ||
332 | <input type="password" id="password" name="password"/> | ||
333 | |||
334 | <input type="submit" value="OK" name="login" /> | ||
335 | </form> | ||
336 | <?php | ||
337 | endif; | ||
338 | ?> | ||
339 | </div> | ||
340 | </body> | ||
341 | </html> | ||
342 | |||
343 | |||
diff --git a/systems/eldiron/websites/tools/landing/myip.php b/systems/eldiron/websites/tools/landing/myip.php new file mode 100644 index 0000000..9ec1c6c --- /dev/null +++ b/systems/eldiron/websites/tools/landing/myip.php | |||
@@ -0,0 +1 @@ | |||
<?php echo $_SERVER['REMOTE_ADDR']; ?> | |||
diff --git a/systems/eldiron/websites/tools/landing/node-packages.nix b/systems/eldiron/websites/tools/landing/node-packages.nix new file mode 100644 index 0000000..9ebf254 --- /dev/null +++ b/systems/eldiron/websites/tools/landing/node-packages.nix | |||
@@ -0,0 +1,130 @@ | |||
1 | # This file has been generated by node2nix 1.8.0. Do not edit! | ||
2 | |||
3 | {nodeEnv, fetchurl, fetchgit, src, globalBuildInputs ? []}: | ||
4 | |||
5 | let | ||
6 | sources = { | ||
7 | "@fortawesome/fontawesome-free-5.13.1" = { | ||
8 | name = "_at_fortawesome_slash_fontawesome-free"; | ||
9 | packageName = "@fortawesome/fontawesome-free"; | ||
10 | version = "5.13.1"; | ||
11 | src = fetchurl { | ||
12 | url = "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz"; | ||
13 | sha512 = "D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw=="; | ||
14 | }; | ||
15 | }; | ||
16 | "argparse-1.0.10" = { | ||
17 | name = "argparse"; | ||
18 | packageName = "argparse"; | ||
19 | version = "1.0.10"; | ||
20 | src = fetchurl { | ||
21 | url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"; | ||
22 | sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="; | ||
23 | }; | ||
24 | }; | ||
25 | "bulma-0.8.2" = { | ||
26 | name = "bulma"; | ||
27 | packageName = "bulma"; | ||
28 | version = "0.8.2"; | ||
29 | src = fetchurl { | ||
30 | url = "https://registry.npmjs.org/bulma/-/bulma-0.8.2.tgz"; | ||
31 | sha512 = "vMM/ijYSxX+Sm+nD7Lmc1UgWDy2JcL2nTKqwgEqXuOMU+IGALbXd5MLt/BcjBAPLIx36TtzhzBcSnOP974gcqA=="; | ||
32 | }; | ||
33 | }; | ||
34 | "core-js-3.6.5" = { | ||
35 | name = "core-js"; | ||
36 | packageName = "core-js"; | ||
37 | version = "3.6.5"; | ||
38 | src = fetchurl { | ||
39 | url = "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz"; | ||
40 | sha512 = "vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="; | ||
41 | }; | ||
42 | }; | ||
43 | "esprima-4.0.1" = { | ||
44 | name = "esprima"; | ||
45 | packageName = "esprima"; | ||
46 | version = "4.0.1"; | ||
47 | src = fetchurl { | ||
48 | url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"; | ||
49 | sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="; | ||
50 | }; | ||
51 | }; | ||
52 | "js-yaml-3.14.0" = { | ||
53 | name = "js-yaml"; | ||
54 | packageName = "js-yaml"; | ||
55 | version = "3.14.0"; | ||
56 | src = fetchurl { | ||
57 | url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz"; | ||
58 | sha512 = "/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A=="; | ||
59 | }; | ||
60 | }; | ||
61 | "lodash.merge-4.6.2" = { | ||
62 | name = "lodash.merge"; | ||
63 | packageName = "lodash.merge"; | ||
64 | version = "4.6.2"; | ||
65 | src = fetchurl { | ||
66 | url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz"; | ||
67 | sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="; | ||
68 | }; | ||
69 | }; | ||
70 | "register-service-worker-1.7.1" = { | ||
71 | name = "register-service-worker"; | ||
72 | packageName = "register-service-worker"; | ||
73 | version = "1.7.1"; | ||
74 | src = fetchurl { | ||
75 | url = "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.1.tgz"; | ||
76 | sha512 = "IdTfUZ4u8iJL8o1w8es8l6UMGPmkwHolUdT+UmM1UypC80IB4KbpuIlvwWVj8UDS7eJwkEYRcKRgfRX+oTmJsw=="; | ||
77 | }; | ||
78 | }; | ||
79 | "sprintf-js-1.0.3" = { | ||
80 | name = "sprintf-js"; | ||
81 | packageName = "sprintf-js"; | ||
82 | version = "1.0.3"; | ||
83 | src = fetchurl { | ||
84 | url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"; | ||
85 | sha1 = "04e6926f662895354f3dd015203633b857297e2c"; | ||
86 | }; | ||
87 | }; | ||
88 | "vue-2.6.11" = { | ||
89 | name = "vue"; | ||
90 | packageName = "vue"; | ||
91 | version = "2.6.11"; | ||
92 | src = fetchurl { | ||
93 | url = "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz"; | ||
94 | sha512 = "VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="; | ||
95 | }; | ||
96 | }; | ||
97 | }; | ||
98 | args = { | ||
99 | name = "homer"; | ||
100 | packageName = "homer"; | ||
101 | version = "20.06.1"; | ||
102 | inherit src; | ||
103 | dependencies = [ | ||
104 | sources."@fortawesome/fontawesome-free-5.13.1" | ||
105 | sources."argparse-1.0.10" | ||
106 | sources."bulma-0.8.2" | ||
107 | sources."core-js-3.6.5" | ||
108 | sources."esprima-4.0.1" | ||
109 | sources."js-yaml-3.14.0" | ||
110 | sources."lodash.merge-4.6.2" | ||
111 | sources."register-service-worker-1.7.1" | ||
112 | sources."sprintf-js-1.0.3" | ||
113 | sources."vue-2.6.11" | ||
114 | ]; | ||
115 | buildInputs = globalBuildInputs; | ||
116 | meta = { | ||
117 | license = "Apache-2.0"; | ||
118 | }; | ||
119 | production = true; | ||
120 | bypassCache = true; | ||
121 | reconstructLock = true; | ||
122 | }; | ||
123 | in | ||
124 | { | ||
125 | args = args; | ||
126 | sources = sources; | ||
127 | tarball = nodeEnv.buildNodeSourceDist args; | ||
128 | package = nodeEnv.buildNodePackage args; | ||
129 | shell = nodeEnv.buildNodeShell args; | ||
130 | } | ||
diff --git a/systems/eldiron/websites/tools/landing/yarn-packages.nix b/systems/eldiron/websites/tools/landing/yarn-packages.nix new file mode 100644 index 0000000..9621c3e --- /dev/null +++ b/systems/eldiron/websites/tools/landing/yarn-packages.nix | |||
@@ -0,0 +1,9357 @@ | |||
1 | { fetchurl, fetchgit, linkFarm, runCommandNoCC, gnutar }: rec { | ||
2 | offline_cache = linkFarm "offline" packages; | ||
3 | packages = [ | ||
4 | { | ||
5 | name = "_babel_code_frame___code_frame_7.10.1.tgz"; | ||
6 | path = fetchurl { | ||
7 | name = "_babel_code_frame___code_frame_7.10.1.tgz"; | ||
8 | url = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz"; | ||
9 | sha1 = "d5481c5095daa1c57e16e54c6f9198443afb49ff"; | ||
10 | }; | ||
11 | } | ||
12 | { | ||
13 | name = "_babel_compat_data___compat_data_7.10.1.tgz"; | ||
14 | path = fetchurl { | ||
15 | name = "_babel_compat_data___compat_data_7.10.1.tgz"; | ||
16 | url = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.1.tgz"; | ||
17 | sha1 = "b1085ffe72cd17bf2c0ee790fc09f9626011b2db"; | ||
18 | }; | ||
19 | } | ||
20 | { | ||
21 | name = "_babel_core___core_7.10.2.tgz"; | ||
22 | path = fetchurl { | ||
23 | name = "_babel_core___core_7.10.2.tgz"; | ||
24 | url = "https://registry.yarnpkg.com/@babel/core/-/core-7.10.2.tgz"; | ||
25 | sha1 = "bd6786046668a925ac2bd2fd95b579b92a23b36a"; | ||
26 | }; | ||
27 | } | ||
28 | { | ||
29 | name = "_babel_generator___generator_7.10.2.tgz"; | ||
30 | path = fetchurl { | ||
31 | name = "_babel_generator___generator_7.10.2.tgz"; | ||
32 | url = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.2.tgz"; | ||
33 | sha1 = "0fa5b5b2389db8bfdfcc3492b551ee20f5dd69a9"; | ||
34 | }; | ||
35 | } | ||
36 | { | ||
37 | name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.1.tgz"; | ||
38 | path = fetchurl { | ||
39 | name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.10.1.tgz"; | ||
40 | url = "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz"; | ||
41 | sha1 = "f6d08acc6f70bbd59b436262553fb2e259a1a268"; | ||
42 | }; | ||
43 | } | ||
44 | { | ||
45 | name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.1.tgz"; | ||
46 | path = fetchurl { | ||
47 | name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.10.1.tgz"; | ||
48 | url = "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz"; | ||
49 | sha1 = "0ec7d9be8174934532661f87783eb18d72290059"; | ||
50 | }; | ||
51 | } | ||
52 | { | ||
53 | name = "_babel_helper_compilation_targets___helper_compilation_targets_7.10.2.tgz"; | ||
54 | path = fetchurl { | ||
55 | name = "_babel_helper_compilation_targets___helper_compilation_targets_7.10.2.tgz"; | ||
56 | url = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz"; | ||
57 | sha1 = "a17d9723b6e2c750299d2a14d4637c76936d8285"; | ||
58 | }; | ||
59 | } | ||
60 | { | ||
61 | name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.10.2.tgz"; | ||
62 | path = fetchurl { | ||
63 | name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.10.2.tgz"; | ||
64 | url = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz"; | ||
65 | sha1 = "7474295770f217dbcf288bf7572eb213db46ee67"; | ||
66 | }; | ||
67 | } | ||
68 | { | ||
69 | name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.1.tgz"; | ||
70 | path = fetchurl { | ||
71 | name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.1.tgz"; | ||
72 | url = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz"; | ||
73 | sha1 = "1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd"; | ||
74 | }; | ||
75 | } | ||
76 | { | ||
77 | name = "_babel_helper_define_map___helper_define_map_7.10.1.tgz"; | ||
78 | path = fetchurl { | ||
79 | name = "_babel_helper_define_map___helper_define_map_7.10.1.tgz"; | ||
80 | url = "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz"; | ||
81 | sha1 = "5e69ee8308648470dd7900d159c044c10285221d"; | ||
82 | }; | ||
83 | } | ||
84 | { | ||
85 | name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.1.tgz"; | ||
86 | path = fetchurl { | ||
87 | name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.10.1.tgz"; | ||
88 | url = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz"; | ||
89 | sha1 = "e9d76305ee1162ca467357ae25df94f179af2b7e"; | ||
90 | }; | ||
91 | } | ||
92 | { | ||
93 | name = "_babel_helper_function_name___helper_function_name_7.10.1.tgz"; | ||
94 | path = fetchurl { | ||
95 | name = "_babel_helper_function_name___helper_function_name_7.10.1.tgz"; | ||
96 | url = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz"; | ||
97 | sha1 = "92bd63829bfc9215aca9d9defa85f56b539454f4"; | ||
98 | }; | ||
99 | } | ||
100 | { | ||
101 | name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.1.tgz"; | ||
102 | path = fetchurl { | ||
103 | name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.1.tgz"; | ||
104 | url = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz"; | ||
105 | sha1 = "7303390a81ba7cb59613895a192b93850e373f7d"; | ||
106 | }; | ||
107 | } | ||
108 | { | ||
109 | name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.1.tgz"; | ||
110 | path = fetchurl { | ||
111 | name = "_babel_helper_hoist_variables___helper_hoist_variables_7.10.1.tgz"; | ||
112 | url = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz"; | ||
113 | sha1 = "7e77c82e5dcae1ebf123174c385aaadbf787d077"; | ||
114 | }; | ||
115 | } | ||
116 | { | ||
117 | name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.10.1.tgz"; | ||
118 | path = fetchurl { | ||
119 | name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.10.1.tgz"; | ||
120 | url = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz"; | ||
121 | sha1 = "432967fd7e12a4afef66c4687d4ca22bc0456f15"; | ||
122 | }; | ||
123 | } | ||
124 | { | ||
125 | name = "_babel_helper_module_imports___helper_module_imports_7.10.1.tgz"; | ||
126 | path = fetchurl { | ||
127 | name = "_babel_helper_module_imports___helper_module_imports_7.10.1.tgz"; | ||
128 | url = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz"; | ||
129 | sha1 = "dd331bd45bccc566ce77004e9d05fe17add13876"; | ||
130 | }; | ||
131 | } | ||
132 | { | ||
133 | name = "_babel_helper_module_transforms___helper_module_transforms_7.10.1.tgz"; | ||
134 | path = fetchurl { | ||
135 | name = "_babel_helper_module_transforms___helper_module_transforms_7.10.1.tgz"; | ||
136 | url = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz"; | ||
137 | sha1 = "24e2f08ee6832c60b157bb0936c86bef7210c622"; | ||
138 | }; | ||
139 | } | ||
140 | { | ||
141 | name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.1.tgz"; | ||
142 | path = fetchurl { | ||
143 | name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.1.tgz"; | ||
144 | url = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz"; | ||
145 | sha1 = "b4a1f2561870ce1247ceddb02a3860fa96d72543"; | ||
146 | }; | ||
147 | } | ||
148 | { | ||
149 | name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.1.tgz"; | ||
150 | path = fetchurl { | ||
151 | name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.1.tgz"; | ||
152 | url = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz"; | ||
153 | sha1 = "ec5a5cf0eec925b66c60580328b122c01230a127"; | ||
154 | }; | ||
155 | } | ||
156 | { | ||
157 | name = "_babel_helper_regex___helper_regex_7.10.1.tgz"; | ||
158 | path = fetchurl { | ||
159 | name = "_babel_helper_regex___helper_regex_7.10.1.tgz"; | ||
160 | url = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz"; | ||
161 | sha1 = "021cf1a7ba99822f993222a001cc3fec83255b96"; | ||
162 | }; | ||
163 | } | ||
164 | { | ||
165 | name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.10.1.tgz"; | ||
166 | path = fetchurl { | ||
167 | name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.10.1.tgz"; | ||
168 | url = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz"; | ||
169 | sha1 = "bad6aaa4ff39ce8d4b82ccaae0bfe0f7dbb5f432"; | ||
170 | }; | ||
171 | } | ||
172 | { | ||
173 | name = "_babel_helper_replace_supers___helper_replace_supers_7.10.1.tgz"; | ||
174 | path = fetchurl { | ||
175 | name = "_babel_helper_replace_supers___helper_replace_supers_7.10.1.tgz"; | ||
176 | url = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz"; | ||
177 | sha1 = "ec6859d20c5d8087f6a2dc4e014db7228975f13d"; | ||
178 | }; | ||
179 | } | ||
180 | { | ||
181 | name = "_babel_helper_simple_access___helper_simple_access_7.10.1.tgz"; | ||
182 | path = fetchurl { | ||
183 | name = "_babel_helper_simple_access___helper_simple_access_7.10.1.tgz"; | ||
184 | url = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz"; | ||
185 | sha1 = "08fb7e22ace9eb8326f7e3920a1c2052f13d851e"; | ||
186 | }; | ||
187 | } | ||
188 | { | ||
189 | name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.10.1.tgz"; | ||
190 | path = fetchurl { | ||
191 | name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.10.1.tgz"; | ||
192 | url = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz"; | ||
193 | sha1 = "c6f4be1cbc15e3a868e4c64a17d5d31d754da35f"; | ||
194 | }; | ||
195 | } | ||
196 | { | ||
197 | name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.1.tgz"; | ||
198 | path = fetchurl { | ||
199 | name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.1.tgz"; | ||
200 | url = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz"; | ||
201 | sha1 = "5770b0c1a826c4f53f5ede5e153163e0318e94b5"; | ||
202 | }; | ||
203 | } | ||
204 | { | ||
205 | name = "_babel_helper_wrap_function___helper_wrap_function_7.10.1.tgz"; | ||
206 | path = fetchurl { | ||
207 | name = "_babel_helper_wrap_function___helper_wrap_function_7.10.1.tgz"; | ||
208 | url = "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz"; | ||
209 | sha1 = "956d1310d6696257a7afd47e4c42dfda5dfcedc9"; | ||
210 | }; | ||
211 | } | ||
212 | { | ||
213 | name = "_babel_helpers___helpers_7.10.1.tgz"; | ||
214 | path = fetchurl { | ||
215 | name = "_babel_helpers___helpers_7.10.1.tgz"; | ||
216 | url = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz"; | ||
217 | sha1 = "a6827b7cb975c9d9cef5fd61d919f60d8844a973"; | ||
218 | }; | ||
219 | } | ||
220 | { | ||
221 | name = "_babel_highlight___highlight_7.10.1.tgz"; | ||
222 | path = fetchurl { | ||
223 | name = "_babel_highlight___highlight_7.10.1.tgz"; | ||
224 | url = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz"; | ||
225 | sha1 = "841d098ba613ba1a427a2b383d79e35552c38ae0"; | ||
226 | }; | ||
227 | } | ||
228 | { | ||
229 | name = "_babel_parser___parser_7.10.2.tgz"; | ||
230 | path = fetchurl { | ||
231 | name = "_babel_parser___parser_7.10.2.tgz"; | ||
232 | url = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz"; | ||
233 | sha1 = "871807f10442b92ff97e4783b9b54f6a0ca812d0"; | ||
234 | }; | ||
235 | } | ||
236 | { | ||
237 | name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.10.1.tgz"; | ||
238 | path = fetchurl { | ||
239 | name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.10.1.tgz"; | ||
240 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz"; | ||
241 | sha1 = "6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55"; | ||
242 | }; | ||
243 | } | ||
244 | { | ||
245 | name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.10.1.tgz"; | ||
246 | path = fetchurl { | ||
247 | name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.10.1.tgz"; | ||
248 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz"; | ||
249 | sha1 = "046bc7f6550bb08d9bd1d4f060f5f5a4f1087e01"; | ||
250 | }; | ||
251 | } | ||
252 | { | ||
253 | name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.10.1.tgz"; | ||
254 | path = fetchurl { | ||
255 | name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.10.1.tgz"; | ||
256 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.1.tgz"; | ||
257 | sha1 = "9373c2d8db45345c6e30452ad77b469758e5c8f7"; | ||
258 | }; | ||
259 | } | ||
260 | { | ||
261 | name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.10.1.tgz"; | ||
262 | path = fetchurl { | ||
263 | name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.10.1.tgz"; | ||
264 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz"; | ||
265 | sha1 = "e36979dc1dc3b73f6d6816fc4951da2363488ef0"; | ||
266 | }; | ||
267 | } | ||
268 | { | ||
269 | name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.10.1.tgz"; | ||
270 | path = fetchurl { | ||
271 | name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.10.1.tgz"; | ||
272 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz"; | ||
273 | sha1 = "b1e691ee24c651b5a5e32213222b2379734aff09"; | ||
274 | }; | ||
275 | } | ||
276 | { | ||
277 | name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.10.1.tgz"; | ||
278 | path = fetchurl { | ||
279 | name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.10.1.tgz"; | ||
280 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz"; | ||
281 | sha1 = "02dca21673842ff2fe763ac253777f235e9bbf78"; | ||
282 | }; | ||
283 | } | ||
284 | { | ||
285 | name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.10.1.tgz"; | ||
286 | path = fetchurl { | ||
287 | name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.10.1.tgz"; | ||
288 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz"; | ||
289 | sha1 = "a9a38bc34f78bdfd981e791c27c6fdcec478c123"; | ||
290 | }; | ||
291 | } | ||
292 | { | ||
293 | name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.10.1.tgz"; | ||
294 | path = fetchurl { | ||
295 | name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.10.1.tgz"; | ||
296 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz"; | ||
297 | sha1 = "cba44908ac9f142650b4a65b8aa06bf3478d5fb6"; | ||
298 | }; | ||
299 | } | ||
300 | { | ||
301 | name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.10.1.tgz"; | ||
302 | path = fetchurl { | ||
303 | name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.10.1.tgz"; | ||
304 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz"; | ||
305 | sha1 = "c9f86d99305f9fa531b568ff5ab8c964b8b223d2"; | ||
306 | }; | ||
307 | } | ||
308 | { | ||
309 | name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.10.1.tgz"; | ||
310 | path = fetchurl { | ||
311 | name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.10.1.tgz"; | ||
312 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz"; | ||
313 | sha1 = "15f5d6d22708629451a91be28f8facc55b0e818c"; | ||
314 | }; | ||
315 | } | ||
316 | { | ||
317 | name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.10.1.tgz"; | ||
318 | path = fetchurl { | ||
319 | name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.10.1.tgz"; | ||
320 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz"; | ||
321 | sha1 = "ed85e8058ab0fe309c3f448e5e1b73ca89cdb598"; | ||
322 | }; | ||
323 | } | ||
324 | { | ||
325 | name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.1.tgz"; | ||
326 | path = fetchurl { | ||
327 | name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.1.tgz"; | ||
328 | url = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz"; | ||
329 | sha1 = "dc04feb25e2dd70c12b05d680190e138fa2c0c6f"; | ||
330 | }; | ||
331 | } | ||
332 | { | ||
333 | name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz"; | ||
334 | path = fetchurl { | ||
335 | name = "_babel_plugin_syntax_async_generators___plugin_syntax_async_generators_7.8.4.tgz"; | ||
336 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"; | ||
337 | sha1 = "a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"; | ||
338 | }; | ||
339 | } | ||
340 | { | ||
341 | name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.10.1.tgz"; | ||
342 | path = fetchurl { | ||
343 | name = "_babel_plugin_syntax_class_properties___plugin_syntax_class_properties_7.10.1.tgz"; | ||
344 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz"; | ||
345 | sha1 = "d5bc0645913df5b17ad7eda0fa2308330bde34c5"; | ||
346 | }; | ||
347 | } | ||
348 | { | ||
349 | name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.10.1.tgz"; | ||
350 | path = fetchurl { | ||
351 | name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.10.1.tgz"; | ||
352 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz"; | ||
353 | sha1 = "16b869c4beafc9a442565147bda7ce0967bd4f13"; | ||
354 | }; | ||
355 | } | ||
356 | { | ||
357 | name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz"; | ||
358 | path = fetchurl { | ||
359 | name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.8.3.tgz"; | ||
360 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"; | ||
361 | sha1 = "62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"; | ||
362 | }; | ||
363 | } | ||
364 | { | ||
365 | name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz"; | ||
366 | path = fetchurl { | ||
367 | name = "_babel_plugin_syntax_json_strings___plugin_syntax_json_strings_7.8.3.tgz"; | ||
368 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"; | ||
369 | sha1 = "01ca21b668cd8218c9e640cb6dd88c5412b2c96a"; | ||
370 | }; | ||
371 | } | ||
372 | { | ||
373 | name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.10.1.tgz"; | ||
374 | path = fetchurl { | ||
375 | name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.10.1.tgz"; | ||
376 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.1.tgz"; | ||
377 | sha1 = "0ae371134a42b91d5418feb3c8c8d43e1565d2da"; | ||
378 | }; | ||
379 | } | ||
380 | { | ||
381 | name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz"; | ||
382 | path = fetchurl { | ||
383 | name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.8.3.tgz"; | ||
384 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"; | ||
385 | sha1 = "167ed70368886081f74b5c36c65a88c03b66d1a9"; | ||
386 | }; | ||
387 | } | ||
388 | { | ||
389 | name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.1.tgz"; | ||
390 | path = fetchurl { | ||
391 | name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.10.1.tgz"; | ||
392 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz"; | ||
393 | sha1 = "25761ee7410bc8cf97327ba741ee94e4a61b7d99"; | ||
394 | }; | ||
395 | } | ||
396 | { | ||
397 | name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz"; | ||
398 | path = fetchurl { | ||
399 | name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.8.3.tgz"; | ||
400 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"; | ||
401 | sha1 = "60e225edcbd98a640332a2e72dd3e66f1af55871"; | ||
402 | }; | ||
403 | } | ||
404 | { | ||
405 | name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz"; | ||
406 | path = fetchurl { | ||
407 | name = "_babel_plugin_syntax_optional_catch_binding___plugin_syntax_optional_catch_binding_7.8.3.tgz"; | ||
408 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"; | ||
409 | sha1 = "6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"; | ||
410 | }; | ||
411 | } | ||
412 | { | ||
413 | name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz"; | ||
414 | path = fetchurl { | ||
415 | name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.8.3.tgz"; | ||
416 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"; | ||
417 | sha1 = "4f69c2ab95167e0180cd5336613f8c5788f7d48a"; | ||
418 | }; | ||
419 | } | ||
420 | { | ||
421 | name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.1.tgz"; | ||
422 | path = fetchurl { | ||
423 | name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.1.tgz"; | ||
424 | url = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz"; | ||
425 | sha1 = "8b8733f8c57397b3eaa47ddba8841586dcaef362"; | ||
426 | }; | ||
427 | } | ||
428 | { | ||
429 | name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.10.1.tgz"; | ||
430 | path = fetchurl { | ||
431 | name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.10.1.tgz"; | ||
432 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz"; | ||
433 | sha1 = "cb5ee3a36f0863c06ead0b409b4cc43a889b295b"; | ||
434 | }; | ||
435 | } | ||
436 | { | ||
437 | name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.10.1.tgz"; | ||
438 | path = fetchurl { | ||
439 | name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.10.1.tgz"; | ||
440 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz"; | ||
441 | sha1 = "e5153eb1a3e028f79194ed8a7a4bf55f862b2062"; | ||
442 | }; | ||
443 | } | ||
444 | { | ||
445 | name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.10.1.tgz"; | ||
446 | path = fetchurl { | ||
447 | name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.10.1.tgz"; | ||
448 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz"; | ||
449 | sha1 = "146856e756d54b20fff14b819456b3e01820b85d"; | ||
450 | }; | ||
451 | } | ||
452 | { | ||
453 | name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.10.1.tgz"; | ||
454 | path = fetchurl { | ||
455 | name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.10.1.tgz"; | ||
456 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz"; | ||
457 | sha1 = "47092d89ca345811451cd0dc5d91605982705d5e"; | ||
458 | }; | ||
459 | } | ||
460 | { | ||
461 | name = "_babel_plugin_transform_classes___plugin_transform_classes_7.10.1.tgz"; | ||
462 | path = fetchurl { | ||
463 | name = "_babel_plugin_transform_classes___plugin_transform_classes_7.10.1.tgz"; | ||
464 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz"; | ||
465 | sha1 = "6e11dd6c4dfae70f540480a4702477ed766d733f"; | ||
466 | }; | ||
467 | } | ||
468 | { | ||
469 | name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.10.1.tgz"; | ||
470 | path = fetchurl { | ||
471 | name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.10.1.tgz"; | ||
472 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz"; | ||
473 | sha1 = "59aa399064429d64dce5cf76ef9b90b7245ebd07"; | ||
474 | }; | ||
475 | } | ||
476 | { | ||
477 | name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.10.1.tgz"; | ||
478 | path = fetchurl { | ||
479 | name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.10.1.tgz"; | ||
480 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz"; | ||
481 | sha1 = "abd58e51337815ca3a22a336b85f62b998e71907"; | ||
482 | }; | ||
483 | } | ||
484 | { | ||
485 | name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.10.1.tgz"; | ||
486 | path = fetchurl { | ||
487 | name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.10.1.tgz"; | ||
488 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz"; | ||
489 | sha1 = "920b9fec2d78bb57ebb64a644d5c2ba67cc104ee"; | ||
490 | }; | ||
491 | } | ||
492 | { | ||
493 | name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.10.1.tgz"; | ||
494 | path = fetchurl { | ||
495 | name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.10.1.tgz"; | ||
496 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz"; | ||
497 | sha1 = "c900a793beb096bc9d4d0a9d0cde19518ffc83b9"; | ||
498 | }; | ||
499 | } | ||
500 | { | ||
501 | name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.10.1.tgz"; | ||
502 | path = fetchurl { | ||
503 | name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.10.1.tgz"; | ||
504 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz"; | ||
505 | sha1 = "279c3116756a60dd6e6f5e488ba7957db9c59eb3"; | ||
506 | }; | ||
507 | } | ||
508 | { | ||
509 | name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.10.1.tgz"; | ||
510 | path = fetchurl { | ||
511 | name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.10.1.tgz"; | ||
512 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz"; | ||
513 | sha1 = "ff01119784eb0ee32258e8646157ba2501fcfda5"; | ||
514 | }; | ||
515 | } | ||
516 | { | ||
517 | name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.10.1.tgz"; | ||
518 | path = fetchurl { | ||
519 | name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.10.1.tgz"; | ||
520 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz"; | ||
521 | sha1 = "4ed46fd6e1d8fde2a2ec7b03c66d853d2c92427d"; | ||
522 | }; | ||
523 | } | ||
524 | { | ||
525 | name = "_babel_plugin_transform_literals___plugin_transform_literals_7.10.1.tgz"; | ||
526 | path = fetchurl { | ||
527 | name = "_babel_plugin_transform_literals___plugin_transform_literals_7.10.1.tgz"; | ||
528 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz"; | ||
529 | sha1 = "5794f8da82846b22e4e6631ea1658bce708eb46a"; | ||
530 | }; | ||
531 | } | ||
532 | { | ||
533 | name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.10.1.tgz"; | ||
534 | path = fetchurl { | ||
535 | name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.10.1.tgz"; | ||
536 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz"; | ||
537 | sha1 = "90347cba31bca6f394b3f7bd95d2bbfd9fce2f39"; | ||
538 | }; | ||
539 | } | ||
540 | { | ||
541 | name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.10.1.tgz"; | ||
542 | path = fetchurl { | ||
543 | name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.10.1.tgz"; | ||
544 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz"; | ||
545 | sha1 = "65950e8e05797ebd2fe532b96e19fc5482a1d52a"; | ||
546 | }; | ||
547 | } | ||
548 | { | ||
549 | name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.10.1.tgz"; | ||
550 | path = fetchurl { | ||
551 | name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.10.1.tgz"; | ||
552 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz"; | ||
553 | sha1 = "d5ff4b4413ed97ffded99961056e1fb980fb9301"; | ||
554 | }; | ||
555 | } | ||
556 | { | ||
557 | name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.10.1.tgz"; | ||
558 | path = fetchurl { | ||
559 | name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.10.1.tgz"; | ||
560 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz"; | ||
561 | sha1 = "9962e4b0ac6aaf2e20431ada3d8ec72082cbffb6"; | ||
562 | }; | ||
563 | } | ||
564 | { | ||
565 | name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.10.1.tgz"; | ||
566 | path = fetchurl { | ||
567 | name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.10.1.tgz"; | ||
568 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz"; | ||
569 | sha1 = "ea080911ffc6eb21840a5197a39ede4ee67b1595"; | ||
570 | }; | ||
571 | } | ||
572 | { | ||
573 | name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.8.3.tgz"; | ||
574 | path = fetchurl { | ||
575 | name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.8.3.tgz"; | ||
576 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz"; | ||
577 | sha1 = "a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c"; | ||
578 | }; | ||
579 | } | ||
580 | { | ||
581 | name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.10.1.tgz"; | ||
582 | path = fetchurl { | ||
583 | name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.10.1.tgz"; | ||
584 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz"; | ||
585 | sha1 = "6ee41a5e648da7632e22b6fb54012e87f612f324"; | ||
586 | }; | ||
587 | } | ||
588 | { | ||
589 | name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.10.1.tgz"; | ||
590 | path = fetchurl { | ||
591 | name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.10.1.tgz"; | ||
592 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz"; | ||
593 | sha1 = "2e3016b0adbf262983bf0d5121d676a5ed9c4fde"; | ||
594 | }; | ||
595 | } | ||
596 | { | ||
597 | name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.10.1.tgz"; | ||
598 | path = fetchurl { | ||
599 | name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.10.1.tgz"; | ||
600 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz"; | ||
601 | sha1 = "b25938a3c5fae0354144a720b07b32766f683ddd"; | ||
602 | }; | ||
603 | } | ||
604 | { | ||
605 | name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.10.1.tgz"; | ||
606 | path = fetchurl { | ||
607 | name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.10.1.tgz"; | ||
608 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz"; | ||
609 | sha1 = "cffc7315219230ed81dc53e4625bf86815b6050d"; | ||
610 | }; | ||
611 | } | ||
612 | { | ||
613 | name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.10.1.tgz"; | ||
614 | path = fetchurl { | ||
615 | name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.10.1.tgz"; | ||
616 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz"; | ||
617 | sha1 = "10e175cbe7bdb63cc9b39f9b3f823c5c7c5c5490"; | ||
618 | }; | ||
619 | } | ||
620 | { | ||
621 | name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.10.1.tgz"; | ||
622 | path = fetchurl { | ||
623 | name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.10.1.tgz"; | ||
624 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz"; | ||
625 | sha1 = "0fc1027312b4d1c3276a57890c8ae3bcc0b64a86"; | ||
626 | }; | ||
627 | } | ||
628 | { | ||
629 | name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.10.1.tgz"; | ||
630 | path = fetchurl { | ||
631 | name = "_babel_plugin_transform_runtime___plugin_transform_runtime_7.10.1.tgz"; | ||
632 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.1.tgz"; | ||
633 | sha1 = "fd1887f749637fb2ed86dc278e79eb41df37f4b1"; | ||
634 | }; | ||
635 | } | ||
636 | { | ||
637 | name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.10.1.tgz"; | ||
638 | path = fetchurl { | ||
639 | name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.10.1.tgz"; | ||
640 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz"; | ||
641 | sha1 = "e8b54f238a1ccbae482c4dce946180ae7b3143f3"; | ||
642 | }; | ||
643 | } | ||
644 | { | ||
645 | name = "_babel_plugin_transform_spread___plugin_transform_spread_7.10.1.tgz"; | ||
646 | path = fetchurl { | ||
647 | name = "_babel_plugin_transform_spread___plugin_transform_spread_7.10.1.tgz"; | ||
648 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz"; | ||
649 | sha1 = "0c6d618a0c4461a274418460a28c9ccf5239a7c8"; | ||
650 | }; | ||
651 | } | ||
652 | { | ||
653 | name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.10.1.tgz"; | ||
654 | path = fetchurl { | ||
655 | name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.10.1.tgz"; | ||
656 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz"; | ||
657 | sha1 = "90fc89b7526228bed9842cff3588270a7a393b00"; | ||
658 | }; | ||
659 | } | ||
660 | { | ||
661 | name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.10.1.tgz"; | ||
662 | path = fetchurl { | ||
663 | name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.10.1.tgz"; | ||
664 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz"; | ||
665 | sha1 = "914c7b7f4752c570ea00553b4284dad8070e8628"; | ||
666 | }; | ||
667 | } | ||
668 | { | ||
669 | name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.10.1.tgz"; | ||
670 | path = fetchurl { | ||
671 | name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.10.1.tgz"; | ||
672 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz"; | ||
673 | sha1 = "60c0239b69965d166b80a84de7315c1bc7e0bb0e"; | ||
674 | }; | ||
675 | } | ||
676 | { | ||
677 | name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.10.1.tgz"; | ||
678 | path = fetchurl { | ||
679 | name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.10.1.tgz"; | ||
680 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz"; | ||
681 | sha1 = "add0f8483dab60570d9e03cecef6c023aa8c9940"; | ||
682 | }; | ||
683 | } | ||
684 | { | ||
685 | name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.10.1.tgz"; | ||
686 | path = fetchurl { | ||
687 | name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.10.1.tgz"; | ||
688 | url = "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz"; | ||
689 | sha1 = "6b58f2aea7b68df37ac5025d9c88752443a6b43f"; | ||
690 | }; | ||
691 | } | ||
692 | { | ||
693 | name = "_babel_preset_env___preset_env_7.10.2.tgz"; | ||
694 | path = fetchurl { | ||
695 | name = "_babel_preset_env___preset_env_7.10.2.tgz"; | ||
696 | url = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.10.2.tgz"; | ||
697 | sha1 = "715930f2cf8573b0928005ee562bed52fb65fdfb"; | ||
698 | }; | ||
699 | } | ||
700 | { | ||
701 | name = "_babel_preset_modules___preset_modules_0.1.3.tgz"; | ||
702 | path = fetchurl { | ||
703 | name = "_babel_preset_modules___preset_modules_0.1.3.tgz"; | ||
704 | url = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz"; | ||
705 | sha1 = "13242b53b5ef8c883c3cf7dddd55b36ce80fbc72"; | ||
706 | }; | ||
707 | } | ||
708 | { | ||
709 | name = "_babel_runtime___runtime_7.10.2.tgz"; | ||
710 | path = fetchurl { | ||
711 | name = "_babel_runtime___runtime_7.10.2.tgz"; | ||
712 | url = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.2.tgz"; | ||
713 | sha1 = "d103f21f2602497d38348a32e008637d506db839"; | ||
714 | }; | ||
715 | } | ||
716 | { | ||
717 | name = "_babel_template___template_7.10.1.tgz"; | ||
718 | path = fetchurl { | ||
719 | name = "_babel_template___template_7.10.1.tgz"; | ||
720 | url = "https://registry.yarnpkg.com/@babel/template/-/template-7.10.1.tgz"; | ||
721 | sha1 = "e167154a94cb5f14b28dc58f5356d2162f539811"; | ||
722 | }; | ||
723 | } | ||
724 | { | ||
725 | name = "_babel_traverse___traverse_7.10.1.tgz"; | ||
726 | path = fetchurl { | ||
727 | name = "_babel_traverse___traverse_7.10.1.tgz"; | ||
728 | url = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.1.tgz"; | ||
729 | sha1 = "bbcef3031e4152a6c0b50147f4958df54ca0dd27"; | ||
730 | }; | ||
731 | } | ||
732 | { | ||
733 | name = "_babel_types___types_7.10.2.tgz"; | ||
734 | path = fetchurl { | ||
735 | name = "_babel_types___types_7.10.2.tgz"; | ||
736 | url = "https://registry.yarnpkg.com/@babel/types/-/types-7.10.2.tgz"; | ||
737 | sha1 = "30283be31cad0dbf6fb00bd40641ca0ea675172d"; | ||
738 | }; | ||
739 | } | ||
740 | { | ||
741 | name = "_fortawesome_fontawesome_free___fontawesome_free_5.13.0.tgz"; | ||
742 | path = fetchurl { | ||
743 | name = "_fortawesome_fontawesome_free___fontawesome_free_5.13.0.tgz"; | ||
744 | url = "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.0.tgz"; | ||
745 | sha1 = "fcb113d1aca4b471b709e8c9c168674fbd6e06d9"; | ||
746 | }; | ||
747 | } | ||
748 | { | ||
749 | name = "_hapi_address___address_2.1.4.tgz"; | ||
750 | path = fetchurl { | ||
751 | name = "_hapi_address___address_2.1.4.tgz"; | ||
752 | url = "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz"; | ||
753 | sha1 = "5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"; | ||
754 | }; | ||
755 | } | ||
756 | { | ||
757 | name = "_hapi_bourne___bourne_1.3.2.tgz"; | ||
758 | path = fetchurl { | ||
759 | name = "_hapi_bourne___bourne_1.3.2.tgz"; | ||
760 | url = "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-1.3.2.tgz"; | ||
761 | sha1 = "0a7095adea067243ce3283e1b56b8a8f453b242a"; | ||
762 | }; | ||
763 | } | ||
764 | { | ||
765 | name = "_hapi_hoek___hoek_8.5.1.tgz"; | ||
766 | path = fetchurl { | ||
767 | name = "_hapi_hoek___hoek_8.5.1.tgz"; | ||
768 | url = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-8.5.1.tgz"; | ||
769 | sha1 = "fde96064ca446dec8c55a8c2f130957b070c6e06"; | ||
770 | }; | ||
771 | } | ||
772 | { | ||
773 | name = "_hapi_joi___joi_15.1.1.tgz"; | ||
774 | path = fetchurl { | ||
775 | name = "_hapi_joi___joi_15.1.1.tgz"; | ||
776 | url = "https://registry.yarnpkg.com/@hapi/joi/-/joi-15.1.1.tgz"; | ||
777 | sha1 = "c675b8a71296f02833f8d6d243b34c57b8ce19d7"; | ||
778 | }; | ||
779 | } | ||
780 | { | ||
781 | name = "_hapi_topo___topo_3.1.6.tgz"; | ||
782 | path = fetchurl { | ||
783 | name = "_hapi_topo___topo_3.1.6.tgz"; | ||
784 | url = "https://registry.yarnpkg.com/@hapi/topo/-/topo-3.1.6.tgz"; | ||
785 | sha1 = "68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"; | ||
786 | }; | ||
787 | } | ||
788 | { | ||
789 | name = "_intervolga_optimize_cssnano_plugin___optimize_cssnano_plugin_1.0.6.tgz"; | ||
790 | path = fetchurl { | ||
791 | name = "_intervolga_optimize_cssnano_plugin___optimize_cssnano_plugin_1.0.6.tgz"; | ||
792 | url = "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz"; | ||
793 | sha1 = "be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8"; | ||
794 | }; | ||
795 | } | ||
796 | { | ||
797 | name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz"; | ||
798 | path = fetchurl { | ||
799 | name = "_mrmlnc_readdir_enhanced___readdir_enhanced_2.2.1.tgz"; | ||
800 | url = "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz"; | ||
801 | sha1 = "524af240d1a360527b730475ecfa1344aa540dde"; | ||
802 | }; | ||
803 | } | ||
804 | { | ||
805 | name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz"; | ||
806 | path = fetchurl { | ||
807 | name = "_nodelib_fs.stat___fs.stat_1.1.3.tgz"; | ||
808 | url = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz"; | ||
809 | sha1 = "2b5a3ab3f918cca48a8c754c08168e3f03eba61b"; | ||
810 | }; | ||
811 | } | ||
812 | { | ||
813 | name = "_soda_friendly_errors_webpack_plugin___friendly_errors_webpack_plugin_1.7.1.tgz"; | ||
814 | path = fetchurl { | ||
815 | name = "_soda_friendly_errors_webpack_plugin___friendly_errors_webpack_plugin_1.7.1.tgz"; | ||
816 | url = "https://registry.yarnpkg.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz"; | ||
817 | sha1 = "706f64bcb4a8b9642b48ae3ace444c70334d615d"; | ||
818 | }; | ||
819 | } | ||
820 | { | ||
821 | name = "_soda_get_current_script___get_current_script_1.0.1.tgz"; | ||
822 | path = fetchurl { | ||
823 | name = "_soda_get_current_script___get_current_script_1.0.1.tgz"; | ||
824 | url = "https://registry.yarnpkg.com/@soda/get-current-script/-/get-current-script-1.0.1.tgz"; | ||
825 | sha1 = "f4afffcb36e069a801d5339c90499601c47a2516"; | ||
826 | }; | ||
827 | } | ||
828 | { | ||
829 | name = "_types_color_name___color_name_1.1.1.tgz"; | ||
830 | path = fetchurl { | ||
831 | name = "_types_color_name___color_name_1.1.1.tgz"; | ||
832 | url = "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz"; | ||
833 | sha1 = "1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"; | ||
834 | }; | ||
835 | } | ||
836 | { | ||
837 | name = "_types_glob___glob_7.1.2.tgz"; | ||
838 | path = fetchurl { | ||
839 | name = "_types_glob___glob_7.1.2.tgz"; | ||
840 | url = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.2.tgz"; | ||
841 | sha1 = "06ca26521353a545d94a0adc74f38a59d232c987"; | ||
842 | }; | ||
843 | } | ||
844 | { | ||
845 | name = "_types_json_schema___json_schema_7.0.4.tgz"; | ||
846 | path = fetchurl { | ||
847 | name = "_types_json_schema___json_schema_7.0.4.tgz"; | ||
848 | url = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz"; | ||
849 | sha1 = "38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339"; | ||
850 | }; | ||
851 | } | ||
852 | { | ||
853 | name = "_types_minimatch___minimatch_3.0.3.tgz"; | ||
854 | path = fetchurl { | ||
855 | name = "_types_minimatch___minimatch_3.0.3.tgz"; | ||
856 | url = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz"; | ||
857 | sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"; | ||
858 | }; | ||
859 | } | ||
860 | { | ||
861 | name = "_types_node___node_14.0.11.tgz"; | ||
862 | path = fetchurl { | ||
863 | name = "_types_node___node_14.0.11.tgz"; | ||
864 | url = "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz"; | ||
865 | sha1 = "61d4886e2424da73b7b25547f59fdcb534c165a3"; | ||
866 | }; | ||
867 | } | ||
868 | { | ||
869 | name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz"; | ||
870 | path = fetchurl { | ||
871 | name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz"; | ||
872 | url = "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz"; | ||
873 | sha1 = "e486d0d97396d79beedd0a6e33f4534ff6b4973e"; | ||
874 | }; | ||
875 | } | ||
876 | { | ||
877 | name = "_types_q___q_1.5.4.tgz"; | ||
878 | path = fetchurl { | ||
879 | name = "_types_q___q_1.5.4.tgz"; | ||
880 | url = "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz"; | ||
881 | sha1 = "15925414e0ad2cd765bfef58842f7e26a7accb24"; | ||
882 | }; | ||
883 | } | ||
884 | { | ||
885 | name = "_vue_babel_helper_vue_jsx_merge_props___babel_helper_vue_jsx_merge_props_1.0.0.tgz"; | ||
886 | path = fetchurl { | ||
887 | name = "_vue_babel_helper_vue_jsx_merge_props___babel_helper_vue_jsx_merge_props_1.0.0.tgz"; | ||
888 | url = "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz"; | ||
889 | sha1 = "048fe579958da408fb7a8b2a3ec050b50a661040"; | ||
890 | }; | ||
891 | } | ||
892 | { | ||
893 | name = "_vue_babel_plugin_transform_vue_jsx___babel_plugin_transform_vue_jsx_1.1.2.tgz"; | ||
894 | path = fetchurl { | ||
895 | name = "_vue_babel_plugin_transform_vue_jsx___babel_plugin_transform_vue_jsx_1.1.2.tgz"; | ||
896 | url = "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz"; | ||
897 | sha1 = "c0a3e6efc022e75e4247b448a8fc6b86f03e91c0"; | ||
898 | }; | ||
899 | } | ||
900 | { | ||
901 | name = "_vue_babel_preset_app___babel_preset_app_4.4.1.tgz"; | ||
902 | path = fetchurl { | ||
903 | name = "_vue_babel_preset_app___babel_preset_app_4.4.1.tgz"; | ||
904 | url = "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.4.1.tgz"; | ||
905 | sha1 = "97c6796183cd0abf96a17297dc335c4c702fd8c4"; | ||
906 | }; | ||
907 | } | ||
908 | { | ||
909 | name = "_vue_babel_preset_jsx___babel_preset_jsx_1.1.2.tgz"; | ||
910 | path = fetchurl { | ||
911 | name = "_vue_babel_preset_jsx___babel_preset_jsx_1.1.2.tgz"; | ||
912 | url = "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz"; | ||
913 | sha1 = "2e169eb4c204ea37ca66c2ea85a880bfc99d4f20"; | ||
914 | }; | ||
915 | } | ||
916 | { | ||
917 | name = "_vue_babel_sugar_functional_vue___babel_sugar_functional_vue_1.1.2.tgz"; | ||
918 | path = fetchurl { | ||
919 | name = "_vue_babel_sugar_functional_vue___babel_sugar_functional_vue_1.1.2.tgz"; | ||
920 | url = "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz"; | ||
921 | sha1 = "f7e24fba09e6f1ee70104560a8808057555f1a9a"; | ||
922 | }; | ||
923 | } | ||
924 | { | ||
925 | name = "_vue_babel_sugar_inject_h___babel_sugar_inject_h_1.1.2.tgz"; | ||
926 | path = fetchurl { | ||
927 | name = "_vue_babel_sugar_inject_h___babel_sugar_inject_h_1.1.2.tgz"; | ||
928 | url = "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz"; | ||
929 | sha1 = "8a5276b6d8e2ed16ffc8078aad94236274e6edf0"; | ||
930 | }; | ||
931 | } | ||
932 | { | ||
933 | name = "_vue_babel_sugar_v_model___babel_sugar_v_model_1.1.2.tgz"; | ||
934 | path = fetchurl { | ||
935 | name = "_vue_babel_sugar_v_model___babel_sugar_v_model_1.1.2.tgz"; | ||
936 | url = "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz"; | ||
937 | sha1 = "1ff6fd1b800223fc9cb1e84dceb5e52d737a8192"; | ||
938 | }; | ||
939 | } | ||
940 | { | ||
941 | name = "_vue_babel_sugar_v_on___babel_sugar_v_on_1.1.2.tgz"; | ||
942 | path = fetchurl { | ||
943 | name = "_vue_babel_sugar_v_on___babel_sugar_v_on_1.1.2.tgz"; | ||
944 | url = "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz"; | ||
945 | sha1 = "b2ef99b8f2fab09fbead25aad70ef42e1cf5b13b"; | ||
946 | }; | ||
947 | } | ||
948 | { | ||
949 | name = "_vue_cli_overlay___cli_overlay_4.4.1.tgz"; | ||
950 | path = fetchurl { | ||
951 | name = "_vue_cli_overlay___cli_overlay_4.4.1.tgz"; | ||
952 | url = "https://registry.yarnpkg.com/@vue/cli-overlay/-/cli-overlay-4.4.1.tgz"; | ||
953 | sha1 = "f1f51f31f7a00d371e9a5b5a941525184475bf8b"; | ||
954 | }; | ||
955 | } | ||
956 | { | ||
957 | name = "_vue_cli_plugin_babel___cli_plugin_babel_4.4.1.tgz"; | ||
958 | path = fetchurl { | ||
959 | name = "_vue_cli_plugin_babel___cli_plugin_babel_4.4.1.tgz"; | ||
960 | url = "https://registry.yarnpkg.com/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.1.tgz"; | ||
961 | sha1 = "2c6e969fe51f1b4b211bea84afb7cad18240f70f"; | ||
962 | }; | ||
963 | } | ||
964 | { | ||
965 | name = "_vue_cli_plugin_eslint___cli_plugin_eslint_4.4.1.tgz"; | ||
966 | path = fetchurl { | ||
967 | name = "_vue_cli_plugin_eslint___cli_plugin_eslint_4.4.1.tgz"; | ||
968 | url = "https://registry.yarnpkg.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.1.tgz"; | ||
969 | sha1 = "e39d6517da6de231195d227f995f495e2958a74a"; | ||
970 | }; | ||
971 | } | ||
972 | { | ||
973 | name = "_vue_cli_plugin_pwa___cli_plugin_pwa_4.4.1.tgz"; | ||
974 | path = fetchurl { | ||
975 | name = "_vue_cli_plugin_pwa___cli_plugin_pwa_4.4.1.tgz"; | ||
976 | url = "https://registry.yarnpkg.com/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.4.1.tgz"; | ||
977 | sha1 = "e7bc010bc78cfaf74968c11fb332f3abc1ef298d"; | ||
978 | }; | ||
979 | } | ||
980 | { | ||
981 | name = "_vue_cli_plugin_router___cli_plugin_router_4.4.1.tgz"; | ||
982 | path = fetchurl { | ||
983 | name = "_vue_cli_plugin_router___cli_plugin_router_4.4.1.tgz"; | ||
984 | url = "https://registry.yarnpkg.com/@vue/cli-plugin-router/-/cli-plugin-router-4.4.1.tgz"; | ||
985 | sha1 = "07d09df0f4bea816e637da814f578b808f1f93b2"; | ||
986 | }; | ||
987 | } | ||
988 | { | ||
989 | name = "_vue_cli_plugin_vuex___cli_plugin_vuex_4.4.1.tgz"; | ||
990 | path = fetchurl { | ||
991 | name = "_vue_cli_plugin_vuex___cli_plugin_vuex_4.4.1.tgz"; | ||
992 | url = "https://registry.yarnpkg.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.1.tgz"; | ||
993 | sha1 = "98d18fc5d36fa6e0d1fc2ecaeea37aa965564f19"; | ||
994 | }; | ||
995 | } | ||
996 | { | ||
997 | name = "_vue_cli_service___cli_service_4.4.1.tgz"; | ||
998 | path = fetchurl { | ||
999 | name = "_vue_cli_service___cli_service_4.4.1.tgz"; | ||
1000 | url = "https://registry.yarnpkg.com/@vue/cli-service/-/cli-service-4.4.1.tgz"; | ||
1001 | sha1 = "b26a435d8c953bc7efaf7b784c9835c1415bcf1c"; | ||
1002 | }; | ||
1003 | } | ||
1004 | { | ||
1005 | name = "_vue_cli_shared_utils___cli_shared_utils_4.4.1.tgz"; | ||
1006 | path = fetchurl { | ||
1007 | name = "_vue_cli_shared_utils___cli_shared_utils_4.4.1.tgz"; | ||
1008 | url = "https://registry.yarnpkg.com/@vue/cli-shared-utils/-/cli-shared-utils-4.4.1.tgz"; | ||
1009 | sha1 = "930304ade5a9f9bf0d2fd67d9305cad83d04aae1"; | ||
1010 | }; | ||
1011 | } | ||
1012 | { | ||
1013 | name = "_vue_component_compiler_utils___component_compiler_utils_3.1.2.tgz"; | ||
1014 | path = fetchurl { | ||
1015 | name = "_vue_component_compiler_utils___component_compiler_utils_3.1.2.tgz"; | ||
1016 | url = "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz"; | ||
1017 | sha1 = "8213a5ff3202f9f2137fe55370f9e8b9656081c3"; | ||
1018 | }; | ||
1019 | } | ||
1020 | { | ||
1021 | name = "_vue_eslint_config_prettier___eslint_config_prettier_6.0.0.tgz"; | ||
1022 | path = fetchurl { | ||
1023 | name = "_vue_eslint_config_prettier___eslint_config_prettier_6.0.0.tgz"; | ||
1024 | url = "https://registry.yarnpkg.com/@vue/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz"; | ||
1025 | sha1 = "ad5912b308f4ae468458e02a2b05db0b9d246700"; | ||
1026 | }; | ||
1027 | } | ||
1028 | { | ||
1029 | name = "_vue_preload_webpack_plugin___preload_webpack_plugin_1.1.1.tgz"; | ||
1030 | path = fetchurl { | ||
1031 | name = "_vue_preload_webpack_plugin___preload_webpack_plugin_1.1.1.tgz"; | ||
1032 | url = "https://registry.yarnpkg.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz"; | ||
1033 | sha1 = "18723530d304f443021da2292d6ec9502826104a"; | ||
1034 | }; | ||
1035 | } | ||
1036 | { | ||
1037 | name = "_vue_web_component_wrapper___web_component_wrapper_1.2.0.tgz"; | ||
1038 | path = fetchurl { | ||
1039 | name = "_vue_web_component_wrapper___web_component_wrapper_1.2.0.tgz"; | ||
1040 | url = "https://registry.yarnpkg.com/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz"; | ||
1041 | sha1 = "bb0e46f1585a7e289b4ee6067dcc5a6ae62f1dd1"; | ||
1042 | }; | ||
1043 | } | ||
1044 | { | ||
1045 | name = "_webassemblyjs_ast___ast_1.9.0.tgz"; | ||
1046 | path = fetchurl { | ||
1047 | name = "_webassemblyjs_ast___ast_1.9.0.tgz"; | ||
1048 | url = "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz"; | ||
1049 | sha1 = "bd850604b4042459a5a41cd7d338cbed695ed964"; | ||
1050 | }; | ||
1051 | } | ||
1052 | { | ||
1053 | name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.9.0.tgz"; | ||
1054 | path = fetchurl { | ||
1055 | name = "_webassemblyjs_floating_point_hex_parser___floating_point_hex_parser_1.9.0.tgz"; | ||
1056 | url = "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz"; | ||
1057 | sha1 = "3c3d3b271bddfc84deb00f71344438311d52ffb4"; | ||
1058 | }; | ||
1059 | } | ||
1060 | { | ||
1061 | name = "_webassemblyjs_helper_api_error___helper_api_error_1.9.0.tgz"; | ||
1062 | path = fetchurl { | ||
1063 | name = "_webassemblyjs_helper_api_error___helper_api_error_1.9.0.tgz"; | ||
1064 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz"; | ||
1065 | sha1 = "203f676e333b96c9da2eeab3ccef33c45928b6a2"; | ||
1066 | }; | ||
1067 | } | ||
1068 | { | ||
1069 | name = "_webassemblyjs_helper_buffer___helper_buffer_1.9.0.tgz"; | ||
1070 | path = fetchurl { | ||
1071 | name = "_webassemblyjs_helper_buffer___helper_buffer_1.9.0.tgz"; | ||
1072 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz"; | ||
1073 | sha1 = "a1442d269c5feb23fcbc9ef759dac3547f29de00"; | ||
1074 | }; | ||
1075 | } | ||
1076 | { | ||
1077 | name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.9.0.tgz"; | ||
1078 | path = fetchurl { | ||
1079 | name = "_webassemblyjs_helper_code_frame___helper_code_frame_1.9.0.tgz"; | ||
1080 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz"; | ||
1081 | sha1 = "647f8892cd2043a82ac0c8c5e75c36f1d9159f27"; | ||
1082 | }; | ||
1083 | } | ||
1084 | { | ||
1085 | name = "_webassemblyjs_helper_fsm___helper_fsm_1.9.0.tgz"; | ||
1086 | path = fetchurl { | ||
1087 | name = "_webassemblyjs_helper_fsm___helper_fsm_1.9.0.tgz"; | ||
1088 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz"; | ||
1089 | sha1 = "c05256b71244214671f4b08ec108ad63b70eddb8"; | ||
1090 | }; | ||
1091 | } | ||
1092 | { | ||
1093 | name = "_webassemblyjs_helper_module_context___helper_module_context_1.9.0.tgz"; | ||
1094 | path = fetchurl { | ||
1095 | name = "_webassemblyjs_helper_module_context___helper_module_context_1.9.0.tgz"; | ||
1096 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz"; | ||
1097 | sha1 = "25d8884b76839871a08a6c6f806c3979ef712f07"; | ||
1098 | }; | ||
1099 | } | ||
1100 | { | ||
1101 | name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.9.0.tgz"; | ||
1102 | path = fetchurl { | ||
1103 | name = "_webassemblyjs_helper_wasm_bytecode___helper_wasm_bytecode_1.9.0.tgz"; | ||
1104 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz"; | ||
1105 | sha1 = "4fed8beac9b8c14f8c58b70d124d549dd1fe5790"; | ||
1106 | }; | ||
1107 | } | ||
1108 | { | ||
1109 | name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.9.0.tgz"; | ||
1110 | path = fetchurl { | ||
1111 | name = "_webassemblyjs_helper_wasm_section___helper_wasm_section_1.9.0.tgz"; | ||
1112 | url = "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz"; | ||
1113 | sha1 = "5a4138d5a6292ba18b04c5ae49717e4167965346"; | ||
1114 | }; | ||
1115 | } | ||
1116 | { | ||
1117 | name = "_webassemblyjs_ieee754___ieee754_1.9.0.tgz"; | ||
1118 | path = fetchurl { | ||
1119 | name = "_webassemblyjs_ieee754___ieee754_1.9.0.tgz"; | ||
1120 | url = "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz"; | ||
1121 | sha1 = "15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"; | ||
1122 | }; | ||
1123 | } | ||
1124 | { | ||
1125 | name = "_webassemblyjs_leb128___leb128_1.9.0.tgz"; | ||
1126 | path = fetchurl { | ||
1127 | name = "_webassemblyjs_leb128___leb128_1.9.0.tgz"; | ||
1128 | url = "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz"; | ||
1129 | sha1 = "f19ca0b76a6dc55623a09cffa769e838fa1e1c95"; | ||
1130 | }; | ||
1131 | } | ||
1132 | { | ||
1133 | name = "_webassemblyjs_utf8___utf8_1.9.0.tgz"; | ||
1134 | path = fetchurl { | ||
1135 | name = "_webassemblyjs_utf8___utf8_1.9.0.tgz"; | ||
1136 | url = "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz"; | ||
1137 | sha1 = "04d33b636f78e6a6813227e82402f7637b6229ab"; | ||
1138 | }; | ||
1139 | } | ||
1140 | { | ||
1141 | name = "_webassemblyjs_wasm_edit___wasm_edit_1.9.0.tgz"; | ||
1142 | path = fetchurl { | ||
1143 | name = "_webassemblyjs_wasm_edit___wasm_edit_1.9.0.tgz"; | ||
1144 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz"; | ||
1145 | sha1 = "3fe6d79d3f0f922183aa86002c42dd256cfee9cf"; | ||
1146 | }; | ||
1147 | } | ||
1148 | { | ||
1149 | name = "_webassemblyjs_wasm_gen___wasm_gen_1.9.0.tgz"; | ||
1150 | path = fetchurl { | ||
1151 | name = "_webassemblyjs_wasm_gen___wasm_gen_1.9.0.tgz"; | ||
1152 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz"; | ||
1153 | sha1 = "50bc70ec68ded8e2763b01a1418bf43491a7a49c"; | ||
1154 | }; | ||
1155 | } | ||
1156 | { | ||
1157 | name = "_webassemblyjs_wasm_opt___wasm_opt_1.9.0.tgz"; | ||
1158 | path = fetchurl { | ||
1159 | name = "_webassemblyjs_wasm_opt___wasm_opt_1.9.0.tgz"; | ||
1160 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz"; | ||
1161 | sha1 = "2211181e5b31326443cc8112eb9f0b9028721a61"; | ||
1162 | }; | ||
1163 | } | ||
1164 | { | ||
1165 | name = "_webassemblyjs_wasm_parser___wasm_parser_1.9.0.tgz"; | ||
1166 | path = fetchurl { | ||
1167 | name = "_webassemblyjs_wasm_parser___wasm_parser_1.9.0.tgz"; | ||
1168 | url = "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz"; | ||
1169 | sha1 = "9d48e44826df4a6598294aa6c87469d642fff65e"; | ||
1170 | }; | ||
1171 | } | ||
1172 | { | ||
1173 | name = "_webassemblyjs_wast_parser___wast_parser_1.9.0.tgz"; | ||
1174 | path = fetchurl { | ||
1175 | name = "_webassemblyjs_wast_parser___wast_parser_1.9.0.tgz"; | ||
1176 | url = "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz"; | ||
1177 | sha1 = "3031115d79ac5bd261556cecc3fa90a3ef451914"; | ||
1178 | }; | ||
1179 | } | ||
1180 | { | ||
1181 | name = "_webassemblyjs_wast_printer___wast_printer_1.9.0.tgz"; | ||
1182 | path = fetchurl { | ||
1183 | name = "_webassemblyjs_wast_printer___wast_printer_1.9.0.tgz"; | ||
1184 | url = "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz"; | ||
1185 | sha1 = "4935d54c85fef637b00ce9f52377451d00d47899"; | ||
1186 | }; | ||
1187 | } | ||
1188 | { | ||
1189 | name = "_xtuc_ieee754___ieee754_1.2.0.tgz"; | ||
1190 | path = fetchurl { | ||
1191 | name = "_xtuc_ieee754___ieee754_1.2.0.tgz"; | ||
1192 | url = "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz"; | ||
1193 | sha1 = "eef014a3145ae477a1cbc00cd1e552336dceb790"; | ||
1194 | }; | ||
1195 | } | ||
1196 | { | ||
1197 | name = "_xtuc_long___long_4.2.2.tgz"; | ||
1198 | path = fetchurl { | ||
1199 | name = "_xtuc_long___long_4.2.2.tgz"; | ||
1200 | url = "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz"; | ||
1201 | sha1 = "d291c6a4e97989b5c61d9acf396ae4fe133a718d"; | ||
1202 | }; | ||
1203 | } | ||
1204 | { | ||
1205 | name = "accepts___accepts_1.3.7.tgz"; | ||
1206 | path = fetchurl { | ||
1207 | name = "accepts___accepts_1.3.7.tgz"; | ||
1208 | url = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz"; | ||
1209 | sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd"; | ||
1210 | }; | ||
1211 | } | ||
1212 | { | ||
1213 | name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; | ||
1214 | path = fetchurl { | ||
1215 | name = "acorn_jsx___acorn_jsx_5.2.0.tgz"; | ||
1216 | url = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz"; | ||
1217 | sha1 = "4c66069173d6fdd68ed85239fc256226182b2ebe"; | ||
1218 | }; | ||
1219 | } | ||
1220 | { | ||
1221 | name = "acorn_walk___acorn_walk_7.1.1.tgz"; | ||
1222 | path = fetchurl { | ||
1223 | name = "acorn_walk___acorn_walk_7.1.1.tgz"; | ||
1224 | url = "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz"; | ||
1225 | sha1 = "345f0dffad5c735e7373d2fec9a1023e6a44b83e"; | ||
1226 | }; | ||
1227 | } | ||
1228 | { | ||
1229 | name = "acorn___acorn_6.4.1.tgz"; | ||
1230 | path = fetchurl { | ||
1231 | name = "acorn___acorn_6.4.1.tgz"; | ||
1232 | url = "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz"; | ||
1233 | sha1 = "531e58ba3f51b9dacb9a6646ca4debf5b14ca474"; | ||
1234 | }; | ||
1235 | } | ||
1236 | { | ||
1237 | name = "acorn___acorn_7.2.0.tgz"; | ||
1238 | path = fetchurl { | ||
1239 | name = "acorn___acorn_7.2.0.tgz"; | ||
1240 | url = "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz"; | ||
1241 | sha1 = "17ea7e40d7c8640ff54a694c889c26f31704effe"; | ||
1242 | }; | ||
1243 | } | ||
1244 | { | ||
1245 | name = "address___address_1.1.2.tgz"; | ||
1246 | path = fetchurl { | ||
1247 | name = "address___address_1.1.2.tgz"; | ||
1248 | url = "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz"; | ||
1249 | sha1 = "bf1116c9c758c51b7a933d296b72c221ed9428b6"; | ||
1250 | }; | ||
1251 | } | ||
1252 | { | ||
1253 | name = "aggregate_error___aggregate_error_3.0.1.tgz"; | ||
1254 | path = fetchurl { | ||
1255 | name = "aggregate_error___aggregate_error_3.0.1.tgz"; | ||
1256 | url = "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz"; | ||
1257 | sha1 = "db2fe7246e536f40d9b5442a39e117d7dd6a24e0"; | ||
1258 | }; | ||
1259 | } | ||
1260 | { | ||
1261 | name = "ajv_errors___ajv_errors_1.0.1.tgz"; | ||
1262 | path = fetchurl { | ||
1263 | name = "ajv_errors___ajv_errors_1.0.1.tgz"; | ||
1264 | url = "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz"; | ||
1265 | sha1 = "f35986aceb91afadec4102fbd85014950cefa64d"; | ||
1266 | }; | ||
1267 | } | ||
1268 | { | ||
1269 | name = "ajv_keywords___ajv_keywords_3.4.1.tgz"; | ||
1270 | path = fetchurl { | ||
1271 | name = "ajv_keywords___ajv_keywords_3.4.1.tgz"; | ||
1272 | url = "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz"; | ||
1273 | sha1 = "ef916e271c64ac12171fd8384eaae6b2345854da"; | ||
1274 | }; | ||
1275 | } | ||
1276 | { | ||
1277 | name = "ajv___ajv_6.12.2.tgz"; | ||
1278 | path = fetchurl { | ||
1279 | name = "ajv___ajv_6.12.2.tgz"; | ||
1280 | url = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz"; | ||
1281 | sha1 = "c629c5eced17baf314437918d2da88c99d5958cd"; | ||
1282 | }; | ||
1283 | } | ||
1284 | { | ||
1285 | name = "alphanum_sort___alphanum_sort_1.0.2.tgz"; | ||
1286 | path = fetchurl { | ||
1287 | name = "alphanum_sort___alphanum_sort_1.0.2.tgz"; | ||
1288 | url = "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz"; | ||
1289 | sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3"; | ||
1290 | }; | ||
1291 | } | ||
1292 | { | ||
1293 | name = "ansi_colors___ansi_colors_3.2.4.tgz"; | ||
1294 | path = fetchurl { | ||
1295 | name = "ansi_colors___ansi_colors_3.2.4.tgz"; | ||
1296 | url = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz"; | ||
1297 | sha1 = "e3a3da4bfbae6c86a9c285625de124a234026fbf"; | ||
1298 | }; | ||
1299 | } | ||
1300 | { | ||
1301 | name = "ansi_escapes___ansi_escapes_4.3.1.tgz"; | ||
1302 | path = fetchurl { | ||
1303 | name = "ansi_escapes___ansi_escapes_4.3.1.tgz"; | ||
1304 | url = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz"; | ||
1305 | sha1 = "a5c47cc43181f1f38ffd7076837700d395522a61"; | ||
1306 | }; | ||
1307 | } | ||
1308 | { | ||
1309 | name = "ansi_html___ansi_html_0.0.7.tgz"; | ||
1310 | path = fetchurl { | ||
1311 | name = "ansi_html___ansi_html_0.0.7.tgz"; | ||
1312 | url = "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz"; | ||
1313 | sha1 = "813584021962a9e9e6fd039f940d12f56ca7859e"; | ||
1314 | }; | ||
1315 | } | ||
1316 | { | ||
1317 | name = "ansi_regex___ansi_regex_2.1.1.tgz"; | ||
1318 | path = fetchurl { | ||
1319 | name = "ansi_regex___ansi_regex_2.1.1.tgz"; | ||
1320 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz"; | ||
1321 | sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df"; | ||
1322 | }; | ||
1323 | } | ||
1324 | { | ||
1325 | name = "ansi_regex___ansi_regex_3.0.0.tgz"; | ||
1326 | path = fetchurl { | ||
1327 | name = "ansi_regex___ansi_regex_3.0.0.tgz"; | ||
1328 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz"; | ||
1329 | sha1 = "ed0317c322064f79466c02966bddb605ab37d998"; | ||
1330 | }; | ||
1331 | } | ||
1332 | { | ||
1333 | name = "ansi_regex___ansi_regex_4.1.0.tgz"; | ||
1334 | path = fetchurl { | ||
1335 | name = "ansi_regex___ansi_regex_4.1.0.tgz"; | ||
1336 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz"; | ||
1337 | sha1 = "8b9f8f08cf1acb843756a839ca8c7e3168c51997"; | ||
1338 | }; | ||
1339 | } | ||
1340 | { | ||
1341 | name = "ansi_regex___ansi_regex_5.0.0.tgz"; | ||
1342 | path = fetchurl { | ||
1343 | name = "ansi_regex___ansi_regex_5.0.0.tgz"; | ||
1344 | url = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz"; | ||
1345 | sha1 = "388539f55179bf39339c81af30a654d69f87cb75"; | ||
1346 | }; | ||
1347 | } | ||
1348 | { | ||
1349 | name = "ansi_styles___ansi_styles_2.2.1.tgz"; | ||
1350 | path = fetchurl { | ||
1351 | name = "ansi_styles___ansi_styles_2.2.1.tgz"; | ||
1352 | url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz"; | ||
1353 | sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe"; | ||
1354 | }; | ||
1355 | } | ||
1356 | { | ||
1357 | name = "ansi_styles___ansi_styles_3.2.1.tgz"; | ||
1358 | path = fetchurl { | ||
1359 | name = "ansi_styles___ansi_styles_3.2.1.tgz"; | ||
1360 | url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz"; | ||
1361 | sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d"; | ||
1362 | }; | ||
1363 | } | ||
1364 | { | ||
1365 | name = "ansi_styles___ansi_styles_4.2.1.tgz"; | ||
1366 | path = fetchurl { | ||
1367 | name = "ansi_styles___ansi_styles_4.2.1.tgz"; | ||
1368 | url = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz"; | ||
1369 | sha1 = "90ae75c424d008d2624c5bf29ead3177ebfcf359"; | ||
1370 | }; | ||
1371 | } | ||
1372 | { | ||
1373 | name = "any_promise___any_promise_1.3.0.tgz"; | ||
1374 | path = fetchurl { | ||
1375 | name = "any_promise___any_promise_1.3.0.tgz"; | ||
1376 | url = "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz"; | ||
1377 | sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f"; | ||
1378 | }; | ||
1379 | } | ||
1380 | { | ||
1381 | name = "anymatch___anymatch_2.0.0.tgz"; | ||
1382 | path = fetchurl { | ||
1383 | name = "anymatch___anymatch_2.0.0.tgz"; | ||
1384 | url = "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz"; | ||
1385 | sha1 = "bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"; | ||
1386 | }; | ||
1387 | } | ||
1388 | { | ||
1389 | name = "anymatch___anymatch_3.1.1.tgz"; | ||
1390 | path = fetchurl { | ||
1391 | name = "anymatch___anymatch_3.1.1.tgz"; | ||
1392 | url = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz"; | ||
1393 | sha1 = "c55ecf02185e2469259399310c173ce31233b142"; | ||
1394 | }; | ||
1395 | } | ||
1396 | { | ||
1397 | name = "aproba___aproba_1.2.0.tgz"; | ||
1398 | path = fetchurl { | ||
1399 | name = "aproba___aproba_1.2.0.tgz"; | ||
1400 | url = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz"; | ||
1401 | sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a"; | ||
1402 | }; | ||
1403 | } | ||
1404 | { | ||
1405 | name = "arch___arch_2.1.2.tgz"; | ||
1406 | path = fetchurl { | ||
1407 | name = "arch___arch_2.1.2.tgz"; | ||
1408 | url = "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz"; | ||
1409 | sha1 = "0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"; | ||
1410 | }; | ||
1411 | } | ||
1412 | { | ||
1413 | name = "argparse___argparse_1.0.10.tgz"; | ||
1414 | path = fetchurl { | ||
1415 | name = "argparse___argparse_1.0.10.tgz"; | ||
1416 | url = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz"; | ||
1417 | sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911"; | ||
1418 | }; | ||
1419 | } | ||
1420 | { | ||
1421 | name = "arr_diff___arr_diff_4.0.0.tgz"; | ||
1422 | path = fetchurl { | ||
1423 | name = "arr_diff___arr_diff_4.0.0.tgz"; | ||
1424 | url = "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz"; | ||
1425 | sha1 = "d6461074febfec71e7e15235761a329a5dc7c520"; | ||
1426 | }; | ||
1427 | } | ||
1428 | { | ||
1429 | name = "arr_flatten___arr_flatten_1.1.0.tgz"; | ||
1430 | path = fetchurl { | ||
1431 | name = "arr_flatten___arr_flatten_1.1.0.tgz"; | ||
1432 | url = "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz"; | ||
1433 | sha1 = "36048bbff4e7b47e136644316c99669ea5ae91f1"; | ||
1434 | }; | ||
1435 | } | ||
1436 | { | ||
1437 | name = "arr_union___arr_union_3.1.0.tgz"; | ||
1438 | path = fetchurl { | ||
1439 | name = "arr_union___arr_union_3.1.0.tgz"; | ||
1440 | url = "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz"; | ||
1441 | sha1 = "e39b09aea9def866a8f206e288af63919bae39c4"; | ||
1442 | }; | ||
1443 | } | ||
1444 | { | ||
1445 | name = "array_flatten___array_flatten_1.1.1.tgz"; | ||
1446 | path = fetchurl { | ||
1447 | name = "array_flatten___array_flatten_1.1.1.tgz"; | ||
1448 | url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz"; | ||
1449 | sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2"; | ||
1450 | }; | ||
1451 | } | ||
1452 | { | ||
1453 | name = "array_flatten___array_flatten_2.1.2.tgz"; | ||
1454 | path = fetchurl { | ||
1455 | name = "array_flatten___array_flatten_2.1.2.tgz"; | ||
1456 | url = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz"; | ||
1457 | sha1 = "24ef80a28c1a893617e2149b0c6d0d788293b099"; | ||
1458 | }; | ||
1459 | } | ||
1460 | { | ||
1461 | name = "array_union___array_union_1.0.2.tgz"; | ||
1462 | path = fetchurl { | ||
1463 | name = "array_union___array_union_1.0.2.tgz"; | ||
1464 | url = "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz"; | ||
1465 | sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39"; | ||
1466 | }; | ||
1467 | } | ||
1468 | { | ||
1469 | name = "array_uniq___array_uniq_1.0.3.tgz"; | ||
1470 | path = fetchurl { | ||
1471 | name = "array_uniq___array_uniq_1.0.3.tgz"; | ||
1472 | url = "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz"; | ||
1473 | sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6"; | ||
1474 | }; | ||
1475 | } | ||
1476 | { | ||
1477 | name = "array_unique___array_unique_0.3.2.tgz"; | ||
1478 | path = fetchurl { | ||
1479 | name = "array_unique___array_unique_0.3.2.tgz"; | ||
1480 | url = "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz"; | ||
1481 | sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"; | ||
1482 | }; | ||
1483 | } | ||
1484 | { | ||
1485 | name = "asn1.js___asn1.js_4.10.1.tgz"; | ||
1486 | path = fetchurl { | ||
1487 | name = "asn1.js___asn1.js_4.10.1.tgz"; | ||
1488 | url = "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz"; | ||
1489 | sha1 = "b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"; | ||
1490 | }; | ||
1491 | } | ||
1492 | { | ||
1493 | name = "asn1___asn1_0.2.4.tgz"; | ||
1494 | path = fetchurl { | ||
1495 | name = "asn1___asn1_0.2.4.tgz"; | ||
1496 | url = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz"; | ||
1497 | sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136"; | ||
1498 | }; | ||
1499 | } | ||
1500 | { | ||
1501 | name = "assert_plus___assert_plus_1.0.0.tgz"; | ||
1502 | path = fetchurl { | ||
1503 | name = "assert_plus___assert_plus_1.0.0.tgz"; | ||
1504 | url = "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz"; | ||
1505 | sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"; | ||
1506 | }; | ||
1507 | } | ||
1508 | { | ||
1509 | name = "assert___assert_1.5.0.tgz"; | ||
1510 | path = fetchurl { | ||
1511 | name = "assert___assert_1.5.0.tgz"; | ||
1512 | url = "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz"; | ||
1513 | sha1 = "55c109aaf6e0aefdb3dc4b71240c70bf574b18eb"; | ||
1514 | }; | ||
1515 | } | ||
1516 | { | ||
1517 | name = "assign_symbols___assign_symbols_1.0.0.tgz"; | ||
1518 | path = fetchurl { | ||
1519 | name = "assign_symbols___assign_symbols_1.0.0.tgz"; | ||
1520 | url = "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz"; | ||
1521 | sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"; | ||
1522 | }; | ||
1523 | } | ||
1524 | { | ||
1525 | name = "astral_regex___astral_regex_1.0.0.tgz"; | ||
1526 | path = fetchurl { | ||
1527 | name = "astral_regex___astral_regex_1.0.0.tgz"; | ||
1528 | url = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz"; | ||
1529 | sha1 = "6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"; | ||
1530 | }; | ||
1531 | } | ||
1532 | { | ||
1533 | name = "async_each___async_each_1.0.3.tgz"; | ||
1534 | path = fetchurl { | ||
1535 | name = "async_each___async_each_1.0.3.tgz"; | ||
1536 | url = "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz"; | ||
1537 | sha1 = "b727dbf87d7651602f06f4d4ac387f47d91b0cbf"; | ||
1538 | }; | ||
1539 | } | ||
1540 | { | ||
1541 | name = "async_limiter___async_limiter_1.0.1.tgz"; | ||
1542 | path = fetchurl { | ||
1543 | name = "async_limiter___async_limiter_1.0.1.tgz"; | ||
1544 | url = "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz"; | ||
1545 | sha1 = "dd379e94f0db8310b08291f9d64c3209766617fd"; | ||
1546 | }; | ||
1547 | } | ||
1548 | { | ||
1549 | name = "async___async_2.6.3.tgz"; | ||
1550 | path = fetchurl { | ||
1551 | name = "async___async_2.6.3.tgz"; | ||
1552 | url = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz"; | ||
1553 | sha1 = "d72625e2344a3656e3a3ad4fa749fa83299d82ff"; | ||
1554 | }; | ||
1555 | } | ||
1556 | { | ||
1557 | name = "asynckit___asynckit_0.4.0.tgz"; | ||
1558 | path = fetchurl { | ||
1559 | name = "asynckit___asynckit_0.4.0.tgz"; | ||
1560 | url = "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz"; | ||
1561 | sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"; | ||
1562 | }; | ||
1563 | } | ||
1564 | { | ||
1565 | name = "atob___atob_2.1.2.tgz"; | ||
1566 | path = fetchurl { | ||
1567 | name = "atob___atob_2.1.2.tgz"; | ||
1568 | url = "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz"; | ||
1569 | sha1 = "6d9517eb9e030d2436666651e86bd9f6f13533c9"; | ||
1570 | }; | ||
1571 | } | ||
1572 | { | ||
1573 | name = "autoprefixer___autoprefixer_9.8.0.tgz"; | ||
1574 | path = fetchurl { | ||
1575 | name = "autoprefixer___autoprefixer_9.8.0.tgz"; | ||
1576 | url = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.0.tgz"; | ||
1577 | sha1 = "68e2d2bef7ba4c3a65436f662d0a56a741e56511"; | ||
1578 | }; | ||
1579 | } | ||
1580 | { | ||
1581 | name = "aws_sign2___aws_sign2_0.7.0.tgz"; | ||
1582 | path = fetchurl { | ||
1583 | name = "aws_sign2___aws_sign2_0.7.0.tgz"; | ||
1584 | url = "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz"; | ||
1585 | sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"; | ||
1586 | }; | ||
1587 | } | ||
1588 | { | ||
1589 | name = "aws4___aws4_1.10.0.tgz"; | ||
1590 | path = fetchurl { | ||
1591 | name = "aws4___aws4_1.10.0.tgz"; | ||
1592 | url = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz"; | ||
1593 | sha1 = "a17b3a8ea811060e74d47d306122400ad4497ae2"; | ||
1594 | }; | ||
1595 | } | ||
1596 | { | ||
1597 | name = "babel_eslint___babel_eslint_10.1.0.tgz"; | ||
1598 | path = fetchurl { | ||
1599 | name = "babel_eslint___babel_eslint_10.1.0.tgz"; | ||
1600 | url = "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz"; | ||
1601 | sha1 = "6968e568a910b78fb3779cdd8b6ac2f479943232"; | ||
1602 | }; | ||
1603 | } | ||
1604 | { | ||
1605 | name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz"; | ||
1606 | path = fetchurl { | ||
1607 | name = "babel_extract_comments___babel_extract_comments_1.0.0.tgz"; | ||
1608 | url = "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz"; | ||
1609 | sha1 = "0a2aedf81417ed391b85e18b4614e693a0351a21"; | ||
1610 | }; | ||
1611 | } | ||
1612 | { | ||
1613 | name = "babel_loader___babel_loader_8.1.0.tgz"; | ||
1614 | path = fetchurl { | ||
1615 | name = "babel_loader___babel_loader_8.1.0.tgz"; | ||
1616 | url = "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz"; | ||
1617 | sha1 = "c611d5112bd5209abe8b9fa84c3e4da25275f1c3"; | ||
1618 | }; | ||
1619 | } | ||
1620 | { | ||
1621 | name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz"; | ||
1622 | path = fetchurl { | ||
1623 | name = "babel_plugin_dynamic_import_node___babel_plugin_dynamic_import_node_2.3.3.tgz"; | ||
1624 | url = "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"; | ||
1625 | sha1 = "84fda19c976ec5c6defef57f9427b3def66e17a3"; | ||
1626 | }; | ||
1627 | } | ||
1628 | { | ||
1629 | name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz"; | ||
1630 | path = fetchurl { | ||
1631 | name = "babel_plugin_syntax_object_rest_spread___babel_plugin_syntax_object_rest_spread_6.13.0.tgz"; | ||
1632 | url = "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz"; | ||
1633 | sha1 = "fd6536f2bce13836ffa3a5458c4903a597bb3bf5"; | ||
1634 | }; | ||
1635 | } | ||
1636 | { | ||
1637 | name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz"; | ||
1638 | path = fetchurl { | ||
1639 | name = "babel_plugin_transform_object_rest_spread___babel_plugin_transform_object_rest_spread_6.26.0.tgz"; | ||
1640 | url = "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz"; | ||
1641 | sha1 = "0f36692d50fef6b7e2d4b3ac1478137a963b7b06"; | ||
1642 | }; | ||
1643 | } | ||
1644 | { | ||
1645 | name = "babel_runtime___babel_runtime_6.26.0.tgz"; | ||
1646 | path = fetchurl { | ||
1647 | name = "babel_runtime___babel_runtime_6.26.0.tgz"; | ||
1648 | url = "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz"; | ||
1649 | sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe"; | ||
1650 | }; | ||
1651 | } | ||
1652 | { | ||
1653 | name = "babylon___babylon_6.18.0.tgz"; | ||
1654 | path = fetchurl { | ||
1655 | name = "babylon___babylon_6.18.0.tgz"; | ||
1656 | url = "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz"; | ||
1657 | sha1 = "af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"; | ||
1658 | }; | ||
1659 | } | ||
1660 | { | ||
1661 | name = "balanced_match___balanced_match_1.0.0.tgz"; | ||
1662 | path = fetchurl { | ||
1663 | name = "balanced_match___balanced_match_1.0.0.tgz"; | ||
1664 | url = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz"; | ||
1665 | sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767"; | ||
1666 | }; | ||
1667 | } | ||
1668 | { | ||
1669 | name = "base64_js___base64_js_1.3.1.tgz"; | ||
1670 | path = fetchurl { | ||
1671 | name = "base64_js___base64_js_1.3.1.tgz"; | ||
1672 | url = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz"; | ||
1673 | sha1 = "58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"; | ||
1674 | }; | ||
1675 | } | ||
1676 | { | ||
1677 | name = "base___base_0.11.2.tgz"; | ||
1678 | path = fetchurl { | ||
1679 | name = "base___base_0.11.2.tgz"; | ||
1680 | url = "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz"; | ||
1681 | sha1 = "7bde5ced145b6d551a90db87f83c558b4eb48a8f"; | ||
1682 | }; | ||
1683 | } | ||
1684 | { | ||
1685 | name = "batch___batch_0.6.1.tgz"; | ||
1686 | path = fetchurl { | ||
1687 | name = "batch___batch_0.6.1.tgz"; | ||
1688 | url = "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz"; | ||
1689 | sha1 = "dc34314f4e679318093fc760272525f94bf25c16"; | ||
1690 | }; | ||
1691 | } | ||
1692 | { | ||
1693 | name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; | ||
1694 | path = fetchurl { | ||
1695 | name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz"; | ||
1696 | url = "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz"; | ||
1697 | sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"; | ||
1698 | }; | ||
1699 | } | ||
1700 | { | ||
1701 | name = "bfj___bfj_6.1.2.tgz"; | ||
1702 | path = fetchurl { | ||
1703 | name = "bfj___bfj_6.1.2.tgz"; | ||
1704 | url = "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz"; | ||
1705 | sha1 = "325c861a822bcb358a41c78a33b8e6e2086dde7f"; | ||
1706 | }; | ||
1707 | } | ||
1708 | { | ||
1709 | name = "big.js___big.js_3.2.0.tgz"; | ||
1710 | path = fetchurl { | ||
1711 | name = "big.js___big.js_3.2.0.tgz"; | ||
1712 | url = "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz"; | ||
1713 | sha1 = "a5fc298b81b9e0dca2e458824784b65c52ba588e"; | ||
1714 | }; | ||
1715 | } | ||
1716 | { | ||
1717 | name = "big.js___big.js_5.2.2.tgz"; | ||
1718 | path = fetchurl { | ||
1719 | name = "big.js___big.js_5.2.2.tgz"; | ||
1720 | url = "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz"; | ||
1721 | sha1 = "65f0af382f578bcdc742bd9c281e9cb2d7768328"; | ||
1722 | }; | ||
1723 | } | ||
1724 | { | ||
1725 | name = "binary_extensions___binary_extensions_1.13.1.tgz"; | ||
1726 | path = fetchurl { | ||
1727 | name = "binary_extensions___binary_extensions_1.13.1.tgz"; | ||
1728 | url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz"; | ||
1729 | sha1 = "598afe54755b2868a5330d2aff9d4ebb53209b65"; | ||
1730 | }; | ||
1731 | } | ||
1732 | { | ||
1733 | name = "binary_extensions___binary_extensions_2.0.0.tgz"; | ||
1734 | path = fetchurl { | ||
1735 | name = "binary_extensions___binary_extensions_2.0.0.tgz"; | ||
1736 | url = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz"; | ||
1737 | sha1 = "23c0df14f6a88077f5f986c0d167ec03c3d5537c"; | ||
1738 | }; | ||
1739 | } | ||
1740 | { | ||
1741 | name = "bindings___bindings_1.5.0.tgz"; | ||
1742 | path = fetchurl { | ||
1743 | name = "bindings___bindings_1.5.0.tgz"; | ||
1744 | url = "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz"; | ||
1745 | sha1 = "10353c9e945334bc0511a6d90b38fbc7c9c504df"; | ||
1746 | }; | ||
1747 | } | ||
1748 | { | ||
1749 | name = "bluebird___bluebird_3.7.2.tgz"; | ||
1750 | path = fetchurl { | ||
1751 | name = "bluebird___bluebird_3.7.2.tgz"; | ||
1752 | url = "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz"; | ||
1753 | sha1 = "9f229c15be272454ffa973ace0dbee79a1b0c36f"; | ||
1754 | }; | ||
1755 | } | ||
1756 | { | ||
1757 | name = "bn.js___bn.js_4.11.9.tgz"; | ||
1758 | path = fetchurl { | ||
1759 | name = "bn.js___bn.js_4.11.9.tgz"; | ||
1760 | url = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz"; | ||
1761 | sha1 = "26d556829458f9d1e81fc48952493d0ba3507828"; | ||
1762 | }; | ||
1763 | } | ||
1764 | { | ||
1765 | name = "bn.js___bn.js_5.1.2.tgz"; | ||
1766 | path = fetchurl { | ||
1767 | name = "bn.js___bn.js_5.1.2.tgz"; | ||
1768 | url = "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz"; | ||
1769 | sha1 = "c9686902d3c9a27729f43ab10f9d79c2004da7b0"; | ||
1770 | }; | ||
1771 | } | ||
1772 | { | ||
1773 | name = "body_parser___body_parser_1.19.0.tgz"; | ||
1774 | path = fetchurl { | ||
1775 | name = "body_parser___body_parser_1.19.0.tgz"; | ||
1776 | url = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz"; | ||
1777 | sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a"; | ||
1778 | }; | ||
1779 | } | ||
1780 | { | ||
1781 | name = "bonjour___bonjour_3.5.0.tgz"; | ||
1782 | path = fetchurl { | ||
1783 | name = "bonjour___bonjour_3.5.0.tgz"; | ||
1784 | url = "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz"; | ||
1785 | sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"; | ||
1786 | }; | ||
1787 | } | ||
1788 | { | ||
1789 | name = "boolbase___boolbase_1.0.0.tgz"; | ||
1790 | path = fetchurl { | ||
1791 | name = "boolbase___boolbase_1.0.0.tgz"; | ||
1792 | url = "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz"; | ||
1793 | sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"; | ||
1794 | }; | ||
1795 | } | ||
1796 | { | ||
1797 | name = "brace_expansion___brace_expansion_1.1.11.tgz"; | ||
1798 | path = fetchurl { | ||
1799 | name = "brace_expansion___brace_expansion_1.1.11.tgz"; | ||
1800 | url = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz"; | ||
1801 | sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd"; | ||
1802 | }; | ||
1803 | } | ||
1804 | { | ||
1805 | name = "braces___braces_2.3.2.tgz"; | ||
1806 | path = fetchurl { | ||
1807 | name = "braces___braces_2.3.2.tgz"; | ||
1808 | url = "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz"; | ||
1809 | sha1 = "5979fd3f14cd531565e5fa2df1abfff1dfaee729"; | ||
1810 | }; | ||
1811 | } | ||
1812 | { | ||
1813 | name = "braces___braces_3.0.2.tgz"; | ||
1814 | path = fetchurl { | ||
1815 | name = "braces___braces_3.0.2.tgz"; | ||
1816 | url = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz"; | ||
1817 | sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107"; | ||
1818 | }; | ||
1819 | } | ||
1820 | { | ||
1821 | name = "brorand___brorand_1.1.0.tgz"; | ||
1822 | path = fetchurl { | ||
1823 | name = "brorand___brorand_1.1.0.tgz"; | ||
1824 | url = "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz"; | ||
1825 | sha1 = "12c25efe40a45e3c323eb8675a0a0ce57b22371f"; | ||
1826 | }; | ||
1827 | } | ||
1828 | { | ||
1829 | name = "browserify_aes___browserify_aes_1.2.0.tgz"; | ||
1830 | path = fetchurl { | ||
1831 | name = "browserify_aes___browserify_aes_1.2.0.tgz"; | ||
1832 | url = "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz"; | ||
1833 | sha1 = "326734642f403dabc3003209853bb70ad428ef48"; | ||
1834 | }; | ||
1835 | } | ||
1836 | { | ||
1837 | name = "browserify_cipher___browserify_cipher_1.0.1.tgz"; | ||
1838 | path = fetchurl { | ||
1839 | name = "browserify_cipher___browserify_cipher_1.0.1.tgz"; | ||
1840 | url = "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz"; | ||
1841 | sha1 = "8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"; | ||
1842 | }; | ||
1843 | } | ||
1844 | { | ||
1845 | name = "browserify_des___browserify_des_1.0.2.tgz"; | ||
1846 | path = fetchurl { | ||
1847 | name = "browserify_des___browserify_des_1.0.2.tgz"; | ||
1848 | url = "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz"; | ||
1849 | sha1 = "3af4f1f59839403572f1c66204375f7a7f703e9c"; | ||
1850 | }; | ||
1851 | } | ||
1852 | { | ||
1853 | name = "browserify_rsa___browserify_rsa_4.0.1.tgz"; | ||
1854 | path = fetchurl { | ||
1855 | name = "browserify_rsa___browserify_rsa_4.0.1.tgz"; | ||
1856 | url = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz"; | ||
1857 | sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524"; | ||
1858 | }; | ||
1859 | } | ||
1860 | { | ||
1861 | name = "browserify_sign___browserify_sign_4.2.0.tgz"; | ||
1862 | path = fetchurl { | ||
1863 | name = "browserify_sign___browserify_sign_4.2.0.tgz"; | ||
1864 | url = "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz"; | ||
1865 | sha1 = "545d0b1b07e6b2c99211082bf1b12cce7a0b0e11"; | ||
1866 | }; | ||
1867 | } | ||
1868 | { | ||
1869 | name = "browserify_zlib___browserify_zlib_0.2.0.tgz"; | ||
1870 | path = fetchurl { | ||
1871 | name = "browserify_zlib___browserify_zlib_0.2.0.tgz"; | ||
1872 | url = "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz"; | ||
1873 | sha1 = "2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"; | ||
1874 | }; | ||
1875 | } | ||
1876 | { | ||
1877 | name = "browserslist___browserslist_4.12.0.tgz"; | ||
1878 | path = fetchurl { | ||
1879 | name = "browserslist___browserslist_4.12.0.tgz"; | ||
1880 | url = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz"; | ||
1881 | sha1 = "06c6d5715a1ede6c51fc39ff67fd647f740b656d"; | ||
1882 | }; | ||
1883 | } | ||
1884 | { | ||
1885 | name = "buffer_from___buffer_from_1.1.1.tgz"; | ||
1886 | path = fetchurl { | ||
1887 | name = "buffer_from___buffer_from_1.1.1.tgz"; | ||
1888 | url = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz"; | ||
1889 | sha1 = "32713bc028f75c02fdb710d7c7bcec1f2c6070ef"; | ||
1890 | }; | ||
1891 | } | ||
1892 | { | ||
1893 | name = "buffer_indexof___buffer_indexof_1.1.1.tgz"; | ||
1894 | path = fetchurl { | ||
1895 | name = "buffer_indexof___buffer_indexof_1.1.1.tgz"; | ||
1896 | url = "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz"; | ||
1897 | sha1 = "52fabcc6a606d1a00302802648ef68f639da268c"; | ||
1898 | }; | ||
1899 | } | ||
1900 | { | ||
1901 | name = "buffer_json___buffer_json_2.0.0.tgz"; | ||
1902 | path = fetchurl { | ||
1903 | name = "buffer_json___buffer_json_2.0.0.tgz"; | ||
1904 | url = "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz"; | ||
1905 | sha1 = "f73e13b1e42f196fe2fd67d001c7d7107edd7c23"; | ||
1906 | }; | ||
1907 | } | ||
1908 | { | ||
1909 | name = "buffer_xor___buffer_xor_1.0.3.tgz"; | ||
1910 | path = fetchurl { | ||
1911 | name = "buffer_xor___buffer_xor_1.0.3.tgz"; | ||
1912 | url = "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz"; | ||
1913 | sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9"; | ||
1914 | }; | ||
1915 | } | ||
1916 | { | ||
1917 | name = "buffer___buffer_4.9.2.tgz"; | ||
1918 | path = fetchurl { | ||
1919 | name = "buffer___buffer_4.9.2.tgz"; | ||
1920 | url = "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz"; | ||
1921 | sha1 = "230ead344002988644841ab0244af8c44bbe3ef8"; | ||
1922 | }; | ||
1923 | } | ||
1924 | { | ||
1925 | name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz"; | ||
1926 | path = fetchurl { | ||
1927 | name = "builtin_status_codes___builtin_status_codes_3.0.0.tgz"; | ||
1928 | url = "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"; | ||
1929 | sha1 = "85982878e21b98e1c66425e03d0174788f569ee8"; | ||
1930 | }; | ||
1931 | } | ||
1932 | { | ||
1933 | name = "bulma___bulma_0.8.2.tgz"; | ||
1934 | path = fetchurl { | ||
1935 | name = "bulma___bulma_0.8.2.tgz"; | ||
1936 | url = "https://registry.yarnpkg.com/bulma/-/bulma-0.8.2.tgz"; | ||
1937 | sha1 = "5d928f16ed4a84549c2873f95c92c38c69c631a7"; | ||
1938 | }; | ||
1939 | } | ||
1940 | { | ||
1941 | name = "bytes___bytes_3.0.0.tgz"; | ||
1942 | path = fetchurl { | ||
1943 | name = "bytes___bytes_3.0.0.tgz"; | ||
1944 | url = "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz"; | ||
1945 | sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048"; | ||
1946 | }; | ||
1947 | } | ||
1948 | { | ||
1949 | name = "bytes___bytes_3.1.0.tgz"; | ||
1950 | path = fetchurl { | ||
1951 | name = "bytes___bytes_3.1.0.tgz"; | ||
1952 | url = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz"; | ||
1953 | sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6"; | ||
1954 | }; | ||
1955 | } | ||
1956 | { | ||
1957 | name = "cacache___cacache_12.0.4.tgz"; | ||
1958 | path = fetchurl { | ||
1959 | name = "cacache___cacache_12.0.4.tgz"; | ||
1960 | url = "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz"; | ||
1961 | sha1 = "668bcbd105aeb5f1d92fe25570ec9525c8faa40c"; | ||
1962 | }; | ||
1963 | } | ||
1964 | { | ||
1965 | name = "cacache___cacache_13.0.1.tgz"; | ||
1966 | path = fetchurl { | ||
1967 | name = "cacache___cacache_13.0.1.tgz"; | ||
1968 | url = "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz"; | ||
1969 | sha1 = "a8000c21697089082f85287a1aec6e382024a71c"; | ||
1970 | }; | ||
1971 | } | ||
1972 | { | ||
1973 | name = "cache_base___cache_base_1.0.1.tgz"; | ||
1974 | path = fetchurl { | ||
1975 | name = "cache_base___cache_base_1.0.1.tgz"; | ||
1976 | url = "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz"; | ||
1977 | sha1 = "0a7f46416831c8b662ee36fe4e7c59d76f666ab2"; | ||
1978 | }; | ||
1979 | } | ||
1980 | { | ||
1981 | name = "cache_loader___cache_loader_4.1.0.tgz"; | ||
1982 | path = fetchurl { | ||
1983 | name = "cache_loader___cache_loader_4.1.0.tgz"; | ||
1984 | url = "https://registry.yarnpkg.com/cache-loader/-/cache-loader-4.1.0.tgz"; | ||
1985 | sha1 = "9948cae353aec0a1fcb1eafda2300816ec85387e"; | ||
1986 | }; | ||
1987 | } | ||
1988 | { | ||
1989 | name = "call_me_maybe___call_me_maybe_1.0.1.tgz"; | ||
1990 | path = fetchurl { | ||
1991 | name = "call_me_maybe___call_me_maybe_1.0.1.tgz"; | ||
1992 | url = "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz"; | ||
1993 | sha1 = "26d208ea89e37b5cbde60250a15f031c16a4d66b"; | ||
1994 | }; | ||
1995 | } | ||
1996 | { | ||
1997 | name = "caller_callsite___caller_callsite_2.0.0.tgz"; | ||
1998 | path = fetchurl { | ||
1999 | name = "caller_callsite___caller_callsite_2.0.0.tgz"; | ||
2000 | url = "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz"; | ||
2001 | sha1 = "847e0fce0a223750a9a027c54b33731ad3154134"; | ||
2002 | }; | ||
2003 | } | ||
2004 | { | ||
2005 | name = "caller_path___caller_path_2.0.0.tgz"; | ||
2006 | path = fetchurl { | ||
2007 | name = "caller_path___caller_path_2.0.0.tgz"; | ||
2008 | url = "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz"; | ||
2009 | sha1 = "468f83044e369ab2010fac5f06ceee15bb2cb1f4"; | ||
2010 | }; | ||
2011 | } | ||
2012 | { | ||
2013 | name = "callsites___callsites_2.0.0.tgz"; | ||
2014 | path = fetchurl { | ||
2015 | name = "callsites___callsites_2.0.0.tgz"; | ||
2016 | url = "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz"; | ||
2017 | sha1 = "06eb84f00eea413da86affefacbffb36093b3c50"; | ||
2018 | }; | ||
2019 | } | ||
2020 | { | ||
2021 | name = "callsites___callsites_3.1.0.tgz"; | ||
2022 | path = fetchurl { | ||
2023 | name = "callsites___callsites_3.1.0.tgz"; | ||
2024 | url = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz"; | ||
2025 | sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73"; | ||
2026 | }; | ||
2027 | } | ||
2028 | { | ||
2029 | name = "camel_case___camel_case_3.0.0.tgz"; | ||
2030 | path = fetchurl { | ||
2031 | name = "camel_case___camel_case_3.0.0.tgz"; | ||
2032 | url = "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz"; | ||
2033 | sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"; | ||
2034 | }; | ||
2035 | } | ||
2036 | { | ||
2037 | name = "camelcase___camelcase_5.3.1.tgz"; | ||
2038 | path = fetchurl { | ||
2039 | name = "camelcase___camelcase_5.3.1.tgz"; | ||
2040 | url = "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz"; | ||
2041 | sha1 = "e3c9b31569e106811df242f715725a1f4c494320"; | ||
2042 | }; | ||
2043 | } | ||
2044 | { | ||
2045 | name = "caniuse_api___caniuse_api_3.0.0.tgz"; | ||
2046 | path = fetchurl { | ||
2047 | name = "caniuse_api___caniuse_api_3.0.0.tgz"; | ||
2048 | url = "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz"; | ||
2049 | sha1 = "5e4d90e2274961d46291997df599e3ed008ee4c0"; | ||
2050 | }; | ||
2051 | } | ||
2052 | { | ||
2053 | name = "caniuse_lite___caniuse_lite_1.0.30001078.tgz"; | ||
2054 | path = fetchurl { | ||
2055 | name = "caniuse_lite___caniuse_lite_1.0.30001078.tgz"; | ||
2056 | url = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001078.tgz"; | ||
2057 | sha1 = "e1b6e2ae327b6a1ec11f65ec7a0dde1e7093074c"; | ||
2058 | }; | ||
2059 | } | ||
2060 | { | ||
2061 | name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.3.0.tgz"; | ||
2062 | path = fetchurl { | ||
2063 | name = "case_sensitive_paths_webpack_plugin___case_sensitive_paths_webpack_plugin_2.3.0.tgz"; | ||
2064 | url = "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz"; | ||
2065 | sha1 = "23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"; | ||
2066 | }; | ||
2067 | } | ||
2068 | { | ||
2069 | name = "caseless___caseless_0.12.0.tgz"; | ||
2070 | path = fetchurl { | ||
2071 | name = "caseless___caseless_0.12.0.tgz"; | ||
2072 | url = "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz"; | ||
2073 | sha1 = "1b681c21ff84033c826543090689420d187151dc"; | ||
2074 | }; | ||
2075 | } | ||
2076 | { | ||
2077 | name = "chalk___chalk_1.1.3.tgz"; | ||
2078 | path = fetchurl { | ||
2079 | name = "chalk___chalk_1.1.3.tgz"; | ||
2080 | url = "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz"; | ||
2081 | sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98"; | ||
2082 | }; | ||
2083 | } | ||
2084 | { | ||
2085 | name = "chalk___chalk_2.4.2.tgz"; | ||
2086 | path = fetchurl { | ||
2087 | name = "chalk___chalk_2.4.2.tgz"; | ||
2088 | url = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz"; | ||
2089 | sha1 = "cd42541677a54333cf541a49108c1432b44c9424"; | ||
2090 | }; | ||
2091 | } | ||
2092 | { | ||
2093 | name = "chalk___chalk_3.0.0.tgz"; | ||
2094 | path = fetchurl { | ||
2095 | name = "chalk___chalk_3.0.0.tgz"; | ||
2096 | url = "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz"; | ||
2097 | sha1 = "3f73c2bf526591f574cc492c51e2456349f844e4"; | ||
2098 | }; | ||
2099 | } | ||
2100 | { | ||
2101 | name = "chalk___chalk_4.0.0.tgz"; | ||
2102 | path = fetchurl { | ||
2103 | name = "chalk___chalk_4.0.0.tgz"; | ||
2104 | url = "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz"; | ||
2105 | sha1 = "6e98081ed2d17faab615eb52ac66ec1fe6209e72"; | ||
2106 | }; | ||
2107 | } | ||
2108 | { | ||
2109 | name = "chardet___chardet_0.7.0.tgz"; | ||
2110 | path = fetchurl { | ||
2111 | name = "chardet___chardet_0.7.0.tgz"; | ||
2112 | url = "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz"; | ||
2113 | sha1 = "90094849f0937f2eedc2425d0d28a9e5f0cbad9e"; | ||
2114 | }; | ||
2115 | } | ||
2116 | { | ||
2117 | name = "check_types___check_types_8.0.3.tgz"; | ||
2118 | path = fetchurl { | ||
2119 | name = "check_types___check_types_8.0.3.tgz"; | ||
2120 | url = "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz"; | ||
2121 | sha1 = "3356cca19c889544f2d7a95ed49ce508a0ecf552"; | ||
2122 | }; | ||
2123 | } | ||
2124 | { | ||
2125 | name = "chokidar___chokidar_3.4.0.tgz"; | ||
2126 | path = fetchurl { | ||
2127 | name = "chokidar___chokidar_3.4.0.tgz"; | ||
2128 | url = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz"; | ||
2129 | sha1 = "b30611423ce376357c765b9b8f904b9fba3c0be8"; | ||
2130 | }; | ||
2131 | } | ||
2132 | { | ||
2133 | name = "chokidar___chokidar_2.1.8.tgz"; | ||
2134 | path = fetchurl { | ||
2135 | name = "chokidar___chokidar_2.1.8.tgz"; | ||
2136 | url = "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz"; | ||
2137 | sha1 = "804b3a7b6a99358c3c5c61e71d8728f041cff917"; | ||
2138 | }; | ||
2139 | } | ||
2140 | { | ||
2141 | name = "chownr___chownr_1.1.4.tgz"; | ||
2142 | path = fetchurl { | ||
2143 | name = "chownr___chownr_1.1.4.tgz"; | ||
2144 | url = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz"; | ||
2145 | sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b"; | ||
2146 | }; | ||
2147 | } | ||
2148 | { | ||
2149 | name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz"; | ||
2150 | path = fetchurl { | ||
2151 | name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz"; | ||
2152 | url = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz"; | ||
2153 | sha1 = "234090ee97c7d4ad1a2c4beae27505deffc608a4"; | ||
2154 | }; | ||
2155 | } | ||
2156 | { | ||
2157 | name = "ci_info___ci_info_1.6.0.tgz"; | ||
2158 | path = fetchurl { | ||
2159 | name = "ci_info___ci_info_1.6.0.tgz"; | ||
2160 | url = "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz"; | ||
2161 | sha1 = "2ca20dbb9ceb32d4524a683303313f0304b1e497"; | ||
2162 | }; | ||
2163 | } | ||
2164 | { | ||
2165 | name = "cipher_base___cipher_base_1.0.4.tgz"; | ||
2166 | path = fetchurl { | ||
2167 | name = "cipher_base___cipher_base_1.0.4.tgz"; | ||
2168 | url = "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz"; | ||
2169 | sha1 = "8760e4ecc272f4c363532f926d874aae2c1397de"; | ||
2170 | }; | ||
2171 | } | ||
2172 | { | ||
2173 | name = "class_utils___class_utils_0.3.6.tgz"; | ||
2174 | path = fetchurl { | ||
2175 | name = "class_utils___class_utils_0.3.6.tgz"; | ||
2176 | url = "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz"; | ||
2177 | sha1 = "f93369ae8b9a7ce02fd41faad0ca83033190c463"; | ||
2178 | }; | ||
2179 | } | ||
2180 | { | ||
2181 | name = "clean_css___clean_css_4.2.3.tgz"; | ||
2182 | path = fetchurl { | ||
2183 | name = "clean_css___clean_css_4.2.3.tgz"; | ||
2184 | url = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz"; | ||
2185 | sha1 = "507b5de7d97b48ee53d84adb0160ff6216380f78"; | ||
2186 | }; | ||
2187 | } | ||
2188 | { | ||
2189 | name = "clean_stack___clean_stack_2.2.0.tgz"; | ||
2190 | path = fetchurl { | ||
2191 | name = "clean_stack___clean_stack_2.2.0.tgz"; | ||
2192 | url = "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz"; | ||
2193 | sha1 = "ee8472dbb129e727b31e8a10a427dee9dfe4008b"; | ||
2194 | }; | ||
2195 | } | ||
2196 | { | ||
2197 | name = "cli_cursor___cli_cursor_2.1.0.tgz"; | ||
2198 | path = fetchurl { | ||
2199 | name = "cli_cursor___cli_cursor_2.1.0.tgz"; | ||
2200 | url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz"; | ||
2201 | sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5"; | ||
2202 | }; | ||
2203 | } | ||
2204 | { | ||
2205 | name = "cli_cursor___cli_cursor_3.1.0.tgz"; | ||
2206 | path = fetchurl { | ||
2207 | name = "cli_cursor___cli_cursor_3.1.0.tgz"; | ||
2208 | url = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz"; | ||
2209 | sha1 = "264305a7ae490d1d03bf0c9ba7c925d1753af307"; | ||
2210 | }; | ||
2211 | } | ||
2212 | { | ||
2213 | name = "cli_highlight___cli_highlight_2.1.4.tgz"; | ||
2214 | path = fetchurl { | ||
2215 | name = "cli_highlight___cli_highlight_2.1.4.tgz"; | ||
2216 | url = "https://registry.yarnpkg.com/cli-highlight/-/cli-highlight-2.1.4.tgz"; | ||
2217 | sha1 = "098cb642cf17f42adc1c1145e07f960ec4d7522b"; | ||
2218 | }; | ||
2219 | } | ||
2220 | { | ||
2221 | name = "cli_spinners___cli_spinners_2.3.0.tgz"; | ||
2222 | path = fetchurl { | ||
2223 | name = "cli_spinners___cli_spinners_2.3.0.tgz"; | ||
2224 | url = "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.3.0.tgz"; | ||
2225 | sha1 = "0632239a4b5aa4c958610142c34bb7a651fc8df5"; | ||
2226 | }; | ||
2227 | } | ||
2228 | { | ||
2229 | name = "cli_width___cli_width_2.2.1.tgz"; | ||
2230 | path = fetchurl { | ||
2231 | name = "cli_width___cli_width_2.2.1.tgz"; | ||
2232 | url = "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz"; | ||
2233 | sha1 = "b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"; | ||
2234 | }; | ||
2235 | } | ||
2236 | { | ||
2237 | name = "clipboardy___clipboardy_2.3.0.tgz"; | ||
2238 | path = fetchurl { | ||
2239 | name = "clipboardy___clipboardy_2.3.0.tgz"; | ||
2240 | url = "https://registry.yarnpkg.com/clipboardy/-/clipboardy-2.3.0.tgz"; | ||
2241 | sha1 = "3c2903650c68e46a91b388985bc2774287dba290"; | ||
2242 | }; | ||
2243 | } | ||
2244 | { | ||
2245 | name = "cliui___cliui_5.0.0.tgz"; | ||
2246 | path = fetchurl { | ||
2247 | name = "cliui___cliui_5.0.0.tgz"; | ||
2248 | url = "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz"; | ||
2249 | sha1 = "deefcfdb2e800784aa34f46fa08e06851c7bbbc5"; | ||
2250 | }; | ||
2251 | } | ||
2252 | { | ||
2253 | name = "cliui___cliui_6.0.0.tgz"; | ||
2254 | path = fetchurl { | ||
2255 | name = "cliui___cliui_6.0.0.tgz"; | ||
2256 | url = "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz"; | ||
2257 | sha1 = "511d702c0c4e41ca156d7d0e96021f23e13225b1"; | ||
2258 | }; | ||
2259 | } | ||
2260 | { | ||
2261 | name = "clone_deep___clone_deep_4.0.1.tgz"; | ||
2262 | path = fetchurl { | ||
2263 | name = "clone_deep___clone_deep_4.0.1.tgz"; | ||
2264 | url = "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz"; | ||
2265 | sha1 = "c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"; | ||
2266 | }; | ||
2267 | } | ||
2268 | { | ||
2269 | name = "clone___clone_1.0.4.tgz"; | ||
2270 | path = fetchurl { | ||
2271 | name = "clone___clone_1.0.4.tgz"; | ||
2272 | url = "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz"; | ||
2273 | sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e"; | ||
2274 | }; | ||
2275 | } | ||
2276 | { | ||
2277 | name = "coa___coa_2.0.2.tgz"; | ||
2278 | path = fetchurl { | ||
2279 | name = "coa___coa_2.0.2.tgz"; | ||
2280 | url = "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz"; | ||
2281 | sha1 = "43f6c21151b4ef2bf57187db0d73de229e3e7ec3"; | ||
2282 | }; | ||
2283 | } | ||
2284 | { | ||
2285 | name = "collection_visit___collection_visit_1.0.0.tgz"; | ||
2286 | path = fetchurl { | ||
2287 | name = "collection_visit___collection_visit_1.0.0.tgz"; | ||
2288 | url = "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz"; | ||
2289 | sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0"; | ||
2290 | }; | ||
2291 | } | ||
2292 | { | ||
2293 | name = "color_convert___color_convert_1.9.3.tgz"; | ||
2294 | path = fetchurl { | ||
2295 | name = "color_convert___color_convert_1.9.3.tgz"; | ||
2296 | url = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz"; | ||
2297 | sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8"; | ||
2298 | }; | ||
2299 | } | ||
2300 | { | ||
2301 | name = "color_convert___color_convert_2.0.1.tgz"; | ||
2302 | path = fetchurl { | ||
2303 | name = "color_convert___color_convert_2.0.1.tgz"; | ||
2304 | url = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz"; | ||
2305 | sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"; | ||
2306 | }; | ||
2307 | } | ||
2308 | { | ||
2309 | name = "color_name___color_name_1.1.3.tgz"; | ||
2310 | path = fetchurl { | ||
2311 | name = "color_name___color_name_1.1.3.tgz"; | ||
2312 | url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz"; | ||
2313 | sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25"; | ||
2314 | }; | ||
2315 | } | ||
2316 | { | ||
2317 | name = "color_name___color_name_1.1.4.tgz"; | ||
2318 | path = fetchurl { | ||
2319 | name = "color_name___color_name_1.1.4.tgz"; | ||
2320 | url = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz"; | ||
2321 | sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2"; | ||
2322 | }; | ||
2323 | } | ||
2324 | { | ||
2325 | name = "color_string___color_string_1.5.3.tgz"; | ||
2326 | path = fetchurl { | ||
2327 | name = "color_string___color_string_1.5.3.tgz"; | ||
2328 | url = "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz"; | ||
2329 | sha1 = "c9bbc5f01b58b5492f3d6857459cb6590ce204cc"; | ||
2330 | }; | ||
2331 | } | ||
2332 | { | ||
2333 | name = "color___color_3.1.2.tgz"; | ||
2334 | path = fetchurl { | ||
2335 | name = "color___color_3.1.2.tgz"; | ||
2336 | url = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz"; | ||
2337 | sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10"; | ||
2338 | }; | ||
2339 | } | ||
2340 | { | ||
2341 | name = "combined_stream___combined_stream_1.0.8.tgz"; | ||
2342 | path = fetchurl { | ||
2343 | name = "combined_stream___combined_stream_1.0.8.tgz"; | ||
2344 | url = "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz"; | ||
2345 | sha1 = "c3d45a8b34fd730631a110a8a2520682b31d5a7f"; | ||
2346 | }; | ||
2347 | } | ||
2348 | { | ||
2349 | name = "commander___commander_2.17.1.tgz"; | ||
2350 | path = fetchurl { | ||
2351 | name = "commander___commander_2.17.1.tgz"; | ||
2352 | url = "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz"; | ||
2353 | sha1 = "bd77ab7de6de94205ceacc72f1716d29f20a77bf"; | ||
2354 | }; | ||
2355 | } | ||
2356 | { | ||
2357 | name = "commander___commander_2.20.3.tgz"; | ||
2358 | path = fetchurl { | ||
2359 | name = "commander___commander_2.20.3.tgz"; | ||
2360 | url = "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz"; | ||
2361 | sha1 = "fd485e84c03eb4881c20722ba48035e8531aeb33"; | ||
2362 | }; | ||
2363 | } | ||
2364 | { | ||
2365 | name = "commander___commander_2.19.0.tgz"; | ||
2366 | path = fetchurl { | ||
2367 | name = "commander___commander_2.19.0.tgz"; | ||
2368 | url = "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz"; | ||
2369 | sha1 = "f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"; | ||
2370 | }; | ||
2371 | } | ||
2372 | { | ||
2373 | name = "common_tags___common_tags_1.8.0.tgz"; | ||
2374 | path = fetchurl { | ||
2375 | name = "common_tags___common_tags_1.8.0.tgz"; | ||
2376 | url = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz"; | ||
2377 | sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937"; | ||
2378 | }; | ||
2379 | } | ||
2380 | { | ||
2381 | name = "commondir___commondir_1.0.1.tgz"; | ||
2382 | path = fetchurl { | ||
2383 | name = "commondir___commondir_1.0.1.tgz"; | ||
2384 | url = "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz"; | ||
2385 | sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b"; | ||
2386 | }; | ||
2387 | } | ||
2388 | { | ||
2389 | name = "component_emitter___component_emitter_1.3.0.tgz"; | ||
2390 | path = fetchurl { | ||
2391 | name = "component_emitter___component_emitter_1.3.0.tgz"; | ||
2392 | url = "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz"; | ||
2393 | sha1 = "16e4070fba8ae29b679f2215853ee181ab2eabc0"; | ||
2394 | }; | ||
2395 | } | ||
2396 | { | ||
2397 | name = "compressible___compressible_2.0.18.tgz"; | ||
2398 | path = fetchurl { | ||
2399 | name = "compressible___compressible_2.0.18.tgz"; | ||
2400 | url = "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz"; | ||
2401 | sha1 = "af53cca6b070d4c3c0750fbd77286a6d7cc46fba"; | ||
2402 | }; | ||
2403 | } | ||
2404 | { | ||
2405 | name = "compression___compression_1.7.4.tgz"; | ||
2406 | path = fetchurl { | ||
2407 | name = "compression___compression_1.7.4.tgz"; | ||
2408 | url = "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz"; | ||
2409 | sha1 = "95523eff170ca57c29a0ca41e6fe131f41e5bb8f"; | ||
2410 | }; | ||
2411 | } | ||
2412 | { | ||
2413 | name = "concat_map___concat_map_0.0.1.tgz"; | ||
2414 | path = fetchurl { | ||
2415 | name = "concat_map___concat_map_0.0.1.tgz"; | ||
2416 | url = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz"; | ||
2417 | sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b"; | ||
2418 | }; | ||
2419 | } | ||
2420 | { | ||
2421 | name = "concat_stream___concat_stream_1.6.2.tgz"; | ||
2422 | path = fetchurl { | ||
2423 | name = "concat_stream___concat_stream_1.6.2.tgz"; | ||
2424 | url = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz"; | ||
2425 | sha1 = "904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"; | ||
2426 | }; | ||
2427 | } | ||
2428 | { | ||
2429 | name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz"; | ||
2430 | path = fetchurl { | ||
2431 | name = "connect_history_api_fallback___connect_history_api_fallback_1.6.0.tgz"; | ||
2432 | url = "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz"; | ||
2433 | sha1 = "8b32089359308d111115d81cad3fceab888f97bc"; | ||
2434 | }; | ||
2435 | } | ||
2436 | { | ||
2437 | name = "console_browserify___console_browserify_1.2.0.tgz"; | ||
2438 | path = fetchurl { | ||
2439 | name = "console_browserify___console_browserify_1.2.0.tgz"; | ||
2440 | url = "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz"; | ||
2441 | sha1 = "67063cef57ceb6cf4993a2ab3a55840ae8c49336"; | ||
2442 | }; | ||
2443 | } | ||
2444 | { | ||
2445 | name = "consolidate___consolidate_0.15.1.tgz"; | ||
2446 | path = fetchurl { | ||
2447 | name = "consolidate___consolidate_0.15.1.tgz"; | ||
2448 | url = "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz"; | ||
2449 | sha1 = "21ab043235c71a07d45d9aad98593b0dba56bab7"; | ||
2450 | }; | ||
2451 | } | ||
2452 | { | ||
2453 | name = "constants_browserify___constants_browserify_1.0.0.tgz"; | ||
2454 | path = fetchurl { | ||
2455 | name = "constants_browserify___constants_browserify_1.0.0.tgz"; | ||
2456 | url = "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz"; | ||
2457 | sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75"; | ||
2458 | }; | ||
2459 | } | ||
2460 | { | ||
2461 | name = "content_disposition___content_disposition_0.5.3.tgz"; | ||
2462 | path = fetchurl { | ||
2463 | name = "content_disposition___content_disposition_0.5.3.tgz"; | ||
2464 | url = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz"; | ||
2465 | sha1 = "e130caf7e7279087c5616c2007d0485698984fbd"; | ||
2466 | }; | ||
2467 | } | ||
2468 | { | ||
2469 | name = "content_type___content_type_1.0.4.tgz"; | ||
2470 | path = fetchurl { | ||
2471 | name = "content_type___content_type_1.0.4.tgz"; | ||
2472 | url = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz"; | ||
2473 | sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b"; | ||
2474 | }; | ||
2475 | } | ||
2476 | { | ||
2477 | name = "convert_source_map___convert_source_map_1.7.0.tgz"; | ||
2478 | path = fetchurl { | ||
2479 | name = "convert_source_map___convert_source_map_1.7.0.tgz"; | ||
2480 | url = "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz"; | ||
2481 | sha1 = "17a2cb882d7f77d3490585e2ce6c524424a3a442"; | ||
2482 | }; | ||
2483 | } | ||
2484 | { | ||
2485 | name = "cookie_signature___cookie_signature_1.0.6.tgz"; | ||
2486 | path = fetchurl { | ||
2487 | name = "cookie_signature___cookie_signature_1.0.6.tgz"; | ||
2488 | url = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz"; | ||
2489 | sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c"; | ||
2490 | }; | ||
2491 | } | ||
2492 | { | ||
2493 | name = "cookie___cookie_0.4.0.tgz"; | ||
2494 | path = fetchurl { | ||
2495 | name = "cookie___cookie_0.4.0.tgz"; | ||
2496 | url = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz"; | ||
2497 | sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba"; | ||
2498 | }; | ||
2499 | } | ||
2500 | { | ||
2501 | name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; | ||
2502 | path = fetchurl { | ||
2503 | name = "copy_concurrently___copy_concurrently_1.0.5.tgz"; | ||
2504 | url = "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz"; | ||
2505 | sha1 = "92297398cae34937fcafd6ec8139c18051f0b5e0"; | ||
2506 | }; | ||
2507 | } | ||
2508 | { | ||
2509 | name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; | ||
2510 | path = fetchurl { | ||
2511 | name = "copy_descriptor___copy_descriptor_0.1.1.tgz"; | ||
2512 | url = "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz"; | ||
2513 | sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d"; | ||
2514 | }; | ||
2515 | } | ||
2516 | { | ||
2517 | name = "copy_webpack_plugin___copy_webpack_plugin_5.1.1.tgz"; | ||
2518 | path = fetchurl { | ||
2519 | name = "copy_webpack_plugin___copy_webpack_plugin_5.1.1.tgz"; | ||
2520 | url = "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz"; | ||
2521 | sha1 = "5481a03dea1123d88a988c6ff8b78247214f0b88"; | ||
2522 | }; | ||
2523 | } | ||
2524 | { | ||
2525 | name = "core_js_compat___core_js_compat_3.6.5.tgz"; | ||
2526 | path = fetchurl { | ||
2527 | name = "core_js_compat___core_js_compat_3.6.5.tgz"; | ||
2528 | url = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz"; | ||
2529 | sha1 = "2a51d9a4e25dfd6e690251aa81f99e3c05481f1c"; | ||
2530 | }; | ||
2531 | } | ||
2532 | { | ||
2533 | name = "core_js___core_js_2.6.11.tgz"; | ||
2534 | path = fetchurl { | ||
2535 | name = "core_js___core_js_2.6.11.tgz"; | ||
2536 | url = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz"; | ||
2537 | sha1 = "38831469f9922bded8ee21c9dc46985e0399308c"; | ||
2538 | }; | ||
2539 | } | ||
2540 | { | ||
2541 | name = "core_js___core_js_3.6.5.tgz"; | ||
2542 | path = fetchurl { | ||
2543 | name = "core_js___core_js_3.6.5.tgz"; | ||
2544 | url = "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz"; | ||
2545 | sha1 = "7395dc273af37fb2e50e9bd3d9fe841285231d1a"; | ||
2546 | }; | ||
2547 | } | ||
2548 | { | ||
2549 | name = "core_util_is___core_util_is_1.0.2.tgz"; | ||
2550 | path = fetchurl { | ||
2551 | name = "core_util_is___core_util_is_1.0.2.tgz"; | ||
2552 | url = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz"; | ||
2553 | sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7"; | ||
2554 | }; | ||
2555 | } | ||
2556 | { | ||
2557 | name = "cosmiconfig___cosmiconfig_5.2.1.tgz"; | ||
2558 | path = fetchurl { | ||
2559 | name = "cosmiconfig___cosmiconfig_5.2.1.tgz"; | ||
2560 | url = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz"; | ||
2561 | sha1 = "040f726809c591e77a17c0a3626ca45b4f168b1a"; | ||
2562 | }; | ||
2563 | } | ||
2564 | { | ||
2565 | name = "create_ecdh___create_ecdh_4.0.3.tgz"; | ||
2566 | path = fetchurl { | ||
2567 | name = "create_ecdh___create_ecdh_4.0.3.tgz"; | ||
2568 | url = "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz"; | ||
2569 | sha1 = "c9111b6f33045c4697f144787f9254cdc77c45ff"; | ||
2570 | }; | ||
2571 | } | ||
2572 | { | ||
2573 | name = "create_hash___create_hash_1.2.0.tgz"; | ||
2574 | path = fetchurl { | ||
2575 | name = "create_hash___create_hash_1.2.0.tgz"; | ||
2576 | url = "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz"; | ||
2577 | sha1 = "889078af11a63756bcfb59bd221996be3a9ef196"; | ||
2578 | }; | ||
2579 | } | ||
2580 | { | ||
2581 | name = "create_hmac___create_hmac_1.1.7.tgz"; | ||
2582 | path = fetchurl { | ||
2583 | name = "create_hmac___create_hmac_1.1.7.tgz"; | ||
2584 | url = "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz"; | ||
2585 | sha1 = "69170c78b3ab957147b2b8b04572e47ead2243ff"; | ||
2586 | }; | ||
2587 | } | ||
2588 | { | ||
2589 | name = "cross_spawn___cross_spawn_5.1.0.tgz"; | ||
2590 | path = fetchurl { | ||
2591 | name = "cross_spawn___cross_spawn_5.1.0.tgz"; | ||
2592 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz"; | ||
2593 | sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449"; | ||
2594 | }; | ||
2595 | } | ||
2596 | { | ||
2597 | name = "cross_spawn___cross_spawn_6.0.5.tgz"; | ||
2598 | path = fetchurl { | ||
2599 | name = "cross_spawn___cross_spawn_6.0.5.tgz"; | ||
2600 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz"; | ||
2601 | sha1 = "4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"; | ||
2602 | }; | ||
2603 | } | ||
2604 | { | ||
2605 | name = "cross_spawn___cross_spawn_7.0.3.tgz"; | ||
2606 | path = fetchurl { | ||
2607 | name = "cross_spawn___cross_spawn_7.0.3.tgz"; | ||
2608 | url = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz"; | ||
2609 | sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6"; | ||
2610 | }; | ||
2611 | } | ||
2612 | { | ||
2613 | name = "crypto_browserify___crypto_browserify_3.12.0.tgz"; | ||
2614 | path = fetchurl { | ||
2615 | name = "crypto_browserify___crypto_browserify_3.12.0.tgz"; | ||
2616 | url = "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz"; | ||
2617 | sha1 = "396cf9f3137f03e4b8e532c58f698254e00f80ec"; | ||
2618 | }; | ||
2619 | } | ||
2620 | { | ||
2621 | name = "css_color_names___css_color_names_0.0.4.tgz"; | ||
2622 | path = fetchurl { | ||
2623 | name = "css_color_names___css_color_names_0.0.4.tgz"; | ||
2624 | url = "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz"; | ||
2625 | sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0"; | ||
2626 | }; | ||
2627 | } | ||
2628 | { | ||
2629 | name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz"; | ||
2630 | path = fetchurl { | ||
2631 | name = "css_declaration_sorter___css_declaration_sorter_4.0.1.tgz"; | ||
2632 | url = "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz"; | ||
2633 | sha1 = "c198940f63a76d7e36c1e71018b001721054cb22"; | ||
2634 | }; | ||
2635 | } | ||
2636 | { | ||
2637 | name = "css_loader___css_loader_3.5.3.tgz"; | ||
2638 | path = fetchurl { | ||
2639 | name = "css_loader___css_loader_3.5.3.tgz"; | ||
2640 | url = "https://registry.yarnpkg.com/css-loader/-/css-loader-3.5.3.tgz"; | ||
2641 | sha1 = "95ac16468e1adcd95c844729e0bb167639eb0bcf"; | ||
2642 | }; | ||
2643 | } | ||
2644 | { | ||
2645 | name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz"; | ||
2646 | path = fetchurl { | ||
2647 | name = "css_select_base_adapter___css_select_base_adapter_0.1.1.tgz"; | ||
2648 | url = "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz"; | ||
2649 | sha1 = "3b2ff4972cc362ab88561507a95408a1432135d7"; | ||
2650 | }; | ||
2651 | } | ||
2652 | { | ||
2653 | name = "css_select___css_select_1.2.0.tgz"; | ||
2654 | path = fetchurl { | ||
2655 | name = "css_select___css_select_1.2.0.tgz"; | ||
2656 | url = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz"; | ||
2657 | sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858"; | ||
2658 | }; | ||
2659 | } | ||
2660 | { | ||
2661 | name = "css_select___css_select_2.1.0.tgz"; | ||
2662 | path = fetchurl { | ||
2663 | name = "css_select___css_select_2.1.0.tgz"; | ||
2664 | url = "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz"; | ||
2665 | sha1 = "6a34653356635934a81baca68d0255432105dbef"; | ||
2666 | }; | ||
2667 | } | ||
2668 | { | ||
2669 | name = "css_tree___css_tree_1.0.0_alpha.37.tgz"; | ||
2670 | path = fetchurl { | ||
2671 | name = "css_tree___css_tree_1.0.0_alpha.37.tgz"; | ||
2672 | url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz"; | ||
2673 | sha1 = "98bebd62c4c1d9f960ec340cf9f7522e30709a22"; | ||
2674 | }; | ||
2675 | } | ||
2676 | { | ||
2677 | name = "css_tree___css_tree_1.0.0_alpha.39.tgz"; | ||
2678 | path = fetchurl { | ||
2679 | name = "css_tree___css_tree_1.0.0_alpha.39.tgz"; | ||
2680 | url = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz"; | ||
2681 | sha1 = "2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb"; | ||
2682 | }; | ||
2683 | } | ||
2684 | { | ||
2685 | name = "css_what___css_what_2.1.3.tgz"; | ||
2686 | path = fetchurl { | ||
2687 | name = "css_what___css_what_2.1.3.tgz"; | ||
2688 | url = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz"; | ||
2689 | sha1 = "a6d7604573365fe74686c3f311c56513d88285f2"; | ||
2690 | }; | ||
2691 | } | ||
2692 | { | ||
2693 | name = "css_what___css_what_3.3.0.tgz"; | ||
2694 | path = fetchurl { | ||
2695 | name = "css_what___css_what_3.3.0.tgz"; | ||
2696 | url = "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz"; | ||
2697 | sha1 = "10fec696a9ece2e591ac772d759aacabac38cd39"; | ||
2698 | }; | ||
2699 | } | ||
2700 | { | ||
2701 | name = "cssesc___cssesc_3.0.0.tgz"; | ||
2702 | path = fetchurl { | ||
2703 | name = "cssesc___cssesc_3.0.0.tgz"; | ||
2704 | url = "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz"; | ||
2705 | sha1 = "37741919903b868565e1c09ea747445cd18983ee"; | ||
2706 | }; | ||
2707 | } | ||
2708 | { | ||
2709 | name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz"; | ||
2710 | path = fetchurl { | ||
2711 | name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz"; | ||
2712 | url = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz"; | ||
2713 | sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76"; | ||
2714 | }; | ||
2715 | } | ||
2716 | { | ||
2717 | name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz"; | ||
2718 | path = fetchurl { | ||
2719 | name = "cssnano_util_get_arguments___cssnano_util_get_arguments_4.0.0.tgz"; | ||
2720 | url = "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz"; | ||
2721 | sha1 = "ed3a08299f21d75741b20f3b81f194ed49cc150f"; | ||
2722 | }; | ||
2723 | } | ||
2724 | { | ||
2725 | name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz"; | ||
2726 | path = fetchurl { | ||
2727 | name = "cssnano_util_get_match___cssnano_util_get_match_4.0.0.tgz"; | ||
2728 | url = "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz"; | ||
2729 | sha1 = "c0e4ca07f5386bb17ec5e52250b4f5961365156d"; | ||
2730 | }; | ||
2731 | } | ||
2732 | { | ||
2733 | name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz"; | ||
2734 | path = fetchurl { | ||
2735 | name = "cssnano_util_raw_cache___cssnano_util_raw_cache_4.0.1.tgz"; | ||
2736 | url = "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz"; | ||
2737 | sha1 = "b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"; | ||
2738 | }; | ||
2739 | } | ||
2740 | { | ||
2741 | name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz"; | ||
2742 | path = fetchurl { | ||
2743 | name = "cssnano_util_same_parent___cssnano_util_same_parent_4.0.1.tgz"; | ||
2744 | url = "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz"; | ||
2745 | sha1 = "574082fb2859d2db433855835d9a8456ea18bbf3"; | ||
2746 | }; | ||
2747 | } | ||
2748 | { | ||
2749 | name = "cssnano___cssnano_4.1.10.tgz"; | ||
2750 | path = fetchurl { | ||
2751 | name = "cssnano___cssnano_4.1.10.tgz"; | ||
2752 | url = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz"; | ||
2753 | sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2"; | ||
2754 | }; | ||
2755 | } | ||
2756 | { | ||
2757 | name = "csso___csso_4.0.3.tgz"; | ||
2758 | path = fetchurl { | ||
2759 | name = "csso___csso_4.0.3.tgz"; | ||
2760 | url = "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz"; | ||
2761 | sha1 = "0d9985dc852c7cc2b2cacfbbe1079014d1a8e903"; | ||
2762 | }; | ||
2763 | } | ||
2764 | { | ||
2765 | name = "cyclist___cyclist_1.0.1.tgz"; | ||
2766 | path = fetchurl { | ||
2767 | name = "cyclist___cyclist_1.0.1.tgz"; | ||
2768 | url = "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz"; | ||
2769 | sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9"; | ||
2770 | }; | ||
2771 | } | ||
2772 | { | ||
2773 | name = "dashdash___dashdash_1.14.1.tgz"; | ||
2774 | path = fetchurl { | ||
2775 | name = "dashdash___dashdash_1.14.1.tgz"; | ||
2776 | url = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz"; | ||
2777 | sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"; | ||
2778 | }; | ||
2779 | } | ||
2780 | { | ||
2781 | name = "de_indent___de_indent_1.0.2.tgz"; | ||
2782 | path = fetchurl { | ||
2783 | name = "de_indent___de_indent_1.0.2.tgz"; | ||
2784 | url = "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz"; | ||
2785 | sha1 = "b2038e846dc33baa5796128d0804b455b8c1e21d"; | ||
2786 | }; | ||
2787 | } | ||
2788 | { | ||
2789 | name = "debug___debug_2.6.9.tgz"; | ||
2790 | path = fetchurl { | ||
2791 | name = "debug___debug_2.6.9.tgz"; | ||
2792 | url = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz"; | ||
2793 | sha1 = "5d128515df134ff327e90a4c93f4e077a536341f"; | ||
2794 | }; | ||
2795 | } | ||
2796 | { | ||
2797 | name = "debug___debug_3.2.6.tgz"; | ||
2798 | path = fetchurl { | ||
2799 | name = "debug___debug_3.2.6.tgz"; | ||
2800 | url = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz"; | ||
2801 | sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b"; | ||
2802 | }; | ||
2803 | } | ||
2804 | { | ||
2805 | name = "debug___debug_4.1.1.tgz"; | ||
2806 | path = fetchurl { | ||
2807 | name = "debug___debug_4.1.1.tgz"; | ||
2808 | url = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz"; | ||
2809 | sha1 = "3b72260255109c6b589cee050f1d516139664791"; | ||
2810 | }; | ||
2811 | } | ||
2812 | { | ||
2813 | name = "decamelize___decamelize_1.2.0.tgz"; | ||
2814 | path = fetchurl { | ||
2815 | name = "decamelize___decamelize_1.2.0.tgz"; | ||
2816 | url = "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz"; | ||
2817 | sha1 = "f6534d15148269b20352e7bee26f501f9a191290"; | ||
2818 | }; | ||
2819 | } | ||
2820 | { | ||
2821 | name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; | ||
2822 | path = fetchurl { | ||
2823 | name = "decode_uri_component___decode_uri_component_0.2.0.tgz"; | ||
2824 | url = "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz"; | ||
2825 | sha1 = "eb3913333458775cb84cd1a1fae062106bb87545"; | ||
2826 | }; | ||
2827 | } | ||
2828 | { | ||
2829 | name = "deep_equal___deep_equal_1.1.1.tgz"; | ||
2830 | path = fetchurl { | ||
2831 | name = "deep_equal___deep_equal_1.1.1.tgz"; | ||
2832 | url = "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz"; | ||
2833 | sha1 = "b5c98c942ceffaf7cb051e24e1434a25a2e6076a"; | ||
2834 | }; | ||
2835 | } | ||
2836 | { | ||
2837 | name = "deep_is___deep_is_0.1.3.tgz"; | ||
2838 | path = fetchurl { | ||
2839 | name = "deep_is___deep_is_0.1.3.tgz"; | ||
2840 | url = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz"; | ||
2841 | sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34"; | ||
2842 | }; | ||
2843 | } | ||
2844 | { | ||
2845 | name = "deepmerge___deepmerge_1.5.2.tgz"; | ||
2846 | path = fetchurl { | ||
2847 | name = "deepmerge___deepmerge_1.5.2.tgz"; | ||
2848 | url = "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz"; | ||
2849 | sha1 = "10499d868844cdad4fee0842df8c7f6f0c95a753"; | ||
2850 | }; | ||
2851 | } | ||
2852 | { | ||
2853 | name = "default_gateway___default_gateway_4.2.0.tgz"; | ||
2854 | path = fetchurl { | ||
2855 | name = "default_gateway___default_gateway_4.2.0.tgz"; | ||
2856 | url = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz"; | ||
2857 | sha1 = "167104c7500c2115f6dd69b0a536bb8ed720552b"; | ||
2858 | }; | ||
2859 | } | ||
2860 | { | ||
2861 | name = "default_gateway___default_gateway_5.0.5.tgz"; | ||
2862 | path = fetchurl { | ||
2863 | name = "default_gateway___default_gateway_5.0.5.tgz"; | ||
2864 | url = "https://registry.yarnpkg.com/default-gateway/-/default-gateway-5.0.5.tgz"; | ||
2865 | sha1 = "4fd6bd5d2855d39b34cc5a59505486e9aafc9b10"; | ||
2866 | }; | ||
2867 | } | ||
2868 | { | ||
2869 | name = "defaults___defaults_1.0.3.tgz"; | ||
2870 | path = fetchurl { | ||
2871 | name = "defaults___defaults_1.0.3.tgz"; | ||
2872 | url = "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz"; | ||
2873 | sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d"; | ||
2874 | }; | ||
2875 | } | ||
2876 | { | ||
2877 | name = "define_properties___define_properties_1.1.3.tgz"; | ||
2878 | path = fetchurl { | ||
2879 | name = "define_properties___define_properties_1.1.3.tgz"; | ||
2880 | url = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz"; | ||
2881 | sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1"; | ||
2882 | }; | ||
2883 | } | ||
2884 | { | ||
2885 | name = "define_property___define_property_0.2.5.tgz"; | ||
2886 | path = fetchurl { | ||
2887 | name = "define_property___define_property_0.2.5.tgz"; | ||
2888 | url = "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz"; | ||
2889 | sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116"; | ||
2890 | }; | ||
2891 | } | ||
2892 | { | ||
2893 | name = "define_property___define_property_1.0.0.tgz"; | ||
2894 | path = fetchurl { | ||
2895 | name = "define_property___define_property_1.0.0.tgz"; | ||
2896 | url = "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz"; | ||
2897 | sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"; | ||
2898 | }; | ||
2899 | } | ||
2900 | { | ||
2901 | name = "define_property___define_property_2.0.2.tgz"; | ||
2902 | path = fetchurl { | ||
2903 | name = "define_property___define_property_2.0.2.tgz"; | ||
2904 | url = "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz"; | ||
2905 | sha1 = "d459689e8d654ba77e02a817f8710d702cb16e9d"; | ||
2906 | }; | ||
2907 | } | ||
2908 | { | ||
2909 | name = "del___del_4.1.1.tgz"; | ||
2910 | path = fetchurl { | ||
2911 | name = "del___del_4.1.1.tgz"; | ||
2912 | url = "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz"; | ||
2913 | sha1 = "9e8f117222ea44a31ff3a156c049b99052a9f0b4"; | ||
2914 | }; | ||
2915 | } | ||
2916 | { | ||
2917 | name = "delayed_stream___delayed_stream_1.0.0.tgz"; | ||
2918 | path = fetchurl { | ||
2919 | name = "delayed_stream___delayed_stream_1.0.0.tgz"; | ||
2920 | url = "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz"; | ||
2921 | sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619"; | ||
2922 | }; | ||
2923 | } | ||
2924 | { | ||
2925 | name = "depd___depd_1.1.2.tgz"; | ||
2926 | path = fetchurl { | ||
2927 | name = "depd___depd_1.1.2.tgz"; | ||
2928 | url = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz"; | ||
2929 | sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9"; | ||
2930 | }; | ||
2931 | } | ||
2932 | { | ||
2933 | name = "des.js___des.js_1.0.1.tgz"; | ||
2934 | path = fetchurl { | ||
2935 | name = "des.js___des.js_1.0.1.tgz"; | ||
2936 | url = "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz"; | ||
2937 | sha1 = "5382142e1bdc53f85d86d53e5f4aa7deb91e0843"; | ||
2938 | }; | ||
2939 | } | ||
2940 | { | ||
2941 | name = "destroy___destroy_1.0.4.tgz"; | ||
2942 | path = fetchurl { | ||
2943 | name = "destroy___destroy_1.0.4.tgz"; | ||
2944 | url = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz"; | ||
2945 | sha1 = "978857442c44749e4206613e37946205826abd80"; | ||
2946 | }; | ||
2947 | } | ||
2948 | { | ||
2949 | name = "detect_node___detect_node_2.0.4.tgz"; | ||
2950 | path = fetchurl { | ||
2951 | name = "detect_node___detect_node_2.0.4.tgz"; | ||
2952 | url = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz"; | ||
2953 | sha1 = "014ee8f8f669c5c58023da64b8179c083a28c46c"; | ||
2954 | }; | ||
2955 | } | ||
2956 | { | ||
2957 | name = "diffie_hellman___diffie_hellman_5.0.3.tgz"; | ||
2958 | path = fetchurl { | ||
2959 | name = "diffie_hellman___diffie_hellman_5.0.3.tgz"; | ||
2960 | url = "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz"; | ||
2961 | sha1 = "40e8ee98f55a2149607146921c63e1ae5f3d2875"; | ||
2962 | }; | ||
2963 | } | ||
2964 | { | ||
2965 | name = "dir_glob___dir_glob_2.2.2.tgz"; | ||
2966 | path = fetchurl { | ||
2967 | name = "dir_glob___dir_glob_2.2.2.tgz"; | ||
2968 | url = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz"; | ||
2969 | sha1 = "fa09f0694153c8918b18ba0deafae94769fc50c4"; | ||
2970 | }; | ||
2971 | } | ||
2972 | { | ||
2973 | name = "dns_equal___dns_equal_1.0.0.tgz"; | ||
2974 | path = fetchurl { | ||
2975 | name = "dns_equal___dns_equal_1.0.0.tgz"; | ||
2976 | url = "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz"; | ||
2977 | sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d"; | ||
2978 | }; | ||
2979 | } | ||
2980 | { | ||
2981 | name = "dns_packet___dns_packet_1.3.1.tgz"; | ||
2982 | path = fetchurl { | ||
2983 | name = "dns_packet___dns_packet_1.3.1.tgz"; | ||
2984 | url = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz"; | ||
2985 | sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a"; | ||
2986 | }; | ||
2987 | } | ||
2988 | { | ||
2989 | name = "dns_txt___dns_txt_2.0.2.tgz"; | ||
2990 | path = fetchurl { | ||
2991 | name = "dns_txt___dns_txt_2.0.2.tgz"; | ||
2992 | url = "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz"; | ||
2993 | sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6"; | ||
2994 | }; | ||
2995 | } | ||
2996 | { | ||
2997 | name = "doctrine___doctrine_3.0.0.tgz"; | ||
2998 | path = fetchurl { | ||
2999 | name = "doctrine___doctrine_3.0.0.tgz"; | ||
3000 | url = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz"; | ||
3001 | sha1 = "addebead72a6574db783639dc87a121773973961"; | ||
3002 | }; | ||
3003 | } | ||
3004 | { | ||
3005 | name = "dom_converter___dom_converter_0.2.0.tgz"; | ||
3006 | path = fetchurl { | ||
3007 | name = "dom_converter___dom_converter_0.2.0.tgz"; | ||
3008 | url = "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz"; | ||
3009 | sha1 = "6721a9daee2e293682955b6afe416771627bb768"; | ||
3010 | }; | ||
3011 | } | ||
3012 | { | ||
3013 | name = "dom_serializer___dom_serializer_0.2.2.tgz"; | ||
3014 | path = fetchurl { | ||
3015 | name = "dom_serializer___dom_serializer_0.2.2.tgz"; | ||
3016 | url = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz"; | ||
3017 | sha1 = "1afb81f533717175d478655debc5e332d9f9bb51"; | ||
3018 | }; | ||
3019 | } | ||
3020 | { | ||
3021 | name = "domain_browser___domain_browser_1.2.0.tgz"; | ||
3022 | path = fetchurl { | ||
3023 | name = "domain_browser___domain_browser_1.2.0.tgz"; | ||
3024 | url = "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz"; | ||
3025 | sha1 = "3d31f50191a6749dd1375a7f522e823d42e54eda"; | ||
3026 | }; | ||
3027 | } | ||
3028 | { | ||
3029 | name = "domelementtype___domelementtype_1.3.1.tgz"; | ||
3030 | path = fetchurl { | ||
3031 | name = "domelementtype___domelementtype_1.3.1.tgz"; | ||
3032 | url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz"; | ||
3033 | sha1 = "d048c44b37b0d10a7f2a3d5fee3f4333d790481f"; | ||
3034 | }; | ||
3035 | } | ||
3036 | { | ||
3037 | name = "domelementtype___domelementtype_2.0.1.tgz"; | ||
3038 | path = fetchurl { | ||
3039 | name = "domelementtype___domelementtype_2.0.1.tgz"; | ||
3040 | url = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz"; | ||
3041 | sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d"; | ||
3042 | }; | ||
3043 | } | ||
3044 | { | ||
3045 | name = "domhandler___domhandler_2.4.2.tgz"; | ||
3046 | path = fetchurl { | ||
3047 | name = "domhandler___domhandler_2.4.2.tgz"; | ||
3048 | url = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz"; | ||
3049 | sha1 = "8805097e933d65e85546f726d60f5eb88b44f803"; | ||
3050 | }; | ||
3051 | } | ||
3052 | { | ||
3053 | name = "domutils___domutils_1.5.1.tgz"; | ||
3054 | path = fetchurl { | ||
3055 | name = "domutils___domutils_1.5.1.tgz"; | ||
3056 | url = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz"; | ||
3057 | sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf"; | ||
3058 | }; | ||
3059 | } | ||
3060 | { | ||
3061 | name = "domutils___domutils_1.7.0.tgz"; | ||
3062 | path = fetchurl { | ||
3063 | name = "domutils___domutils_1.7.0.tgz"; | ||
3064 | url = "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz"; | ||
3065 | sha1 = "56ea341e834e06e6748af7a1cb25da67ea9f8c2a"; | ||
3066 | }; | ||
3067 | } | ||
3068 | { | ||
3069 | name = "dot_prop___dot_prop_5.2.0.tgz"; | ||
3070 | path = fetchurl { | ||
3071 | name = "dot_prop___dot_prop_5.2.0.tgz"; | ||
3072 | url = "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz"; | ||
3073 | sha1 = "c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"; | ||
3074 | }; | ||
3075 | } | ||
3076 | { | ||
3077 | name = "dotenv_expand___dotenv_expand_5.1.0.tgz"; | ||
3078 | path = fetchurl { | ||
3079 | name = "dotenv_expand___dotenv_expand_5.1.0.tgz"; | ||
3080 | url = "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz"; | ||
3081 | sha1 = "3fbaf020bfd794884072ea26b1e9791d45a629f0"; | ||
3082 | }; | ||
3083 | } | ||
3084 | { | ||
3085 | name = "dotenv___dotenv_8.2.0.tgz"; | ||
3086 | path = fetchurl { | ||
3087 | name = "dotenv___dotenv_8.2.0.tgz"; | ||
3088 | url = "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz"; | ||
3089 | sha1 = "97e619259ada750eea3e4ea3e26bceea5424b16a"; | ||
3090 | }; | ||
3091 | } | ||
3092 | { | ||
3093 | name = "duplexer___duplexer_0.1.1.tgz"; | ||
3094 | path = fetchurl { | ||
3095 | name = "duplexer___duplexer_0.1.1.tgz"; | ||
3096 | url = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz"; | ||
3097 | sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1"; | ||
3098 | }; | ||
3099 | } | ||
3100 | { | ||
3101 | name = "duplexify___duplexify_3.7.1.tgz"; | ||
3102 | path = fetchurl { | ||
3103 | name = "duplexify___duplexify_3.7.1.tgz"; | ||
3104 | url = "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz"; | ||
3105 | sha1 = "2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"; | ||
3106 | }; | ||
3107 | } | ||
3108 | { | ||
3109 | name = "easy_stack___easy_stack_1.0.0.tgz"; | ||
3110 | path = fetchurl { | ||
3111 | name = "easy_stack___easy_stack_1.0.0.tgz"; | ||
3112 | url = "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.0.tgz"; | ||
3113 | sha1 = "12c91b3085a37f0baa336e9486eac4bf94e3e788"; | ||
3114 | }; | ||
3115 | } | ||
3116 | { | ||
3117 | name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; | ||
3118 | path = fetchurl { | ||
3119 | name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz"; | ||
3120 | url = "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz"; | ||
3121 | sha1 = "3a83a904e54353287874c564b7549386849a98c9"; | ||
3122 | }; | ||
3123 | } | ||
3124 | { | ||
3125 | name = "ee_first___ee_first_1.1.1.tgz"; | ||
3126 | path = fetchurl { | ||
3127 | name = "ee_first___ee_first_1.1.1.tgz"; | ||
3128 | url = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz"; | ||
3129 | sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d"; | ||
3130 | }; | ||
3131 | } | ||
3132 | { | ||
3133 | name = "ejs___ejs_2.7.4.tgz"; | ||
3134 | path = fetchurl { | ||
3135 | name = "ejs___ejs_2.7.4.tgz"; | ||
3136 | url = "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz"; | ||
3137 | sha1 = "48661287573dcc53e366c7a1ae52c3a120eec9ba"; | ||
3138 | }; | ||
3139 | } | ||
3140 | { | ||
3141 | name = "electron_to_chromium___electron_to_chromium_1.3.464.tgz"; | ||
3142 | path = fetchurl { | ||
3143 | name = "electron_to_chromium___electron_to_chromium_1.3.464.tgz"; | ||
3144 | url = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.464.tgz"; | ||
3145 | sha1 = "fe13feaa08f6f865d3c89d5d72e54c194f463aa5"; | ||
3146 | }; | ||
3147 | } | ||
3148 | { | ||
3149 | name = "elliptic___elliptic_6.5.2.tgz"; | ||
3150 | path = fetchurl { | ||
3151 | name = "elliptic___elliptic_6.5.2.tgz"; | ||
3152 | url = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz"; | ||
3153 | sha1 = "05c5678d7173c049d8ca433552224a495d0e3762"; | ||
3154 | }; | ||
3155 | } | ||
3156 | { | ||
3157 | name = "emoji_regex___emoji_regex_7.0.3.tgz"; | ||
3158 | path = fetchurl { | ||
3159 | name = "emoji_regex___emoji_regex_7.0.3.tgz"; | ||
3160 | url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz"; | ||
3161 | sha1 = "933a04052860c85e83c122479c4748a8e4c72156"; | ||
3162 | }; | ||
3163 | } | ||
3164 | { | ||
3165 | name = "emoji_regex___emoji_regex_8.0.0.tgz"; | ||
3166 | path = fetchurl { | ||
3167 | name = "emoji_regex___emoji_regex_8.0.0.tgz"; | ||
3168 | url = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz"; | ||
3169 | sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37"; | ||
3170 | }; | ||
3171 | } | ||
3172 | { | ||
3173 | name = "emojis_list___emojis_list_2.1.0.tgz"; | ||
3174 | path = fetchurl { | ||
3175 | name = "emojis_list___emojis_list_2.1.0.tgz"; | ||
3176 | url = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz"; | ||
3177 | sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389"; | ||
3178 | }; | ||
3179 | } | ||
3180 | { | ||
3181 | name = "emojis_list___emojis_list_3.0.0.tgz"; | ||
3182 | path = fetchurl { | ||
3183 | name = "emojis_list___emojis_list_3.0.0.tgz"; | ||
3184 | url = "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz"; | ||
3185 | sha1 = "5570662046ad29e2e916e71aae260abdff4f6a78"; | ||
3186 | }; | ||
3187 | } | ||
3188 | { | ||
3189 | name = "encodeurl___encodeurl_1.0.2.tgz"; | ||
3190 | path = fetchurl { | ||
3191 | name = "encodeurl___encodeurl_1.0.2.tgz"; | ||
3192 | url = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz"; | ||
3193 | sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"; | ||
3194 | }; | ||
3195 | } | ||
3196 | { | ||
3197 | name = "end_of_stream___end_of_stream_1.4.4.tgz"; | ||
3198 | path = fetchurl { | ||
3199 | name = "end_of_stream___end_of_stream_1.4.4.tgz"; | ||
3200 | url = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz"; | ||
3201 | sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"; | ||
3202 | }; | ||
3203 | } | ||
3204 | { | ||
3205 | name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz"; | ||
3206 | path = fetchurl { | ||
3207 | name = "enhanced_resolve___enhanced_resolve_4.1.1.tgz"; | ||
3208 | url = "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz"; | ||
3209 | sha1 = "2937e2b8066cd0fe7ce0990a98f0d71a35189f66"; | ||
3210 | }; | ||
3211 | } | ||
3212 | { | ||
3213 | name = "entities___entities_1.1.2.tgz"; | ||
3214 | path = fetchurl { | ||
3215 | name = "entities___entities_1.1.2.tgz"; | ||
3216 | url = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz"; | ||
3217 | sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56"; | ||
3218 | }; | ||
3219 | } | ||
3220 | { | ||
3221 | name = "entities___entities_2.0.3.tgz"; | ||
3222 | path = fetchurl { | ||
3223 | name = "entities___entities_2.0.3.tgz"; | ||
3224 | url = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz"; | ||
3225 | sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f"; | ||
3226 | }; | ||
3227 | } | ||
3228 | { | ||
3229 | name = "errno___errno_0.1.7.tgz"; | ||
3230 | path = fetchurl { | ||
3231 | name = "errno___errno_0.1.7.tgz"; | ||
3232 | url = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz"; | ||
3233 | sha1 = "4684d71779ad39af177e3f007996f7c67c852618"; | ||
3234 | }; | ||
3235 | } | ||
3236 | { | ||
3237 | name = "error_ex___error_ex_1.3.2.tgz"; | ||
3238 | path = fetchurl { | ||
3239 | name = "error_ex___error_ex_1.3.2.tgz"; | ||
3240 | url = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz"; | ||
3241 | sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf"; | ||
3242 | }; | ||
3243 | } | ||
3244 | { | ||
3245 | name = "error_stack_parser___error_stack_parser_2.0.6.tgz"; | ||
3246 | path = fetchurl { | ||
3247 | name = "error_stack_parser___error_stack_parser_2.0.6.tgz"; | ||
3248 | url = "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz"; | ||
3249 | sha1 = "5a99a707bd7a4c58a797902d48d82803ede6aad8"; | ||
3250 | }; | ||
3251 | } | ||
3252 | { | ||
3253 | name = "es_abstract___es_abstract_1.17.5.tgz"; | ||
3254 | path = fetchurl { | ||
3255 | name = "es_abstract___es_abstract_1.17.5.tgz"; | ||
3256 | url = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz"; | ||
3257 | sha1 = "d8c9d1d66c8981fb9200e2251d799eee92774ae9"; | ||
3258 | }; | ||
3259 | } | ||
3260 | { | ||
3261 | name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; | ||
3262 | path = fetchurl { | ||
3263 | name = "es_to_primitive___es_to_primitive_1.2.1.tgz"; | ||
3264 | url = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz"; | ||
3265 | sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a"; | ||
3266 | }; | ||
3267 | } | ||
3268 | { | ||
3269 | name = "escape_html___escape_html_1.0.3.tgz"; | ||
3270 | path = fetchurl { | ||
3271 | name = "escape_html___escape_html_1.0.3.tgz"; | ||
3272 | url = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz"; | ||
3273 | sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988"; | ||
3274 | }; | ||
3275 | } | ||
3276 | { | ||
3277 | name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; | ||
3278 | path = fetchurl { | ||
3279 | name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz"; | ||
3280 | url = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"; | ||
3281 | sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"; | ||
3282 | }; | ||
3283 | } | ||
3284 | { | ||
3285 | name = "eslint_config_prettier___eslint_config_prettier_6.11.0.tgz"; | ||
3286 | path = fetchurl { | ||
3287 | name = "eslint_config_prettier___eslint_config_prettier_6.11.0.tgz"; | ||
3288 | url = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz"; | ||
3289 | sha1 = "f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1"; | ||
3290 | }; | ||
3291 | } | ||
3292 | { | ||
3293 | name = "eslint_loader___eslint_loader_2.2.1.tgz"; | ||
3294 | path = fetchurl { | ||
3295 | name = "eslint_loader___eslint_loader_2.2.1.tgz"; | ||
3296 | url = "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.2.1.tgz"; | ||
3297 | sha1 = "28b9c12da54057af0845e2a6112701a2f6bf8337"; | ||
3298 | }; | ||
3299 | } | ||
3300 | { | ||
3301 | name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.3.tgz"; | ||
3302 | path = fetchurl { | ||
3303 | name = "eslint_plugin_prettier___eslint_plugin_prettier_3.1.3.tgz"; | ||
3304 | url = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz"; | ||
3305 | sha1 = "ae116a0fc0e598fdae48743a4430903de5b4e6ca"; | ||
3306 | }; | ||
3307 | } | ||
3308 | { | ||
3309 | name = "eslint_plugin_vue___eslint_plugin_vue_6.2.2.tgz"; | ||
3310 | path = fetchurl { | ||
3311 | name = "eslint_plugin_vue___eslint_plugin_vue_6.2.2.tgz"; | ||
3312 | url = "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz"; | ||
3313 | sha1 = "27fecd9a3a24789b0f111ecdd540a9e56198e0fe"; | ||
3314 | }; | ||
3315 | } | ||
3316 | { | ||
3317 | name = "eslint_scope___eslint_scope_4.0.3.tgz"; | ||
3318 | path = fetchurl { | ||
3319 | name = "eslint_scope___eslint_scope_4.0.3.tgz"; | ||
3320 | url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz"; | ||
3321 | sha1 = "ca03833310f6889a3264781aa82e63eb9cfe7848"; | ||
3322 | }; | ||
3323 | } | ||
3324 | { | ||
3325 | name = "eslint_scope___eslint_scope_5.1.0.tgz"; | ||
3326 | path = fetchurl { | ||
3327 | name = "eslint_scope___eslint_scope_5.1.0.tgz"; | ||
3328 | url = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz"; | ||
3329 | sha1 = "d0f971dfe59c69e0cada684b23d49dbf82600ce5"; | ||
3330 | }; | ||
3331 | } | ||
3332 | { | ||
3333 | name = "eslint_utils___eslint_utils_2.0.0.tgz"; | ||
3334 | path = fetchurl { | ||
3335 | name = "eslint_utils___eslint_utils_2.0.0.tgz"; | ||
3336 | url = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz"; | ||
3337 | sha1 = "7be1cc70f27a72a76cd14aa698bcabed6890e1cd"; | ||
3338 | }; | ||
3339 | } | ||
3340 | { | ||
3341 | name = "eslint_visitor_keys___eslint_visitor_keys_1.2.0.tgz"; | ||
3342 | path = fetchurl { | ||
3343 | name = "eslint_visitor_keys___eslint_visitor_keys_1.2.0.tgz"; | ||
3344 | url = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz"; | ||
3345 | sha1 = "74415ac884874495f78ec2a97349525344c981fa"; | ||
3346 | }; | ||
3347 | } | ||
3348 | { | ||
3349 | name = "eslint___eslint_7.2.0.tgz"; | ||
3350 | path = fetchurl { | ||
3351 | name = "eslint___eslint_7.2.0.tgz"; | ||
3352 | url = "https://registry.yarnpkg.com/eslint/-/eslint-7.2.0.tgz"; | ||
3353 | sha1 = "d41b2e47804b30dbabb093a967fb283d560082e6"; | ||
3354 | }; | ||
3355 | } | ||
3356 | { | ||
3357 | name = "espree___espree_6.2.1.tgz"; | ||
3358 | path = fetchurl { | ||
3359 | name = "espree___espree_6.2.1.tgz"; | ||
3360 | url = "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz"; | ||
3361 | sha1 = "77fc72e1fd744a2052c20f38a5b575832e82734a"; | ||
3362 | }; | ||
3363 | } | ||
3364 | { | ||
3365 | name = "espree___espree_7.1.0.tgz"; | ||
3366 | path = fetchurl { | ||
3367 | name = "espree___espree_7.1.0.tgz"; | ||
3368 | url = "https://registry.yarnpkg.com/espree/-/espree-7.1.0.tgz"; | ||
3369 | sha1 = "a9c7f18a752056735bf1ba14cb1b70adc3a5ce1c"; | ||
3370 | }; | ||
3371 | } | ||
3372 | { | ||
3373 | name = "esprima___esprima_4.0.1.tgz"; | ||
3374 | path = fetchurl { | ||
3375 | name = "esprima___esprima_4.0.1.tgz"; | ||
3376 | url = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz"; | ||
3377 | sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71"; | ||
3378 | }; | ||
3379 | } | ||
3380 | { | ||
3381 | name = "esquery___esquery_1.3.1.tgz"; | ||
3382 | path = fetchurl { | ||
3383 | name = "esquery___esquery_1.3.1.tgz"; | ||
3384 | url = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz"; | ||
3385 | sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57"; | ||
3386 | }; | ||
3387 | } | ||
3388 | { | ||
3389 | name = "esrecurse___esrecurse_4.2.1.tgz"; | ||
3390 | path = fetchurl { | ||
3391 | name = "esrecurse___esrecurse_4.2.1.tgz"; | ||
3392 | url = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz"; | ||
3393 | sha1 = "007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"; | ||
3394 | }; | ||
3395 | } | ||
3396 | { | ||
3397 | name = "estraverse___estraverse_4.3.0.tgz"; | ||
3398 | path = fetchurl { | ||
3399 | name = "estraverse___estraverse_4.3.0.tgz"; | ||
3400 | url = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz"; | ||
3401 | sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d"; | ||
3402 | }; | ||
3403 | } | ||
3404 | { | ||
3405 | name = "estraverse___estraverse_5.1.0.tgz"; | ||
3406 | path = fetchurl { | ||
3407 | name = "estraverse___estraverse_5.1.0.tgz"; | ||
3408 | url = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz"; | ||
3409 | sha1 = "374309d39fd935ae500e7b92e8a6b4c720e59642"; | ||
3410 | }; | ||
3411 | } | ||
3412 | { | ||
3413 | name = "esutils___esutils_2.0.3.tgz"; | ||
3414 | path = fetchurl { | ||
3415 | name = "esutils___esutils_2.0.3.tgz"; | ||
3416 | url = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz"; | ||
3417 | sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64"; | ||
3418 | }; | ||
3419 | } | ||
3420 | { | ||
3421 | name = "etag___etag_1.8.1.tgz"; | ||
3422 | path = fetchurl { | ||
3423 | name = "etag___etag_1.8.1.tgz"; | ||
3424 | url = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz"; | ||
3425 | sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887"; | ||
3426 | }; | ||
3427 | } | ||
3428 | { | ||
3429 | name = "event_pubsub___event_pubsub_4.3.0.tgz"; | ||
3430 | path = fetchurl { | ||
3431 | name = "event_pubsub___event_pubsub_4.3.0.tgz"; | ||
3432 | url = "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz"; | ||
3433 | sha1 = "f68d816bc29f1ec02c539dc58c8dd40ce72cb36e"; | ||
3434 | }; | ||
3435 | } | ||
3436 | { | ||
3437 | name = "eventemitter3___eventemitter3_4.0.4.tgz"; | ||
3438 | path = fetchurl { | ||
3439 | name = "eventemitter3___eventemitter3_4.0.4.tgz"; | ||
3440 | url = "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz"; | ||
3441 | sha1 = "b5463ace635a083d018bdc7c917b4c5f10a85384"; | ||
3442 | }; | ||
3443 | } | ||
3444 | { | ||
3445 | name = "events___events_3.1.0.tgz"; | ||
3446 | path = fetchurl { | ||
3447 | name = "events___events_3.1.0.tgz"; | ||
3448 | url = "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz"; | ||
3449 | sha1 = "84279af1b34cb75aa88bf5ff291f6d0bd9b31a59"; | ||
3450 | }; | ||
3451 | } | ||
3452 | { | ||
3453 | name = "eventsource___eventsource_1.0.7.tgz"; | ||
3454 | path = fetchurl { | ||
3455 | name = "eventsource___eventsource_1.0.7.tgz"; | ||
3456 | url = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz"; | ||
3457 | sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0"; | ||
3458 | }; | ||
3459 | } | ||
3460 | { | ||
3461 | name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz"; | ||
3462 | path = fetchurl { | ||
3463 | name = "evp_bytestokey___evp_bytestokey_1.0.3.tgz"; | ||
3464 | url = "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"; | ||
3465 | sha1 = "7fcbdb198dc71959432efe13842684e0525acb02"; | ||
3466 | }; | ||
3467 | } | ||
3468 | { | ||
3469 | name = "execa___execa_0.8.0.tgz"; | ||
3470 | path = fetchurl { | ||
3471 | name = "execa___execa_0.8.0.tgz"; | ||
3472 | url = "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz"; | ||
3473 | sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"; | ||
3474 | }; | ||
3475 | } | ||
3476 | { | ||
3477 | name = "execa___execa_1.0.0.tgz"; | ||
3478 | path = fetchurl { | ||
3479 | name = "execa___execa_1.0.0.tgz"; | ||
3480 | url = "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz"; | ||
3481 | sha1 = "c6236a5bb4df6d6f15e88e7f017798216749ddd8"; | ||
3482 | }; | ||
3483 | } | ||
3484 | { | ||
3485 | name = "execa___execa_3.4.0.tgz"; | ||
3486 | path = fetchurl { | ||
3487 | name = "execa___execa_3.4.0.tgz"; | ||
3488 | url = "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz"; | ||
3489 | sha1 = "c08ed4550ef65d858fac269ffc8572446f37eb89"; | ||
3490 | }; | ||
3491 | } | ||
3492 | { | ||
3493 | name = "expand_brackets___expand_brackets_2.1.4.tgz"; | ||
3494 | path = fetchurl { | ||
3495 | name = "expand_brackets___expand_brackets_2.1.4.tgz"; | ||
3496 | url = "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz"; | ||
3497 | sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622"; | ||
3498 | }; | ||
3499 | } | ||
3500 | { | ||
3501 | name = "express___express_4.17.1.tgz"; | ||
3502 | path = fetchurl { | ||
3503 | name = "express___express_4.17.1.tgz"; | ||
3504 | url = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz"; | ||
3505 | sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134"; | ||
3506 | }; | ||
3507 | } | ||
3508 | { | ||
3509 | name = "extend_shallow___extend_shallow_2.0.1.tgz"; | ||
3510 | path = fetchurl { | ||
3511 | name = "extend_shallow___extend_shallow_2.0.1.tgz"; | ||
3512 | url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz"; | ||
3513 | sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f"; | ||
3514 | }; | ||
3515 | } | ||
3516 | { | ||
3517 | name = "extend_shallow___extend_shallow_3.0.2.tgz"; | ||
3518 | path = fetchurl { | ||
3519 | name = "extend_shallow___extend_shallow_3.0.2.tgz"; | ||
3520 | url = "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz"; | ||
3521 | sha1 = "26a71aaf073b39fb2127172746131c2704028db8"; | ||
3522 | }; | ||
3523 | } | ||
3524 | { | ||
3525 | name = "extend___extend_3.0.2.tgz"; | ||
3526 | path = fetchurl { | ||
3527 | name = "extend___extend_3.0.2.tgz"; | ||
3528 | url = "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz"; | ||
3529 | sha1 = "f8b1136b4071fbd8eb140aff858b1019ec2915fa"; | ||
3530 | }; | ||
3531 | } | ||
3532 | { | ||
3533 | name = "external_editor___external_editor_3.1.0.tgz"; | ||
3534 | path = fetchurl { | ||
3535 | name = "external_editor___external_editor_3.1.0.tgz"; | ||
3536 | url = "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz"; | ||
3537 | sha1 = "cb03f740befae03ea4d283caed2741a83f335495"; | ||
3538 | }; | ||
3539 | } | ||
3540 | { | ||
3541 | name = "extglob___extglob_2.0.4.tgz"; | ||
3542 | path = fetchurl { | ||
3543 | name = "extglob___extglob_2.0.4.tgz"; | ||
3544 | url = "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz"; | ||
3545 | sha1 = "ad00fe4dc612a9232e8718711dc5cb5ab0285543"; | ||
3546 | }; | ||
3547 | } | ||
3548 | { | ||
3549 | name = "extsprintf___extsprintf_1.3.0.tgz"; | ||
3550 | path = fetchurl { | ||
3551 | name = "extsprintf___extsprintf_1.3.0.tgz"; | ||
3552 | url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz"; | ||
3553 | sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05"; | ||
3554 | }; | ||
3555 | } | ||
3556 | { | ||
3557 | name = "extsprintf___extsprintf_1.4.0.tgz"; | ||
3558 | path = fetchurl { | ||
3559 | name = "extsprintf___extsprintf_1.4.0.tgz"; | ||
3560 | url = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz"; | ||
3561 | sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f"; | ||
3562 | }; | ||
3563 | } | ||
3564 | { | ||
3565 | name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; | ||
3566 | path = fetchurl { | ||
3567 | name = "fast_deep_equal___fast_deep_equal_3.1.1.tgz"; | ||
3568 | url = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz"; | ||
3569 | sha1 = "545145077c501491e33b15ec408c294376e94ae4"; | ||
3570 | }; | ||
3571 | } | ||
3572 | { | ||
3573 | name = "fast_diff___fast_diff_1.2.0.tgz"; | ||
3574 | path = fetchurl { | ||
3575 | name = "fast_diff___fast_diff_1.2.0.tgz"; | ||
3576 | url = "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz"; | ||
3577 | sha1 = "73ee11982d86caaf7959828d519cfe927fac5f03"; | ||
3578 | }; | ||
3579 | } | ||
3580 | { | ||
3581 | name = "fast_glob___fast_glob_2.2.7.tgz"; | ||
3582 | path = fetchurl { | ||
3583 | name = "fast_glob___fast_glob_2.2.7.tgz"; | ||
3584 | url = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz"; | ||
3585 | sha1 = "6953857c3afa475fff92ee6015d52da70a4cd39d"; | ||
3586 | }; | ||
3587 | } | ||
3588 | { | ||
3589 | name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; | ||
3590 | path = fetchurl { | ||
3591 | name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz"; | ||
3592 | url = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"; | ||
3593 | sha1 = "874bf69c6f404c2b5d99c481341399fd55892633"; | ||
3594 | }; | ||
3595 | } | ||
3596 | { | ||
3597 | name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; | ||
3598 | path = fetchurl { | ||
3599 | name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz"; | ||
3600 | url = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"; | ||
3601 | sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917"; | ||
3602 | }; | ||
3603 | } | ||
3604 | { | ||
3605 | name = "faye_websocket___faye_websocket_0.10.0.tgz"; | ||
3606 | path = fetchurl { | ||
3607 | name = "faye_websocket___faye_websocket_0.10.0.tgz"; | ||
3608 | url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz"; | ||
3609 | sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"; | ||
3610 | }; | ||
3611 | } | ||
3612 | { | ||
3613 | name = "faye_websocket___faye_websocket_0.11.3.tgz"; | ||
3614 | path = fetchurl { | ||
3615 | name = "faye_websocket___faye_websocket_0.11.3.tgz"; | ||
3616 | url = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz"; | ||
3617 | sha1 = "5c0e9a8968e8912c286639fde977a8b209f2508e"; | ||
3618 | }; | ||
3619 | } | ||
3620 | { | ||
3621 | name = "figgy_pudding___figgy_pudding_3.5.2.tgz"; | ||
3622 | path = fetchurl { | ||
3623 | name = "figgy_pudding___figgy_pudding_3.5.2.tgz"; | ||
3624 | url = "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz"; | ||
3625 | sha1 = "b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"; | ||
3626 | }; | ||
3627 | } | ||
3628 | { | ||
3629 | name = "figures___figures_3.2.0.tgz"; | ||
3630 | path = fetchurl { | ||
3631 | name = "figures___figures_3.2.0.tgz"; | ||
3632 | url = "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz"; | ||
3633 | sha1 = "625c18bd293c604dc4a8ddb2febf0c88341746af"; | ||
3634 | }; | ||
3635 | } | ||
3636 | { | ||
3637 | name = "file_entry_cache___file_entry_cache_5.0.1.tgz"; | ||
3638 | path = fetchurl { | ||
3639 | name = "file_entry_cache___file_entry_cache_5.0.1.tgz"; | ||
3640 | url = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz"; | ||
3641 | sha1 = "ca0f6efa6dd3d561333fb14515065c2fafdf439c"; | ||
3642 | }; | ||
3643 | } | ||
3644 | { | ||
3645 | name = "file_loader___file_loader_4.3.0.tgz"; | ||
3646 | path = fetchurl { | ||
3647 | name = "file_loader___file_loader_4.3.0.tgz"; | ||
3648 | url = "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz"; | ||
3649 | sha1 = "780f040f729b3d18019f20605f723e844b8a58af"; | ||
3650 | }; | ||
3651 | } | ||
3652 | { | ||
3653 | name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; | ||
3654 | path = fetchurl { | ||
3655 | name = "file_uri_to_path___file_uri_to_path_1.0.0.tgz"; | ||
3656 | url = "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"; | ||
3657 | sha1 = "553a7b8446ff6f684359c445f1e37a05dacc33dd"; | ||
3658 | }; | ||
3659 | } | ||
3660 | { | ||
3661 | name = "filesize___filesize_3.6.1.tgz"; | ||
3662 | path = fetchurl { | ||
3663 | name = "filesize___filesize_3.6.1.tgz"; | ||
3664 | url = "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz"; | ||
3665 | sha1 = "090bb3ee01b6f801a8a8be99d31710b3422bb317"; | ||
3666 | }; | ||
3667 | } | ||
3668 | { | ||
3669 | name = "fill_range___fill_range_4.0.0.tgz"; | ||
3670 | path = fetchurl { | ||
3671 | name = "fill_range___fill_range_4.0.0.tgz"; | ||
3672 | url = "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz"; | ||
3673 | sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7"; | ||
3674 | }; | ||
3675 | } | ||
3676 | { | ||
3677 | name = "fill_range___fill_range_7.0.1.tgz"; | ||
3678 | path = fetchurl { | ||
3679 | name = "fill_range___fill_range_7.0.1.tgz"; | ||
3680 | url = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz"; | ||
3681 | sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40"; | ||
3682 | }; | ||
3683 | } | ||
3684 | { | ||
3685 | name = "finalhandler___finalhandler_1.1.2.tgz"; | ||
3686 | path = fetchurl { | ||
3687 | name = "finalhandler___finalhandler_1.1.2.tgz"; | ||
3688 | url = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz"; | ||
3689 | sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d"; | ||
3690 | }; | ||
3691 | } | ||
3692 | { | ||
3693 | name = "find_cache_dir___find_cache_dir_0.1.1.tgz"; | ||
3694 | path = fetchurl { | ||
3695 | name = "find_cache_dir___find_cache_dir_0.1.1.tgz"; | ||
3696 | url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz"; | ||
3697 | sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9"; | ||
3698 | }; | ||
3699 | } | ||
3700 | { | ||
3701 | name = "find_cache_dir___find_cache_dir_2.1.0.tgz"; | ||
3702 | path = fetchurl { | ||
3703 | name = "find_cache_dir___find_cache_dir_2.1.0.tgz"; | ||
3704 | url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz"; | ||
3705 | sha1 = "8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"; | ||
3706 | }; | ||
3707 | } | ||
3708 | { | ||
3709 | name = "find_cache_dir___find_cache_dir_3.3.1.tgz"; | ||
3710 | path = fetchurl { | ||
3711 | name = "find_cache_dir___find_cache_dir_3.3.1.tgz"; | ||
3712 | url = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz"; | ||
3713 | sha1 = "89b33fad4a4670daa94f855f7fbe31d6d84fe880"; | ||
3714 | }; | ||
3715 | } | ||
3716 | { | ||
3717 | name = "find_up___find_up_1.1.2.tgz"; | ||
3718 | path = fetchurl { | ||
3719 | name = "find_up___find_up_1.1.2.tgz"; | ||
3720 | url = "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz"; | ||
3721 | sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"; | ||
3722 | }; | ||
3723 | } | ||
3724 | { | ||
3725 | name = "find_up___find_up_2.1.0.tgz"; | ||
3726 | path = fetchurl { | ||
3727 | name = "find_up___find_up_2.1.0.tgz"; | ||
3728 | url = "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz"; | ||
3729 | sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7"; | ||
3730 | }; | ||
3731 | } | ||
3732 | { | ||
3733 | name = "find_up___find_up_3.0.0.tgz"; | ||
3734 | path = fetchurl { | ||
3735 | name = "find_up___find_up_3.0.0.tgz"; | ||
3736 | url = "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz"; | ||
3737 | sha1 = "49169f1d7993430646da61ecc5ae355c21c97b73"; | ||
3738 | }; | ||
3739 | } | ||
3740 | { | ||
3741 | name = "find_up___find_up_4.1.0.tgz"; | ||
3742 | path = fetchurl { | ||
3743 | name = "find_up___find_up_4.1.0.tgz"; | ||
3744 | url = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz"; | ||
3745 | sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"; | ||
3746 | }; | ||
3747 | } | ||
3748 | { | ||
3749 | name = "flat_cache___flat_cache_2.0.1.tgz"; | ||
3750 | path = fetchurl { | ||
3751 | name = "flat_cache___flat_cache_2.0.1.tgz"; | ||
3752 | url = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz"; | ||
3753 | sha1 = "5d296d6f04bda44a4630a301413bdbc2ec085ec0"; | ||
3754 | }; | ||
3755 | } | ||
3756 | { | ||
3757 | name = "flatted___flatted_2.0.2.tgz"; | ||
3758 | path = fetchurl { | ||
3759 | name = "flatted___flatted_2.0.2.tgz"; | ||
3760 | url = "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz"; | ||
3761 | sha1 = "4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"; | ||
3762 | }; | ||
3763 | } | ||
3764 | { | ||
3765 | name = "flush_write_stream___flush_write_stream_1.1.1.tgz"; | ||
3766 | path = fetchurl { | ||
3767 | name = "flush_write_stream___flush_write_stream_1.1.1.tgz"; | ||
3768 | url = "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz"; | ||
3769 | sha1 = "8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"; | ||
3770 | }; | ||
3771 | } | ||
3772 | { | ||
3773 | name = "follow_redirects___follow_redirects_1.11.0.tgz"; | ||
3774 | path = fetchurl { | ||
3775 | name = "follow_redirects___follow_redirects_1.11.0.tgz"; | ||
3776 | url = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.11.0.tgz"; | ||
3777 | sha1 = "afa14f08ba12a52963140fe43212658897bc0ecb"; | ||
3778 | }; | ||
3779 | } | ||
3780 | { | ||
3781 | name = "for_in___for_in_1.0.2.tgz"; | ||
3782 | path = fetchurl { | ||
3783 | name = "for_in___for_in_1.0.2.tgz"; | ||
3784 | url = "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz"; | ||
3785 | sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80"; | ||
3786 | }; | ||
3787 | } | ||
3788 | { | ||
3789 | name = "forever_agent___forever_agent_0.6.1.tgz"; | ||
3790 | path = fetchurl { | ||
3791 | name = "forever_agent___forever_agent_0.6.1.tgz"; | ||
3792 | url = "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz"; | ||
3793 | sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"; | ||
3794 | }; | ||
3795 | } | ||
3796 | { | ||
3797 | name = "form_data___form_data_2.3.3.tgz"; | ||
3798 | path = fetchurl { | ||
3799 | name = "form_data___form_data_2.3.3.tgz"; | ||
3800 | url = "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz"; | ||
3801 | sha1 = "dcce52c05f644f298c6a7ab936bd724ceffbf3a6"; | ||
3802 | }; | ||
3803 | } | ||
3804 | { | ||
3805 | name = "forwarded___forwarded_0.1.2.tgz"; | ||
3806 | path = fetchurl { | ||
3807 | name = "forwarded___forwarded_0.1.2.tgz"; | ||
3808 | url = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz"; | ||
3809 | sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84"; | ||
3810 | }; | ||
3811 | } | ||
3812 | { | ||
3813 | name = "fragment_cache___fragment_cache_0.2.1.tgz"; | ||
3814 | path = fetchurl { | ||
3815 | name = "fragment_cache___fragment_cache_0.2.1.tgz"; | ||
3816 | url = "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz"; | ||
3817 | sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19"; | ||
3818 | }; | ||
3819 | } | ||
3820 | { | ||
3821 | name = "fresh___fresh_0.5.2.tgz"; | ||
3822 | path = fetchurl { | ||
3823 | name = "fresh___fresh_0.5.2.tgz"; | ||
3824 | url = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz"; | ||
3825 | sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7"; | ||
3826 | }; | ||
3827 | } | ||
3828 | { | ||
3829 | name = "from2___from2_2.3.0.tgz"; | ||
3830 | path = fetchurl { | ||
3831 | name = "from2___from2_2.3.0.tgz"; | ||
3832 | url = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz"; | ||
3833 | sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af"; | ||
3834 | }; | ||
3835 | } | ||
3836 | { | ||
3837 | name = "fs_extra___fs_extra_4.0.3.tgz"; | ||
3838 | path = fetchurl { | ||
3839 | name = "fs_extra___fs_extra_4.0.3.tgz"; | ||
3840 | url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz"; | ||
3841 | sha1 = "0d852122e5bc5beb453fb028e9c0c9bf36340c94"; | ||
3842 | }; | ||
3843 | } | ||
3844 | { | ||
3845 | name = "fs_extra___fs_extra_7.0.1.tgz"; | ||
3846 | path = fetchurl { | ||
3847 | name = "fs_extra___fs_extra_7.0.1.tgz"; | ||
3848 | url = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz"; | ||
3849 | sha1 = "4f189c44aa123b895f722804f55ea23eadc348e9"; | ||
3850 | }; | ||
3851 | } | ||
3852 | { | ||
3853 | name = "fs_minipass___fs_minipass_2.1.0.tgz"; | ||
3854 | path = fetchurl { | ||
3855 | name = "fs_minipass___fs_minipass_2.1.0.tgz"; | ||
3856 | url = "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz"; | ||
3857 | sha1 = "7f5036fdbf12c63c169190cbe4199c852271f9fb"; | ||
3858 | }; | ||
3859 | } | ||
3860 | { | ||
3861 | name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; | ||
3862 | path = fetchurl { | ||
3863 | name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz"; | ||
3864 | url = "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz"; | ||
3865 | sha1 = "b47df53493ef911df75731e70a9ded0189db40c9"; | ||
3866 | }; | ||
3867 | } | ||
3868 | { | ||
3869 | name = "fs.realpath___fs.realpath_1.0.0.tgz"; | ||
3870 | path = fetchurl { | ||
3871 | name = "fs.realpath___fs.realpath_1.0.0.tgz"; | ||
3872 | url = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz"; | ||
3873 | sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f"; | ||
3874 | }; | ||
3875 | } | ||
3876 | { | ||
3877 | name = "fsevents___fsevents_1.2.13.tgz"; | ||
3878 | path = fetchurl { | ||
3879 | name = "fsevents___fsevents_1.2.13.tgz"; | ||
3880 | url = "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz"; | ||
3881 | sha1 = "f325cb0455592428bcf11b383370ef70e3bfcc38"; | ||
3882 | }; | ||
3883 | } | ||
3884 | { | ||
3885 | name = "fsevents___fsevents_2.1.3.tgz"; | ||
3886 | path = fetchurl { | ||
3887 | name = "fsevents___fsevents_2.1.3.tgz"; | ||
3888 | url = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz"; | ||
3889 | sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e"; | ||
3890 | }; | ||
3891 | } | ||
3892 | { | ||
3893 | name = "function_bind___function_bind_1.1.1.tgz"; | ||
3894 | path = fetchurl { | ||
3895 | name = "function_bind___function_bind_1.1.1.tgz"; | ||
3896 | url = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz"; | ||
3897 | sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d"; | ||
3898 | }; | ||
3899 | } | ||
3900 | { | ||
3901 | name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; | ||
3902 | path = fetchurl { | ||
3903 | name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz"; | ||
3904 | url = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"; | ||
3905 | sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"; | ||
3906 | }; | ||
3907 | } | ||
3908 | { | ||
3909 | name = "gensync___gensync_1.0.0_beta.1.tgz"; | ||
3910 | path = fetchurl { | ||
3911 | name = "gensync___gensync_1.0.0_beta.1.tgz"; | ||
3912 | url = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz"; | ||
3913 | sha1 = "58f4361ff987e5ff6e1e7a210827aa371eaac269"; | ||
3914 | }; | ||
3915 | } | ||
3916 | { | ||
3917 | name = "get_caller_file___get_caller_file_2.0.5.tgz"; | ||
3918 | path = fetchurl { | ||
3919 | name = "get_caller_file___get_caller_file_2.0.5.tgz"; | ||
3920 | url = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz"; | ||
3921 | sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e"; | ||
3922 | }; | ||
3923 | } | ||
3924 | { | ||
3925 | name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; | ||
3926 | path = fetchurl { | ||
3927 | name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz"; | ||
3928 | url = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz"; | ||
3929 | sha1 = "b5fde77f22cbe35f390b4e089922c50bce6ef664"; | ||
3930 | }; | ||
3931 | } | ||
3932 | { | ||
3933 | name = "get_stdin___get_stdin_6.0.0.tgz"; | ||
3934 | path = fetchurl { | ||
3935 | name = "get_stdin___get_stdin_6.0.0.tgz"; | ||
3936 | url = "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz"; | ||
3937 | sha1 = "9e09bf712b360ab9225e812048f71fde9c89657b"; | ||
3938 | }; | ||
3939 | } | ||
3940 | { | ||
3941 | name = "get_stream___get_stream_3.0.0.tgz"; | ||
3942 | path = fetchurl { | ||
3943 | name = "get_stream___get_stream_3.0.0.tgz"; | ||
3944 | url = "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz"; | ||
3945 | sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14"; | ||
3946 | }; | ||
3947 | } | ||
3948 | { | ||
3949 | name = "get_stream___get_stream_4.1.0.tgz"; | ||
3950 | path = fetchurl { | ||
3951 | name = "get_stream___get_stream_4.1.0.tgz"; | ||
3952 | url = "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz"; | ||
3953 | sha1 = "c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"; | ||
3954 | }; | ||
3955 | } | ||
3956 | { | ||
3957 | name = "get_stream___get_stream_5.1.0.tgz"; | ||
3958 | path = fetchurl { | ||
3959 | name = "get_stream___get_stream_5.1.0.tgz"; | ||
3960 | url = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz"; | ||
3961 | sha1 = "01203cdc92597f9b909067c3e656cc1f4d3c4dc9"; | ||
3962 | }; | ||
3963 | } | ||
3964 | { | ||
3965 | name = "get_value___get_value_2.0.6.tgz"; | ||
3966 | path = fetchurl { | ||
3967 | name = "get_value___get_value_2.0.6.tgz"; | ||
3968 | url = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz"; | ||
3969 | sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28"; | ||
3970 | }; | ||
3971 | } | ||
3972 | { | ||
3973 | name = "getpass___getpass_0.1.7.tgz"; | ||
3974 | path = fetchurl { | ||
3975 | name = "getpass___getpass_0.1.7.tgz"; | ||
3976 | url = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz"; | ||
3977 | sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa"; | ||
3978 | }; | ||
3979 | } | ||
3980 | { | ||
3981 | name = "glob_parent___glob_parent_3.1.0.tgz"; | ||
3982 | path = fetchurl { | ||
3983 | name = "glob_parent___glob_parent_3.1.0.tgz"; | ||
3984 | url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz"; | ||
3985 | sha1 = "9e6af6299d8d3bd2bd40430832bd113df906c5ae"; | ||
3986 | }; | ||
3987 | } | ||
3988 | { | ||
3989 | name = "glob_parent___glob_parent_5.1.1.tgz"; | ||
3990 | path = fetchurl { | ||
3991 | name = "glob_parent___glob_parent_5.1.1.tgz"; | ||
3992 | url = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz"; | ||
3993 | sha1 = "b6c1ef417c4e5663ea498f1c45afac6916bbc229"; | ||
3994 | }; | ||
3995 | } | ||
3996 | { | ||
3997 | name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz"; | ||
3998 | path = fetchurl { | ||
3999 | name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz"; | ||
4000 | url = "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz"; | ||
4001 | sha1 = "8c5a1494d2066c570cc3bfe4496175acc4d502ab"; | ||
4002 | }; | ||
4003 | } | ||
4004 | { | ||
4005 | name = "glob___glob_7.1.6.tgz"; | ||
4006 | path = fetchurl { | ||
4007 | name = "glob___glob_7.1.6.tgz"; | ||
4008 | url = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz"; | ||
4009 | sha1 = "141f33b81a7c2492e125594307480c46679278a6"; | ||
4010 | }; | ||
4011 | } | ||
4012 | { | ||
4013 | name = "globals___globals_11.12.0.tgz"; | ||
4014 | path = fetchurl { | ||
4015 | name = "globals___globals_11.12.0.tgz"; | ||
4016 | url = "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz"; | ||
4017 | sha1 = "ab8795338868a0babd8525758018c2a7eb95c42e"; | ||
4018 | }; | ||
4019 | } | ||
4020 | { | ||
4021 | name = "globals___globals_12.4.0.tgz"; | ||
4022 | path = fetchurl { | ||
4023 | name = "globals___globals_12.4.0.tgz"; | ||
4024 | url = "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz"; | ||
4025 | sha1 = "a18813576a41b00a24a97e7f815918c2e19925f8"; | ||
4026 | }; | ||
4027 | } | ||
4028 | { | ||
4029 | name = "globby___globby_6.1.0.tgz"; | ||
4030 | path = fetchurl { | ||
4031 | name = "globby___globby_6.1.0.tgz"; | ||
4032 | url = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz"; | ||
4033 | sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c"; | ||
4034 | }; | ||
4035 | } | ||
4036 | { | ||
4037 | name = "globby___globby_7.1.1.tgz"; | ||
4038 | path = fetchurl { | ||
4039 | name = "globby___globby_7.1.1.tgz"; | ||
4040 | url = "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz"; | ||
4041 | sha1 = "fb2ccff9401f8600945dfada97440cca972b8680"; | ||
4042 | }; | ||
4043 | } | ||
4044 | { | ||
4045 | name = "globby___globby_9.2.0.tgz"; | ||
4046 | path = fetchurl { | ||
4047 | name = "globby___globby_9.2.0.tgz"; | ||
4048 | url = "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz"; | ||
4049 | sha1 = "fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"; | ||
4050 | }; | ||
4051 | } | ||
4052 | { | ||
4053 | name = "graceful_fs___graceful_fs_4.2.4.tgz"; | ||
4054 | path = fetchurl { | ||
4055 | name = "graceful_fs___graceful_fs_4.2.4.tgz"; | ||
4056 | url = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz"; | ||
4057 | sha1 = "2256bde14d3632958c465ebc96dc467ca07a29fb"; | ||
4058 | }; | ||
4059 | } | ||
4060 | { | ||
4061 | name = "gzip_size___gzip_size_5.1.1.tgz"; | ||
4062 | path = fetchurl { | ||
4063 | name = "gzip_size___gzip_size_5.1.1.tgz"; | ||
4064 | url = "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz"; | ||
4065 | sha1 = "cb9bee692f87c0612b232840a873904e4c135274"; | ||
4066 | }; | ||
4067 | } | ||
4068 | { | ||
4069 | name = "handle_thing___handle_thing_2.0.1.tgz"; | ||
4070 | path = fetchurl { | ||
4071 | name = "handle_thing___handle_thing_2.0.1.tgz"; | ||
4072 | url = "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz"; | ||
4073 | sha1 = "857f79ce359580c340d43081cc648970d0bb234e"; | ||
4074 | }; | ||
4075 | } | ||
4076 | { | ||
4077 | name = "har_schema___har_schema_2.0.0.tgz"; | ||
4078 | path = fetchurl { | ||
4079 | name = "har_schema___har_schema_2.0.0.tgz"; | ||
4080 | url = "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz"; | ||
4081 | sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92"; | ||
4082 | }; | ||
4083 | } | ||
4084 | { | ||
4085 | name = "har_validator___har_validator_5.1.3.tgz"; | ||
4086 | path = fetchurl { | ||
4087 | name = "har_validator___har_validator_5.1.3.tgz"; | ||
4088 | url = "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz"; | ||
4089 | sha1 = "1ef89ebd3e4996557675eed9893110dc350fa080"; | ||
4090 | }; | ||
4091 | } | ||
4092 | { | ||
4093 | name = "has_ansi___has_ansi_2.0.0.tgz"; | ||
4094 | path = fetchurl { | ||
4095 | name = "has_ansi___has_ansi_2.0.0.tgz"; | ||
4096 | url = "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz"; | ||
4097 | sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91"; | ||
4098 | }; | ||
4099 | } | ||
4100 | { | ||
4101 | name = "has_flag___has_flag_3.0.0.tgz"; | ||
4102 | path = fetchurl { | ||
4103 | name = "has_flag___has_flag_3.0.0.tgz"; | ||
4104 | url = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz"; | ||
4105 | sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd"; | ||
4106 | }; | ||
4107 | } | ||
4108 | { | ||
4109 | name = "has_flag___has_flag_4.0.0.tgz"; | ||
4110 | path = fetchurl { | ||
4111 | name = "has_flag___has_flag_4.0.0.tgz"; | ||
4112 | url = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz"; | ||
4113 | sha1 = "944771fd9c81c81265c4d6941860da06bb59479b"; | ||
4114 | }; | ||
4115 | } | ||
4116 | { | ||
4117 | name = "has_symbols___has_symbols_1.0.1.tgz"; | ||
4118 | path = fetchurl { | ||
4119 | name = "has_symbols___has_symbols_1.0.1.tgz"; | ||
4120 | url = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz"; | ||
4121 | sha1 = "9f5214758a44196c406d9bd76cebf81ec2dd31e8"; | ||
4122 | }; | ||
4123 | } | ||
4124 | { | ||
4125 | name = "has_value___has_value_0.3.1.tgz"; | ||
4126 | path = fetchurl { | ||
4127 | name = "has_value___has_value_0.3.1.tgz"; | ||
4128 | url = "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz"; | ||
4129 | sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f"; | ||
4130 | }; | ||
4131 | } | ||
4132 | { | ||
4133 | name = "has_value___has_value_1.0.0.tgz"; | ||
4134 | path = fetchurl { | ||
4135 | name = "has_value___has_value_1.0.0.tgz"; | ||
4136 | url = "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz"; | ||
4137 | sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177"; | ||
4138 | }; | ||
4139 | } | ||
4140 | { | ||
4141 | name = "has_values___has_values_0.1.4.tgz"; | ||
4142 | path = fetchurl { | ||
4143 | name = "has_values___has_values_0.1.4.tgz"; | ||
4144 | url = "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz"; | ||
4145 | sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771"; | ||
4146 | }; | ||
4147 | } | ||
4148 | { | ||
4149 | name = "has_values___has_values_1.0.0.tgz"; | ||
4150 | path = fetchurl { | ||
4151 | name = "has_values___has_values_1.0.0.tgz"; | ||
4152 | url = "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz"; | ||
4153 | sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f"; | ||
4154 | }; | ||
4155 | } | ||
4156 | { | ||
4157 | name = "has___has_1.0.3.tgz"; | ||
4158 | path = fetchurl { | ||
4159 | name = "has___has_1.0.3.tgz"; | ||
4160 | url = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz"; | ||
4161 | sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796"; | ||
4162 | }; | ||
4163 | } | ||
4164 | { | ||
4165 | name = "hash_base___hash_base_3.1.0.tgz"; | ||
4166 | path = fetchurl { | ||
4167 | name = "hash_base___hash_base_3.1.0.tgz"; | ||
4168 | url = "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz"; | ||
4169 | sha1 = "55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"; | ||
4170 | }; | ||
4171 | } | ||
4172 | { | ||
4173 | name = "hash_sum___hash_sum_1.0.2.tgz"; | ||
4174 | path = fetchurl { | ||
4175 | name = "hash_sum___hash_sum_1.0.2.tgz"; | ||
4176 | url = "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz"; | ||
4177 | sha1 = "33b40777754c6432573c120cc3808bbd10d47f04"; | ||
4178 | }; | ||
4179 | } | ||
4180 | { | ||
4181 | name = "hash_sum___hash_sum_2.0.0.tgz"; | ||
4182 | path = fetchurl { | ||
4183 | name = "hash_sum___hash_sum_2.0.0.tgz"; | ||
4184 | url = "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz"; | ||
4185 | sha1 = "81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"; | ||
4186 | }; | ||
4187 | } | ||
4188 | { | ||
4189 | name = "hash.js___hash.js_1.1.7.tgz"; | ||
4190 | path = fetchurl { | ||
4191 | name = "hash.js___hash.js_1.1.7.tgz"; | ||
4192 | url = "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz"; | ||
4193 | sha1 = "0babca538e8d4ee4a0f8988d68866537a003cf42"; | ||
4194 | }; | ||
4195 | } | ||
4196 | { | ||
4197 | name = "he___he_1.2.0.tgz"; | ||
4198 | path = fetchurl { | ||
4199 | name = "he___he_1.2.0.tgz"; | ||
4200 | url = "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz"; | ||
4201 | sha1 = "84ae65fa7eafb165fddb61566ae14baf05664f0f"; | ||
4202 | }; | ||
4203 | } | ||
4204 | { | ||
4205 | name = "hex_color_regex___hex_color_regex_1.1.0.tgz"; | ||
4206 | path = fetchurl { | ||
4207 | name = "hex_color_regex___hex_color_regex_1.1.0.tgz"; | ||
4208 | url = "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz"; | ||
4209 | sha1 = "4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"; | ||
4210 | }; | ||
4211 | } | ||
4212 | { | ||
4213 | name = "highlight.js___highlight.js_9.18.1.tgz"; | ||
4214 | path = fetchurl { | ||
4215 | name = "highlight.js___highlight.js_9.18.1.tgz"; | ||
4216 | url = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.1.tgz"; | ||
4217 | sha1 = "ed21aa001fe6252bb10a3d76d47573c6539fe13c"; | ||
4218 | }; | ||
4219 | } | ||
4220 | { | ||
4221 | name = "hmac_drbg___hmac_drbg_1.0.1.tgz"; | ||
4222 | path = fetchurl { | ||
4223 | name = "hmac_drbg___hmac_drbg_1.0.1.tgz"; | ||
4224 | url = "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz"; | ||
4225 | sha1 = "d2745701025a6c775a6c545793ed502fc0c649a1"; | ||
4226 | }; | ||
4227 | } | ||
4228 | { | ||
4229 | name = "hoopy___hoopy_0.1.4.tgz"; | ||
4230 | path = fetchurl { | ||
4231 | name = "hoopy___hoopy_0.1.4.tgz"; | ||
4232 | url = "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz"; | ||
4233 | sha1 = "609207d661100033a9a9402ad3dea677381c1b1d"; | ||
4234 | }; | ||
4235 | } | ||
4236 | { | ||
4237 | name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; | ||
4238 | path = fetchurl { | ||
4239 | name = "hosted_git_info___hosted_git_info_2.8.8.tgz"; | ||
4240 | url = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz"; | ||
4241 | sha1 = "7539bd4bc1e0e0a895815a2e0262420b12858488"; | ||
4242 | }; | ||
4243 | } | ||
4244 | { | ||
4245 | name = "hpack.js___hpack.js_2.1.6.tgz"; | ||
4246 | path = fetchurl { | ||
4247 | name = "hpack.js___hpack.js_2.1.6.tgz"; | ||
4248 | url = "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz"; | ||
4249 | sha1 = "87774c0949e513f42e84575b3c45681fade2a0b2"; | ||
4250 | }; | ||
4251 | } | ||
4252 | { | ||
4253 | name = "hsl_regex___hsl_regex_1.0.0.tgz"; | ||
4254 | path = fetchurl { | ||
4255 | name = "hsl_regex___hsl_regex_1.0.0.tgz"; | ||
4256 | url = "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz"; | ||
4257 | sha1 = "d49330c789ed819e276a4c0d272dffa30b18fe6e"; | ||
4258 | }; | ||
4259 | } | ||
4260 | { | ||
4261 | name = "hsla_regex___hsla_regex_1.0.0.tgz"; | ||
4262 | path = fetchurl { | ||
4263 | name = "hsla_regex___hsla_regex_1.0.0.tgz"; | ||
4264 | url = "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz"; | ||
4265 | sha1 = "c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"; | ||
4266 | }; | ||
4267 | } | ||
4268 | { | ||
4269 | name = "html_comment_regex___html_comment_regex_1.1.2.tgz"; | ||
4270 | path = fetchurl { | ||
4271 | name = "html_comment_regex___html_comment_regex_1.1.2.tgz"; | ||
4272 | url = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz"; | ||
4273 | sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7"; | ||
4274 | }; | ||
4275 | } | ||
4276 | { | ||
4277 | name = "html_entities___html_entities_1.3.1.tgz"; | ||
4278 | path = fetchurl { | ||
4279 | name = "html_entities___html_entities_1.3.1.tgz"; | ||
4280 | url = "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz"; | ||
4281 | sha1 = "fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44"; | ||
4282 | }; | ||
4283 | } | ||
4284 | { | ||
4285 | name = "html_minifier___html_minifier_3.5.21.tgz"; | ||
4286 | path = fetchurl { | ||
4287 | name = "html_minifier___html_minifier_3.5.21.tgz"; | ||
4288 | url = "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz"; | ||
4289 | sha1 = "d0040e054730e354db008463593194015212d20c"; | ||
4290 | }; | ||
4291 | } | ||
4292 | { | ||
4293 | name = "html_tags___html_tags_2.0.0.tgz"; | ||
4294 | path = fetchurl { | ||
4295 | name = "html_tags___html_tags_2.0.0.tgz"; | ||
4296 | url = "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz"; | ||
4297 | sha1 = "10b30a386085f43cede353cc8fa7cb0deeea668b"; | ||
4298 | }; | ||
4299 | } | ||
4300 | { | ||
4301 | name = "html_webpack_plugin___html_webpack_plugin_3.2.0.tgz"; | ||
4302 | path = fetchurl { | ||
4303 | name = "html_webpack_plugin___html_webpack_plugin_3.2.0.tgz"; | ||
4304 | url = "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz"; | ||
4305 | sha1 = "b01abbd723acaaa7b37b6af4492ebda03d9dd37b"; | ||
4306 | }; | ||
4307 | } | ||
4308 | { | ||
4309 | name = "htmlparser2___htmlparser2_3.10.1.tgz"; | ||
4310 | path = fetchurl { | ||
4311 | name = "htmlparser2___htmlparser2_3.10.1.tgz"; | ||
4312 | url = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz"; | ||
4313 | sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f"; | ||
4314 | }; | ||
4315 | } | ||
4316 | { | ||
4317 | name = "http_deceiver___http_deceiver_1.2.7.tgz"; | ||
4318 | path = fetchurl { | ||
4319 | name = "http_deceiver___http_deceiver_1.2.7.tgz"; | ||
4320 | url = "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz"; | ||
4321 | sha1 = "fa7168944ab9a519d337cb0bec7284dc3e723d87"; | ||
4322 | }; | ||
4323 | } | ||
4324 | { | ||
4325 | name = "http_errors___http_errors_1.7.2.tgz"; | ||
4326 | path = fetchurl { | ||
4327 | name = "http_errors___http_errors_1.7.2.tgz"; | ||
4328 | url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz"; | ||
4329 | sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f"; | ||
4330 | }; | ||
4331 | } | ||
4332 | { | ||
4333 | name = "http_errors___http_errors_1.6.3.tgz"; | ||
4334 | path = fetchurl { | ||
4335 | name = "http_errors___http_errors_1.6.3.tgz"; | ||
4336 | url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz"; | ||
4337 | sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d"; | ||
4338 | }; | ||
4339 | } | ||
4340 | { | ||
4341 | name = "http_errors___http_errors_1.7.3.tgz"; | ||
4342 | path = fetchurl { | ||
4343 | name = "http_errors___http_errors_1.7.3.tgz"; | ||
4344 | url = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz"; | ||
4345 | sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06"; | ||
4346 | }; | ||
4347 | } | ||
4348 | { | ||
4349 | name = "http_parser_js___http_parser_js_0.5.2.tgz"; | ||
4350 | path = fetchurl { | ||
4351 | name = "http_parser_js___http_parser_js_0.5.2.tgz"; | ||
4352 | url = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz"; | ||
4353 | sha1 = "da2e31d237b393aae72ace43882dd7e270a8ff77"; | ||
4354 | }; | ||
4355 | } | ||
4356 | { | ||
4357 | name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz"; | ||
4358 | path = fetchurl { | ||
4359 | name = "http_proxy_middleware___http_proxy_middleware_0.19.1.tgz"; | ||
4360 | url = "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz"; | ||
4361 | sha1 = "183c7dc4aa1479150306498c210cdaf96080a43a"; | ||
4362 | }; | ||
4363 | } | ||
4364 | { | ||
4365 | name = "http_proxy___http_proxy_1.18.1.tgz"; | ||
4366 | path = fetchurl { | ||
4367 | name = "http_proxy___http_proxy_1.18.1.tgz"; | ||
4368 | url = "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz"; | ||
4369 | sha1 = "401541f0534884bbf95260334e72f88ee3976549"; | ||
4370 | }; | ||
4371 | } | ||
4372 | { | ||
4373 | name = "http_signature___http_signature_1.2.0.tgz"; | ||
4374 | path = fetchurl { | ||
4375 | name = "http_signature___http_signature_1.2.0.tgz"; | ||
4376 | url = "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz"; | ||
4377 | sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1"; | ||
4378 | }; | ||
4379 | } | ||
4380 | { | ||
4381 | name = "https_browserify___https_browserify_1.0.0.tgz"; | ||
4382 | path = fetchurl { | ||
4383 | name = "https_browserify___https_browserify_1.0.0.tgz"; | ||
4384 | url = "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz"; | ||
4385 | sha1 = "ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"; | ||
4386 | }; | ||
4387 | } | ||
4388 | { | ||
4389 | name = "human_signals___human_signals_1.1.1.tgz"; | ||
4390 | path = fetchurl { | ||
4391 | name = "human_signals___human_signals_1.1.1.tgz"; | ||
4392 | url = "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz"; | ||
4393 | sha1 = "c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"; | ||
4394 | }; | ||
4395 | } | ||
4396 | { | ||
4397 | name = "iconv_lite___iconv_lite_0.4.24.tgz"; | ||
4398 | path = fetchurl { | ||
4399 | name = "iconv_lite___iconv_lite_0.4.24.tgz"; | ||
4400 | url = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz"; | ||
4401 | sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b"; | ||
4402 | }; | ||
4403 | } | ||
4404 | { | ||
4405 | name = "icss_utils___icss_utils_4.1.1.tgz"; | ||
4406 | path = fetchurl { | ||
4407 | name = "icss_utils___icss_utils_4.1.1.tgz"; | ||
4408 | url = "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz"; | ||
4409 | sha1 = "21170b53789ee27447c2f47dd683081403f9a467"; | ||
4410 | }; | ||
4411 | } | ||
4412 | { | ||
4413 | name = "ieee754___ieee754_1.1.13.tgz"; | ||
4414 | path = fetchurl { | ||
4415 | name = "ieee754___ieee754_1.1.13.tgz"; | ||
4416 | url = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz"; | ||
4417 | sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84"; | ||
4418 | }; | ||
4419 | } | ||
4420 | { | ||
4421 | name = "iferr___iferr_0.1.5.tgz"; | ||
4422 | path = fetchurl { | ||
4423 | name = "iferr___iferr_0.1.5.tgz"; | ||
4424 | url = "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz"; | ||
4425 | sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"; | ||
4426 | }; | ||
4427 | } | ||
4428 | { | ||
4429 | name = "ignore___ignore_3.3.10.tgz"; | ||
4430 | path = fetchurl { | ||
4431 | name = "ignore___ignore_3.3.10.tgz"; | ||
4432 | url = "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz"; | ||
4433 | sha1 = "0a97fb876986e8081c631160f8f9f389157f0043"; | ||
4434 | }; | ||
4435 | } | ||
4436 | { | ||
4437 | name = "ignore___ignore_4.0.6.tgz"; | ||
4438 | path = fetchurl { | ||
4439 | name = "ignore___ignore_4.0.6.tgz"; | ||
4440 | url = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz"; | ||
4441 | sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc"; | ||
4442 | }; | ||
4443 | } | ||
4444 | { | ||
4445 | name = "import_cwd___import_cwd_2.1.0.tgz"; | ||
4446 | path = fetchurl { | ||
4447 | name = "import_cwd___import_cwd_2.1.0.tgz"; | ||
4448 | url = "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz"; | ||
4449 | sha1 = "aa6cf36e722761285cb371ec6519f53e2435b0a9"; | ||
4450 | }; | ||
4451 | } | ||
4452 | { | ||
4453 | name = "import_fresh___import_fresh_2.0.0.tgz"; | ||
4454 | path = fetchurl { | ||
4455 | name = "import_fresh___import_fresh_2.0.0.tgz"; | ||
4456 | url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz"; | ||
4457 | sha1 = "d81355c15612d386c61f9ddd3922d4304822a546"; | ||
4458 | }; | ||
4459 | } | ||
4460 | { | ||
4461 | name = "import_fresh___import_fresh_3.2.1.tgz"; | ||
4462 | path = fetchurl { | ||
4463 | name = "import_fresh___import_fresh_3.2.1.tgz"; | ||
4464 | url = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz"; | ||
4465 | sha1 = "633ff618506e793af5ac91bf48b72677e15cbe66"; | ||
4466 | }; | ||
4467 | } | ||
4468 | { | ||
4469 | name = "import_from___import_from_2.1.0.tgz"; | ||
4470 | path = fetchurl { | ||
4471 | name = "import_from___import_from_2.1.0.tgz"; | ||
4472 | url = "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz"; | ||
4473 | sha1 = "335db7f2a7affd53aaa471d4b8021dee36b7f3b1"; | ||
4474 | }; | ||
4475 | } | ||
4476 | { | ||
4477 | name = "import_local___import_local_2.0.0.tgz"; | ||
4478 | path = fetchurl { | ||
4479 | name = "import_local___import_local_2.0.0.tgz"; | ||
4480 | url = "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz"; | ||
4481 | sha1 = "55070be38a5993cf18ef6db7e961f5bee5c5a09d"; | ||
4482 | }; | ||
4483 | } | ||
4484 | { | ||
4485 | name = "imurmurhash___imurmurhash_0.1.4.tgz"; | ||
4486 | path = fetchurl { | ||
4487 | name = "imurmurhash___imurmurhash_0.1.4.tgz"; | ||
4488 | url = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz"; | ||
4489 | sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea"; | ||
4490 | }; | ||
4491 | } | ||
4492 | { | ||
4493 | name = "indent_string___indent_string_4.0.0.tgz"; | ||
4494 | path = fetchurl { | ||
4495 | name = "indent_string___indent_string_4.0.0.tgz"; | ||
4496 | url = "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz"; | ||
4497 | sha1 = "624f8f4497d619b2d9768531d58f4122854d7251"; | ||
4498 | }; | ||
4499 | } | ||
4500 | { | ||
4501 | name = "indexes_of___indexes_of_1.0.1.tgz"; | ||
4502 | path = fetchurl { | ||
4503 | name = "indexes_of___indexes_of_1.0.1.tgz"; | ||
4504 | url = "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz"; | ||
4505 | sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607"; | ||
4506 | }; | ||
4507 | } | ||
4508 | { | ||
4509 | name = "infer_owner___infer_owner_1.0.4.tgz"; | ||
4510 | path = fetchurl { | ||
4511 | name = "infer_owner___infer_owner_1.0.4.tgz"; | ||
4512 | url = "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz"; | ||
4513 | sha1 = "c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"; | ||
4514 | }; | ||
4515 | } | ||
4516 | { | ||
4517 | name = "inflight___inflight_1.0.6.tgz"; | ||
4518 | path = fetchurl { | ||
4519 | name = "inflight___inflight_1.0.6.tgz"; | ||
4520 | url = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz"; | ||
4521 | sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9"; | ||
4522 | }; | ||
4523 | } | ||
4524 | { | ||
4525 | name = "inherits___inherits_2.0.4.tgz"; | ||
4526 | path = fetchurl { | ||
4527 | name = "inherits___inherits_2.0.4.tgz"; | ||
4528 | url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz"; | ||
4529 | sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c"; | ||
4530 | }; | ||
4531 | } | ||
4532 | { | ||
4533 | name = "inherits___inherits_2.0.1.tgz"; | ||
4534 | path = fetchurl { | ||
4535 | name = "inherits___inherits_2.0.1.tgz"; | ||
4536 | url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz"; | ||
4537 | sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1"; | ||
4538 | }; | ||
4539 | } | ||
4540 | { | ||
4541 | name = "inherits___inherits_2.0.3.tgz"; | ||
4542 | path = fetchurl { | ||
4543 | name = "inherits___inherits_2.0.3.tgz"; | ||
4544 | url = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz"; | ||
4545 | sha1 = "633c2c83e3da42a502f52466022480f4208261de"; | ||
4546 | }; | ||
4547 | } | ||
4548 | { | ||
4549 | name = "inquirer___inquirer_7.1.0.tgz"; | ||
4550 | path = fetchurl { | ||
4551 | name = "inquirer___inquirer_7.1.0.tgz"; | ||
4552 | url = "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz"; | ||
4553 | sha1 = "1298a01859883e17c7264b82870ae1034f92dd29"; | ||
4554 | }; | ||
4555 | } | ||
4556 | { | ||
4557 | name = "internal_ip___internal_ip_4.3.0.tgz"; | ||
4558 | path = fetchurl { | ||
4559 | name = "internal_ip___internal_ip_4.3.0.tgz"; | ||
4560 | url = "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz"; | ||
4561 | sha1 = "845452baad9d2ca3b69c635a137acb9a0dad0907"; | ||
4562 | }; | ||
4563 | } | ||
4564 | { | ||
4565 | name = "invariant___invariant_2.2.4.tgz"; | ||
4566 | path = fetchurl { | ||
4567 | name = "invariant___invariant_2.2.4.tgz"; | ||
4568 | url = "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz"; | ||
4569 | sha1 = "610f3c92c9359ce1db616e538008d23ff35158e6"; | ||
4570 | }; | ||
4571 | } | ||
4572 | { | ||
4573 | name = "ip_regex___ip_regex_2.1.0.tgz"; | ||
4574 | path = fetchurl { | ||
4575 | name = "ip_regex___ip_regex_2.1.0.tgz"; | ||
4576 | url = "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz"; | ||
4577 | sha1 = "fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"; | ||
4578 | }; | ||
4579 | } | ||
4580 | { | ||
4581 | name = "ip___ip_1.1.5.tgz"; | ||
4582 | path = fetchurl { | ||
4583 | name = "ip___ip_1.1.5.tgz"; | ||
4584 | url = "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz"; | ||
4585 | sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a"; | ||
4586 | }; | ||
4587 | } | ||
4588 | { | ||
4589 | name = "ipaddr.js___ipaddr.js_1.9.1.tgz"; | ||
4590 | path = fetchurl { | ||
4591 | name = "ipaddr.js___ipaddr.js_1.9.1.tgz"; | ||
4592 | url = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz"; | ||
4593 | sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3"; | ||
4594 | }; | ||
4595 | } | ||
4596 | { | ||
4597 | name = "is_absolute_url___is_absolute_url_2.1.0.tgz"; | ||
4598 | path = fetchurl { | ||
4599 | name = "is_absolute_url___is_absolute_url_2.1.0.tgz"; | ||
4600 | url = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz"; | ||
4601 | sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"; | ||
4602 | }; | ||
4603 | } | ||
4604 | { | ||
4605 | name = "is_absolute_url___is_absolute_url_3.0.3.tgz"; | ||
4606 | path = fetchurl { | ||
4607 | name = "is_absolute_url___is_absolute_url_3.0.3.tgz"; | ||
4608 | url = "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz"; | ||
4609 | sha1 = "96c6a22b6a23929b11ea0afb1836c36ad4a5d698"; | ||
4610 | }; | ||
4611 | } | ||
4612 | { | ||
4613 | name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; | ||
4614 | path = fetchurl { | ||
4615 | name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz"; | ||
4616 | url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz"; | ||
4617 | sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"; | ||
4618 | }; | ||
4619 | } | ||
4620 | { | ||
4621 | name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; | ||
4622 | path = fetchurl { | ||
4623 | name = "is_accessor_descriptor___is_accessor_descriptor_1.0.0.tgz"; | ||
4624 | url = "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz"; | ||
4625 | sha1 = "169c2f6d3df1f992618072365c9b0ea1f6878656"; | ||
4626 | }; | ||
4627 | } | ||
4628 | { | ||
4629 | name = "is_arguments___is_arguments_1.0.4.tgz"; | ||
4630 | path = fetchurl { | ||
4631 | name = "is_arguments___is_arguments_1.0.4.tgz"; | ||
4632 | url = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz"; | ||
4633 | sha1 = "3faf966c7cba0ff437fb31f6250082fcf0448cf3"; | ||
4634 | }; | ||
4635 | } | ||
4636 | { | ||
4637 | name = "is_arrayish___is_arrayish_0.2.1.tgz"; | ||
4638 | path = fetchurl { | ||
4639 | name = "is_arrayish___is_arrayish_0.2.1.tgz"; | ||
4640 | url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz"; | ||
4641 | sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d"; | ||
4642 | }; | ||
4643 | } | ||
4644 | { | ||
4645 | name = "is_arrayish___is_arrayish_0.3.2.tgz"; | ||
4646 | path = fetchurl { | ||
4647 | name = "is_arrayish___is_arrayish_0.3.2.tgz"; | ||
4648 | url = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz"; | ||
4649 | sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03"; | ||
4650 | }; | ||
4651 | } | ||
4652 | { | ||
4653 | name = "is_binary_path___is_binary_path_1.0.1.tgz"; | ||
4654 | path = fetchurl { | ||
4655 | name = "is_binary_path___is_binary_path_1.0.1.tgz"; | ||
4656 | url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz"; | ||
4657 | sha1 = "75f16642b480f187a711c814161fd3a4a7655898"; | ||
4658 | }; | ||
4659 | } | ||
4660 | { | ||
4661 | name = "is_binary_path___is_binary_path_2.1.0.tgz"; | ||
4662 | path = fetchurl { | ||
4663 | name = "is_binary_path___is_binary_path_2.1.0.tgz"; | ||
4664 | url = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz"; | ||
4665 | sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09"; | ||
4666 | }; | ||
4667 | } | ||
4668 | { | ||
4669 | name = "is_buffer___is_buffer_1.1.6.tgz"; | ||
4670 | path = fetchurl { | ||
4671 | name = "is_buffer___is_buffer_1.1.6.tgz"; | ||
4672 | url = "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz"; | ||
4673 | sha1 = "efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"; | ||
4674 | }; | ||
4675 | } | ||
4676 | { | ||
4677 | name = "is_callable___is_callable_1.2.0.tgz"; | ||
4678 | path = fetchurl { | ||
4679 | name = "is_callable___is_callable_1.2.0.tgz"; | ||
4680 | url = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz"; | ||
4681 | sha1 = "83336560b54a38e35e3a2df7afd0454d691468bb"; | ||
4682 | }; | ||
4683 | } | ||
4684 | { | ||
4685 | name = "is_ci___is_ci_1.2.1.tgz"; | ||
4686 | path = fetchurl { | ||
4687 | name = "is_ci___is_ci_1.2.1.tgz"; | ||
4688 | url = "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz"; | ||
4689 | sha1 = "e3779c8ee17fccf428488f6e281187f2e632841c"; | ||
4690 | }; | ||
4691 | } | ||
4692 | { | ||
4693 | name = "is_color_stop___is_color_stop_1.1.0.tgz"; | ||
4694 | path = fetchurl { | ||
4695 | name = "is_color_stop___is_color_stop_1.1.0.tgz"; | ||
4696 | url = "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz"; | ||
4697 | sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345"; | ||
4698 | }; | ||
4699 | } | ||
4700 | { | ||
4701 | name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; | ||
4702 | path = fetchurl { | ||
4703 | name = "is_data_descriptor___is_data_descriptor_0.1.4.tgz"; | ||
4704 | url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz"; | ||
4705 | sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56"; | ||
4706 | }; | ||
4707 | } | ||
4708 | { | ||
4709 | name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; | ||
4710 | path = fetchurl { | ||
4711 | name = "is_data_descriptor___is_data_descriptor_1.0.0.tgz"; | ||
4712 | url = "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz"; | ||
4713 | sha1 = "d84876321d0e7add03990406abbbbd36ba9268c7"; | ||
4714 | }; | ||
4715 | } | ||
4716 | { | ||
4717 | name = "is_date_object___is_date_object_1.0.2.tgz"; | ||
4718 | path = fetchurl { | ||
4719 | name = "is_date_object___is_date_object_1.0.2.tgz"; | ||
4720 | url = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz"; | ||
4721 | sha1 = "bda736f2cd8fd06d32844e7743bfa7494c3bfd7e"; | ||
4722 | }; | ||
4723 | } | ||
4724 | { | ||
4725 | name = "is_descriptor___is_descriptor_0.1.6.tgz"; | ||
4726 | path = fetchurl { | ||
4727 | name = "is_descriptor___is_descriptor_0.1.6.tgz"; | ||
4728 | url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz"; | ||
4729 | sha1 = "366d8240dde487ca51823b1ab9f07a10a78251ca"; | ||
4730 | }; | ||
4731 | } | ||
4732 | { | ||
4733 | name = "is_descriptor___is_descriptor_1.0.2.tgz"; | ||
4734 | path = fetchurl { | ||
4735 | name = "is_descriptor___is_descriptor_1.0.2.tgz"; | ||
4736 | url = "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz"; | ||
4737 | sha1 = "3b159746a66604b04f8c81524ba365c5f14d86ec"; | ||
4738 | }; | ||
4739 | } | ||
4740 | { | ||
4741 | name = "is_directory___is_directory_0.3.1.tgz"; | ||
4742 | path = fetchurl { | ||
4743 | name = "is_directory___is_directory_0.3.1.tgz"; | ||
4744 | url = "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz"; | ||
4745 | sha1 = "61339b6f2475fc772fd9c9d83f5c8575dc154ae1"; | ||
4746 | }; | ||
4747 | } | ||
4748 | { | ||
4749 | name = "is_docker___is_docker_2.0.0.tgz"; | ||
4750 | path = fetchurl { | ||
4751 | name = "is_docker___is_docker_2.0.0.tgz"; | ||
4752 | url = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz"; | ||
4753 | sha1 = "2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b"; | ||
4754 | }; | ||
4755 | } | ||
4756 | { | ||
4757 | name = "is_extendable___is_extendable_0.1.1.tgz"; | ||
4758 | path = fetchurl { | ||
4759 | name = "is_extendable___is_extendable_0.1.1.tgz"; | ||
4760 | url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz"; | ||
4761 | sha1 = "62b110e289a471418e3ec36a617d472e301dfc89"; | ||
4762 | }; | ||
4763 | } | ||
4764 | { | ||
4765 | name = "is_extendable___is_extendable_1.0.1.tgz"; | ||
4766 | path = fetchurl { | ||
4767 | name = "is_extendable___is_extendable_1.0.1.tgz"; | ||
4768 | url = "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz"; | ||
4769 | sha1 = "a7470f9e426733d81bd81e1155264e3a3507cab4"; | ||
4770 | }; | ||
4771 | } | ||
4772 | { | ||
4773 | name = "is_extglob___is_extglob_2.1.1.tgz"; | ||
4774 | path = fetchurl { | ||
4775 | name = "is_extglob___is_extglob_2.1.1.tgz"; | ||
4776 | url = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz"; | ||
4777 | sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2"; | ||
4778 | }; | ||
4779 | } | ||
4780 | { | ||
4781 | name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; | ||
4782 | path = fetchurl { | ||
4783 | name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz"; | ||
4784 | url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz"; | ||
4785 | sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f"; | ||
4786 | }; | ||
4787 | } | ||
4788 | { | ||
4789 | name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz"; | ||
4790 | path = fetchurl { | ||
4791 | name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz"; | ||
4792 | url = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"; | ||
4793 | sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d"; | ||
4794 | }; | ||
4795 | } | ||
4796 | { | ||
4797 | name = "is_glob___is_glob_3.1.0.tgz"; | ||
4798 | path = fetchurl { | ||
4799 | name = "is_glob___is_glob_3.1.0.tgz"; | ||
4800 | url = "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz"; | ||
4801 | sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a"; | ||
4802 | }; | ||
4803 | } | ||
4804 | { | ||
4805 | name = "is_glob___is_glob_4.0.1.tgz"; | ||
4806 | path = fetchurl { | ||
4807 | name = "is_glob___is_glob_4.0.1.tgz"; | ||
4808 | url = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz"; | ||
4809 | sha1 = "7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"; | ||
4810 | }; | ||
4811 | } | ||
4812 | { | ||
4813 | name = "is_number___is_number_3.0.0.tgz"; | ||
4814 | path = fetchurl { | ||
4815 | name = "is_number___is_number_3.0.0.tgz"; | ||
4816 | url = "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz"; | ||
4817 | sha1 = "24fd6201a4782cf50561c810276afc7d12d71195"; | ||
4818 | }; | ||
4819 | } | ||
4820 | { | ||
4821 | name = "is_number___is_number_7.0.0.tgz"; | ||
4822 | path = fetchurl { | ||
4823 | name = "is_number___is_number_7.0.0.tgz"; | ||
4824 | url = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz"; | ||
4825 | sha1 = "7535345b896734d5f80c4d06c50955527a14f12b"; | ||
4826 | }; | ||
4827 | } | ||
4828 | { | ||
4829 | name = "is_obj___is_obj_1.0.1.tgz"; | ||
4830 | path = fetchurl { | ||
4831 | name = "is_obj___is_obj_1.0.1.tgz"; | ||
4832 | url = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz"; | ||
4833 | sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"; | ||
4834 | }; | ||
4835 | } | ||
4836 | { | ||
4837 | name = "is_obj___is_obj_2.0.0.tgz"; | ||
4838 | path = fetchurl { | ||
4839 | name = "is_obj___is_obj_2.0.0.tgz"; | ||
4840 | url = "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz"; | ||
4841 | sha1 = "473fb05d973705e3fd9620545018ca8e22ef4982"; | ||
4842 | }; | ||
4843 | } | ||
4844 | { | ||
4845 | name = "is_path_cwd___is_path_cwd_2.2.0.tgz"; | ||
4846 | path = fetchurl { | ||
4847 | name = "is_path_cwd___is_path_cwd_2.2.0.tgz"; | ||
4848 | url = "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz"; | ||
4849 | sha1 = "67d43b82664a7b5191fd9119127eb300048a9fdb"; | ||
4850 | }; | ||
4851 | } | ||
4852 | { | ||
4853 | name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz"; | ||
4854 | path = fetchurl { | ||
4855 | name = "is_path_in_cwd___is_path_in_cwd_2.1.0.tgz"; | ||
4856 | url = "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz"; | ||
4857 | sha1 = "bfe2dca26c69f397265a4009963602935a053acb"; | ||
4858 | }; | ||
4859 | } | ||
4860 | { | ||
4861 | name = "is_path_inside___is_path_inside_2.1.0.tgz"; | ||
4862 | path = fetchurl { | ||
4863 | name = "is_path_inside___is_path_inside_2.1.0.tgz"; | ||
4864 | url = "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz"; | ||
4865 | sha1 = "7c9810587d659a40d27bcdb4d5616eab059494b2"; | ||
4866 | }; | ||
4867 | } | ||
4868 | { | ||
4869 | name = "is_plain_obj___is_plain_obj_1.1.0.tgz"; | ||
4870 | path = fetchurl { | ||
4871 | name = "is_plain_obj___is_plain_obj_1.1.0.tgz"; | ||
4872 | url = "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz"; | ||
4873 | sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e"; | ||
4874 | }; | ||
4875 | } | ||
4876 | { | ||
4877 | name = "is_plain_object___is_plain_object_2.0.4.tgz"; | ||
4878 | path = fetchurl { | ||
4879 | name = "is_plain_object___is_plain_object_2.0.4.tgz"; | ||
4880 | url = "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz"; | ||
4881 | sha1 = "2c163b3fafb1b606d9d17928f05c2a1c38e07677"; | ||
4882 | }; | ||
4883 | } | ||
4884 | { | ||
4885 | name = "is_regex___is_regex_1.1.0.tgz"; | ||
4886 | path = fetchurl { | ||
4887 | name = "is_regex___is_regex_1.1.0.tgz"; | ||
4888 | url = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz"; | ||
4889 | sha1 = "ece38e389e490df0dc21caea2bd596f987f767ff"; | ||
4890 | }; | ||
4891 | } | ||
4892 | { | ||
4893 | name = "is_regexp___is_regexp_1.0.0.tgz"; | ||
4894 | path = fetchurl { | ||
4895 | name = "is_regexp___is_regexp_1.0.0.tgz"; | ||
4896 | url = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz"; | ||
4897 | sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069"; | ||
4898 | }; | ||
4899 | } | ||
4900 | { | ||
4901 | name = "is_resolvable___is_resolvable_1.1.0.tgz"; | ||
4902 | path = fetchurl { | ||
4903 | name = "is_resolvable___is_resolvable_1.1.0.tgz"; | ||
4904 | url = "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz"; | ||
4905 | sha1 = "fb18f87ce1feb925169c9a407c19318a3206ed88"; | ||
4906 | }; | ||
4907 | } | ||
4908 | { | ||
4909 | name = "is_stream___is_stream_1.1.0.tgz"; | ||
4910 | path = fetchurl { | ||
4911 | name = "is_stream___is_stream_1.1.0.tgz"; | ||
4912 | url = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz"; | ||
4913 | sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"; | ||
4914 | }; | ||
4915 | } | ||
4916 | { | ||
4917 | name = "is_stream___is_stream_2.0.0.tgz"; | ||
4918 | path = fetchurl { | ||
4919 | name = "is_stream___is_stream_2.0.0.tgz"; | ||
4920 | url = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz"; | ||
4921 | sha1 = "bde9c32680d6fae04129d6ac9d921ce7815f78e3"; | ||
4922 | }; | ||
4923 | } | ||
4924 | { | ||
4925 | name = "is_svg___is_svg_3.0.0.tgz"; | ||
4926 | path = fetchurl { | ||
4927 | name = "is_svg___is_svg_3.0.0.tgz"; | ||
4928 | url = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz"; | ||
4929 | sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75"; | ||
4930 | }; | ||
4931 | } | ||
4932 | { | ||
4933 | name = "is_symbol___is_symbol_1.0.3.tgz"; | ||
4934 | path = fetchurl { | ||
4935 | name = "is_symbol___is_symbol_1.0.3.tgz"; | ||
4936 | url = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz"; | ||
4937 | sha1 = "38e1014b9e6329be0de9d24a414fd7441ec61937"; | ||
4938 | }; | ||
4939 | } | ||
4940 | { | ||
4941 | name = "is_typedarray___is_typedarray_1.0.0.tgz"; | ||
4942 | path = fetchurl { | ||
4943 | name = "is_typedarray___is_typedarray_1.0.0.tgz"; | ||
4944 | url = "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz"; | ||
4945 | sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a"; | ||
4946 | }; | ||
4947 | } | ||
4948 | { | ||
4949 | name = "is_windows___is_windows_1.0.2.tgz"; | ||
4950 | path = fetchurl { | ||
4951 | name = "is_windows___is_windows_1.0.2.tgz"; | ||
4952 | url = "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz"; | ||
4953 | sha1 = "d1850eb9791ecd18e6182ce12a30f396634bb19d"; | ||
4954 | }; | ||
4955 | } | ||
4956 | { | ||
4957 | name = "is_wsl___is_wsl_1.1.0.tgz"; | ||
4958 | path = fetchurl { | ||
4959 | name = "is_wsl___is_wsl_1.1.0.tgz"; | ||
4960 | url = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz"; | ||
4961 | sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d"; | ||
4962 | }; | ||
4963 | } | ||
4964 | { | ||
4965 | name = "is_wsl___is_wsl_2.2.0.tgz"; | ||
4966 | path = fetchurl { | ||
4967 | name = "is_wsl___is_wsl_2.2.0.tgz"; | ||
4968 | url = "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz"; | ||
4969 | sha1 = "74a4c76e77ca9fd3f932f290c17ea326cd157271"; | ||
4970 | }; | ||
4971 | } | ||
4972 | { | ||
4973 | name = "isarray___isarray_1.0.0.tgz"; | ||
4974 | path = fetchurl { | ||
4975 | name = "isarray___isarray_1.0.0.tgz"; | ||
4976 | url = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz"; | ||
4977 | sha1 = "bb935d48582cba168c06834957a54a3e07124f11"; | ||
4978 | }; | ||
4979 | } | ||
4980 | { | ||
4981 | name = "isexe___isexe_2.0.0.tgz"; | ||
4982 | path = fetchurl { | ||
4983 | name = "isexe___isexe_2.0.0.tgz"; | ||
4984 | url = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz"; | ||
4985 | sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10"; | ||
4986 | }; | ||
4987 | } | ||
4988 | { | ||
4989 | name = "isobject___isobject_2.1.0.tgz"; | ||
4990 | path = fetchurl { | ||
4991 | name = "isobject___isobject_2.1.0.tgz"; | ||
4992 | url = "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz"; | ||
4993 | sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89"; | ||
4994 | }; | ||
4995 | } | ||
4996 | { | ||
4997 | name = "isobject___isobject_3.0.1.tgz"; | ||
4998 | path = fetchurl { | ||
4999 | name = "isobject___isobject_3.0.1.tgz"; | ||
5000 | url = "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz"; | ||
5001 | sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"; | ||
5002 | }; | ||
5003 | } | ||
5004 | { | ||
5005 | name = "isstream___isstream_0.1.2.tgz"; | ||
5006 | path = fetchurl { | ||
5007 | name = "isstream___isstream_0.1.2.tgz"; | ||
5008 | url = "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz"; | ||
5009 | sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a"; | ||
5010 | }; | ||
5011 | } | ||
5012 | { | ||
5013 | name = "javascript_stringify___javascript_stringify_2.0.1.tgz"; | ||
5014 | path = fetchurl { | ||
5015 | name = "javascript_stringify___javascript_stringify_2.0.1.tgz"; | ||
5016 | url = "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.0.1.tgz"; | ||
5017 | sha1 = "6ef358035310e35d667c675ed63d3eb7c1aa19e5"; | ||
5018 | }; | ||
5019 | } | ||
5020 | { | ||
5021 | name = "jest_worker___jest_worker_25.5.0.tgz"; | ||
5022 | path = fetchurl { | ||
5023 | name = "jest_worker___jest_worker_25.5.0.tgz"; | ||
5024 | url = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.5.0.tgz"; | ||
5025 | sha1 = "2611d071b79cea0f43ee57a3d118593ac1547db1"; | ||
5026 | }; | ||
5027 | } | ||
5028 | { | ||
5029 | name = "js_message___js_message_1.0.5.tgz"; | ||
5030 | path = fetchurl { | ||
5031 | name = "js_message___js_message_1.0.5.tgz"; | ||
5032 | url = "https://registry.yarnpkg.com/js-message/-/js-message-1.0.5.tgz"; | ||
5033 | sha1 = "2300d24b1af08e89dd095bc1a4c9c9cfcb892d15"; | ||
5034 | }; | ||
5035 | } | ||
5036 | { | ||
5037 | name = "js_queue___js_queue_2.0.0.tgz"; | ||
5038 | path = fetchurl { | ||
5039 | name = "js_queue___js_queue_2.0.0.tgz"; | ||
5040 | url = "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.0.tgz"; | ||
5041 | sha1 = "362213cf860f468f0125fc6c96abc1742531f948"; | ||
5042 | }; | ||
5043 | } | ||
5044 | { | ||
5045 | name = "js_tokens___js_tokens_4.0.0.tgz"; | ||
5046 | path = fetchurl { | ||
5047 | name = "js_tokens___js_tokens_4.0.0.tgz"; | ||
5048 | url = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz"; | ||
5049 | sha1 = "19203fb59991df98e3a287050d4647cdeaf32499"; | ||
5050 | }; | ||
5051 | } | ||
5052 | { | ||
5053 | name = "js_yaml___js_yaml_3.14.0.tgz"; | ||
5054 | path = fetchurl { | ||
5055 | name = "js_yaml___js_yaml_3.14.0.tgz"; | ||
5056 | url = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz"; | ||
5057 | sha1 = "a7a34170f26a21bb162424d8adacb4113a69e482"; | ||
5058 | }; | ||
5059 | } | ||
5060 | { | ||
5061 | name = "jsbn___jsbn_0.1.1.tgz"; | ||
5062 | path = fetchurl { | ||
5063 | name = "jsbn___jsbn_0.1.1.tgz"; | ||
5064 | url = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz"; | ||
5065 | sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"; | ||
5066 | }; | ||
5067 | } | ||
5068 | { | ||
5069 | name = "jsesc___jsesc_2.5.2.tgz"; | ||
5070 | path = fetchurl { | ||
5071 | name = "jsesc___jsesc_2.5.2.tgz"; | ||
5072 | url = "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz"; | ||
5073 | sha1 = "80564d2e483dacf6e8ef209650a67df3f0c283a4"; | ||
5074 | }; | ||
5075 | } | ||
5076 | { | ||
5077 | name = "jsesc___jsesc_0.5.0.tgz"; | ||
5078 | path = fetchurl { | ||
5079 | name = "jsesc___jsesc_0.5.0.tgz"; | ||
5080 | url = "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz"; | ||
5081 | sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d"; | ||
5082 | }; | ||
5083 | } | ||
5084 | { | ||
5085 | name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; | ||
5086 | path = fetchurl { | ||
5087 | name = "json_parse_better_errors___json_parse_better_errors_1.0.2.tgz"; | ||
5088 | url = "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"; | ||
5089 | sha1 = "bb867cfb3450e69107c131d1c514bab3dc8bcaa9"; | ||
5090 | }; | ||
5091 | } | ||
5092 | { | ||
5093 | name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; | ||
5094 | path = fetchurl { | ||
5095 | name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz"; | ||
5096 | url = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"; | ||
5097 | sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660"; | ||
5098 | }; | ||
5099 | } | ||
5100 | { | ||
5101 | name = "json_schema___json_schema_0.2.3.tgz"; | ||
5102 | path = fetchurl { | ||
5103 | name = "json_schema___json_schema_0.2.3.tgz"; | ||
5104 | url = "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz"; | ||
5105 | sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13"; | ||
5106 | }; | ||
5107 | } | ||
5108 | { | ||
5109 | name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; | ||
5110 | path = fetchurl { | ||
5111 | name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz"; | ||
5112 | url = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"; | ||
5113 | sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651"; | ||
5114 | }; | ||
5115 | } | ||
5116 | { | ||
5117 | name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; | ||
5118 | path = fetchurl { | ||
5119 | name = "json_stable_stringify___json_stable_stringify_1.0.1.tgz"; | ||
5120 | url = "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz"; | ||
5121 | sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af"; | ||
5122 | }; | ||
5123 | } | ||
5124 | { | ||
5125 | name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; | ||
5126 | path = fetchurl { | ||
5127 | name = "json_stringify_safe___json_stringify_safe_5.0.1.tgz"; | ||
5128 | url = "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"; | ||
5129 | sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"; | ||
5130 | }; | ||
5131 | } | ||
5132 | { | ||
5133 | name = "json3___json3_3.3.3.tgz"; | ||
5134 | path = fetchurl { | ||
5135 | name = "json3___json3_3.3.3.tgz"; | ||
5136 | url = "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz"; | ||
5137 | sha1 = "7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"; | ||
5138 | }; | ||
5139 | } | ||
5140 | { | ||
5141 | name = "json5___json5_0.5.1.tgz"; | ||
5142 | path = fetchurl { | ||
5143 | name = "json5___json5_0.5.1.tgz"; | ||
5144 | url = "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz"; | ||
5145 | sha1 = "1eade7acc012034ad84e2396767ead9fa5495821"; | ||
5146 | }; | ||
5147 | } | ||
5148 | { | ||
5149 | name = "json5___json5_1.0.1.tgz"; | ||
5150 | path = fetchurl { | ||
5151 | name = "json5___json5_1.0.1.tgz"; | ||
5152 | url = "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz"; | ||
5153 | sha1 = "779fb0018604fa854eacbf6252180d83543e3dbe"; | ||
5154 | }; | ||
5155 | } | ||
5156 | { | ||
5157 | name = "json5___json5_2.1.3.tgz"; | ||
5158 | path = fetchurl { | ||
5159 | name = "json5___json5_2.1.3.tgz"; | ||
5160 | url = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz"; | ||
5161 | sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"; | ||
5162 | }; | ||
5163 | } | ||
5164 | { | ||
5165 | name = "jsonfile___jsonfile_4.0.0.tgz"; | ||
5166 | path = fetchurl { | ||
5167 | name = "jsonfile___jsonfile_4.0.0.tgz"; | ||
5168 | url = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz"; | ||
5169 | sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb"; | ||
5170 | }; | ||
5171 | } | ||
5172 | { | ||
5173 | name = "jsonify___jsonify_0.0.0.tgz"; | ||
5174 | path = fetchurl { | ||
5175 | name = "jsonify___jsonify_0.0.0.tgz"; | ||
5176 | url = "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz"; | ||
5177 | sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73"; | ||
5178 | }; | ||
5179 | } | ||
5180 | { | ||
5181 | name = "jsprim___jsprim_1.4.1.tgz"; | ||
5182 | path = fetchurl { | ||
5183 | name = "jsprim___jsprim_1.4.1.tgz"; | ||
5184 | url = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz"; | ||
5185 | sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"; | ||
5186 | }; | ||
5187 | } | ||
5188 | { | ||
5189 | name = "killable___killable_1.0.1.tgz"; | ||
5190 | path = fetchurl { | ||
5191 | name = "killable___killable_1.0.1.tgz"; | ||
5192 | url = "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz"; | ||
5193 | sha1 = "4c8ce441187a061c7474fb87ca08e2a638194892"; | ||
5194 | }; | ||
5195 | } | ||
5196 | { | ||
5197 | name = "kind_of___kind_of_3.2.2.tgz"; | ||
5198 | path = fetchurl { | ||
5199 | name = "kind_of___kind_of_3.2.2.tgz"; | ||
5200 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz"; | ||
5201 | sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64"; | ||
5202 | }; | ||
5203 | } | ||
5204 | { | ||
5205 | name = "kind_of___kind_of_4.0.0.tgz"; | ||
5206 | path = fetchurl { | ||
5207 | name = "kind_of___kind_of_4.0.0.tgz"; | ||
5208 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz"; | ||
5209 | sha1 = "20813df3d712928b207378691a45066fae72dd57"; | ||
5210 | }; | ||
5211 | } | ||
5212 | { | ||
5213 | name = "kind_of___kind_of_5.1.0.tgz"; | ||
5214 | path = fetchurl { | ||
5215 | name = "kind_of___kind_of_5.1.0.tgz"; | ||
5216 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz"; | ||
5217 | sha1 = "729c91e2d857b7a419a1f9aa65685c4c33f5845d"; | ||
5218 | }; | ||
5219 | } | ||
5220 | { | ||
5221 | name = "kind_of___kind_of_6.0.3.tgz"; | ||
5222 | path = fetchurl { | ||
5223 | name = "kind_of___kind_of_6.0.3.tgz"; | ||
5224 | url = "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz"; | ||
5225 | sha1 = "07c05034a6c349fa06e24fa35aa76db4580ce4dd"; | ||
5226 | }; | ||
5227 | } | ||
5228 | { | ||
5229 | name = "launch_editor_middleware___launch_editor_middleware_2.2.1.tgz"; | ||
5230 | path = fetchurl { | ||
5231 | name = "launch_editor_middleware___launch_editor_middleware_2.2.1.tgz"; | ||
5232 | url = "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz"; | ||
5233 | sha1 = "e14b07e6c7154b0a4b86a0fd345784e45804c157"; | ||
5234 | }; | ||
5235 | } | ||
5236 | { | ||
5237 | name = "launch_editor___launch_editor_2.2.1.tgz"; | ||
5238 | path = fetchurl { | ||
5239 | name = "launch_editor___launch_editor_2.2.1.tgz"; | ||
5240 | url = "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.2.1.tgz"; | ||
5241 | sha1 = "871b5a3ee39d6680fcc26d37930b6eeda89db0ca"; | ||
5242 | }; | ||
5243 | } | ||
5244 | { | ||
5245 | name = "leven___leven_3.1.0.tgz"; | ||
5246 | path = fetchurl { | ||
5247 | name = "leven___leven_3.1.0.tgz"; | ||
5248 | url = "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz"; | ||
5249 | sha1 = "77891de834064cccba82ae7842bb6b14a13ed7f2"; | ||
5250 | }; | ||
5251 | } | ||
5252 | { | ||
5253 | name = "levenary___levenary_1.1.1.tgz"; | ||
5254 | path = fetchurl { | ||
5255 | name = "levenary___levenary_1.1.1.tgz"; | ||
5256 | url = "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz"; | ||
5257 | sha1 = "842a9ee98d2075aa7faeedbe32679e9205f46f77"; | ||
5258 | }; | ||
5259 | } | ||
5260 | { | ||
5261 | name = "levn___levn_0.4.1.tgz"; | ||
5262 | path = fetchurl { | ||
5263 | name = "levn___levn_0.4.1.tgz"; | ||
5264 | url = "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz"; | ||
5265 | sha1 = "ae4562c007473b932a6200d403268dd2fffc6ade"; | ||
5266 | }; | ||
5267 | } | ||
5268 | { | ||
5269 | name = "lines_and_columns___lines_and_columns_1.1.6.tgz"; | ||
5270 | path = fetchurl { | ||
5271 | name = "lines_and_columns___lines_and_columns_1.1.6.tgz"; | ||
5272 | url = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz"; | ||
5273 | sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00"; | ||
5274 | }; | ||
5275 | } | ||
5276 | { | ||
5277 | name = "loader_fs_cache___loader_fs_cache_1.0.3.tgz"; | ||
5278 | path = fetchurl { | ||
5279 | name = "loader_fs_cache___loader_fs_cache_1.0.3.tgz"; | ||
5280 | url = "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz"; | ||
5281 | sha1 = "f08657646d607078be2f0a032f8bd69dd6f277d9"; | ||
5282 | }; | ||
5283 | } | ||
5284 | { | ||
5285 | name = "loader_runner___loader_runner_2.4.0.tgz"; | ||
5286 | path = fetchurl { | ||
5287 | name = "loader_runner___loader_runner_2.4.0.tgz"; | ||
5288 | url = "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz"; | ||
5289 | sha1 = "ed47066bfe534d7e84c4c7b9998c2a75607d9357"; | ||
5290 | }; | ||
5291 | } | ||
5292 | { | ||
5293 | name = "loader_utils___loader_utils_0.2.17.tgz"; | ||
5294 | path = fetchurl { | ||
5295 | name = "loader_utils___loader_utils_0.2.17.tgz"; | ||
5296 | url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz"; | ||
5297 | sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348"; | ||
5298 | }; | ||
5299 | } | ||
5300 | { | ||
5301 | name = "loader_utils___loader_utils_1.4.0.tgz"; | ||
5302 | path = fetchurl { | ||
5303 | name = "loader_utils___loader_utils_1.4.0.tgz"; | ||
5304 | url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz"; | ||
5305 | sha1 = "c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"; | ||
5306 | }; | ||
5307 | } | ||
5308 | { | ||
5309 | name = "loader_utils___loader_utils_2.0.0.tgz"; | ||
5310 | path = fetchurl { | ||
5311 | name = "loader_utils___loader_utils_2.0.0.tgz"; | ||
5312 | url = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz"; | ||
5313 | sha1 = "e4cace5b816d425a166b5f097e10cd12b36064b0"; | ||
5314 | }; | ||
5315 | } | ||
5316 | { | ||
5317 | name = "locate_path___locate_path_2.0.0.tgz"; | ||
5318 | path = fetchurl { | ||
5319 | name = "locate_path___locate_path_2.0.0.tgz"; | ||
5320 | url = "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz"; | ||
5321 | sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"; | ||
5322 | }; | ||
5323 | } | ||
5324 | { | ||
5325 | name = "locate_path___locate_path_3.0.0.tgz"; | ||
5326 | path = fetchurl { | ||
5327 | name = "locate_path___locate_path_3.0.0.tgz"; | ||
5328 | url = "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz"; | ||
5329 | sha1 = "dbec3b3ab759758071b58fe59fc41871af21400e"; | ||
5330 | }; | ||
5331 | } | ||
5332 | { | ||
5333 | name = "locate_path___locate_path_5.0.0.tgz"; | ||
5334 | path = fetchurl { | ||
5335 | name = "locate_path___locate_path_5.0.0.tgz"; | ||
5336 | url = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz"; | ||
5337 | sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0"; | ||
5338 | }; | ||
5339 | } | ||
5340 | { | ||
5341 | name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; | ||
5342 | path = fetchurl { | ||
5343 | name = "lodash._reinterpolate___lodash._reinterpolate_3.0.0.tgz"; | ||
5344 | url = "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"; | ||
5345 | sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d"; | ||
5346 | }; | ||
5347 | } | ||
5348 | { | ||
5349 | name = "lodash.defaultsdeep___lodash.defaultsdeep_4.6.1.tgz"; | ||
5350 | path = fetchurl { | ||
5351 | name = "lodash.defaultsdeep___lodash.defaultsdeep_4.6.1.tgz"; | ||
5352 | url = "https://registry.yarnpkg.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz"; | ||
5353 | sha1 = "512e9bd721d272d94e3d3a63653fa17516741ca6"; | ||
5354 | }; | ||
5355 | } | ||
5356 | { | ||
5357 | name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz"; | ||
5358 | path = fetchurl { | ||
5359 | name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz"; | ||
5360 | url = "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"; | ||
5361 | sha1 = "8489b1cb0d29ff88195cceca448ff6d6cc295c36"; | ||
5362 | }; | ||
5363 | } | ||
5364 | { | ||
5365 | name = "lodash.mapvalues___lodash.mapvalues_4.6.0.tgz"; | ||
5366 | path = fetchurl { | ||
5367 | name = "lodash.mapvalues___lodash.mapvalues_4.6.0.tgz"; | ||
5368 | url = "https://registry.yarnpkg.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz"; | ||
5369 | sha1 = "1bafa5005de9dd6f4f26668c30ca37230cc9689c"; | ||
5370 | }; | ||
5371 | } | ||
5372 | { | ||
5373 | name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; | ||
5374 | path = fetchurl { | ||
5375 | name = "lodash.memoize___lodash.memoize_4.1.2.tgz"; | ||
5376 | url = "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz"; | ||
5377 | sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe"; | ||
5378 | }; | ||
5379 | } | ||
5380 | { | ||
5381 | name = "lodash.merge___lodash.merge_4.6.2.tgz"; | ||
5382 | path = fetchurl { | ||
5383 | name = "lodash.merge___lodash.merge_4.6.2.tgz"; | ||
5384 | url = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz"; | ||
5385 | sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a"; | ||
5386 | }; | ||
5387 | } | ||
5388 | { | ||
5389 | name = "lodash.template___lodash.template_4.5.0.tgz"; | ||
5390 | path = fetchurl { | ||
5391 | name = "lodash.template___lodash.template_4.5.0.tgz"; | ||
5392 | url = "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz"; | ||
5393 | sha1 = "f976195cf3f347d0d5f52483569fe8031ccce8ab"; | ||
5394 | }; | ||
5395 | } | ||
5396 | { | ||
5397 | name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz"; | ||
5398 | path = fetchurl { | ||
5399 | name = "lodash.templatesettings___lodash.templatesettings_4.2.0.tgz"; | ||
5400 | url = "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz"; | ||
5401 | sha1 = "e481310f049d3cf6d47e912ad09313b154f0fb33"; | ||
5402 | }; | ||
5403 | } | ||
5404 | { | ||
5405 | name = "lodash.transform___lodash.transform_4.6.0.tgz"; | ||
5406 | path = fetchurl { | ||
5407 | name = "lodash.transform___lodash.transform_4.6.0.tgz"; | ||
5408 | url = "https://registry.yarnpkg.com/lodash.transform/-/lodash.transform-4.6.0.tgz"; | ||
5409 | sha1 = "12306422f63324aed8483d3f38332b5f670547a0"; | ||
5410 | }; | ||
5411 | } | ||
5412 | { | ||
5413 | name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; | ||
5414 | path = fetchurl { | ||
5415 | name = "lodash.uniq___lodash.uniq_4.5.0.tgz"; | ||
5416 | url = "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz"; | ||
5417 | sha1 = "d0225373aeb652adc1bc82e4945339a842754773"; | ||
5418 | }; | ||
5419 | } | ||
5420 | { | ||
5421 | name = "lodash___lodash_4.17.15.tgz"; | ||
5422 | path = fetchurl { | ||
5423 | name = "lodash___lodash_4.17.15.tgz"; | ||
5424 | url = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz"; | ||
5425 | sha1 = "b447f6670a0455bbfeedd11392eff330ea097548"; | ||
5426 | }; | ||
5427 | } | ||
5428 | { | ||
5429 | name = "log_symbols___log_symbols_2.2.0.tgz"; | ||
5430 | path = fetchurl { | ||
5431 | name = "log_symbols___log_symbols_2.2.0.tgz"; | ||
5432 | url = "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz"; | ||
5433 | sha1 = "5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"; | ||
5434 | }; | ||
5435 | } | ||
5436 | { | ||
5437 | name = "loglevel___loglevel_1.6.8.tgz"; | ||
5438 | path = fetchurl { | ||
5439 | name = "loglevel___loglevel_1.6.8.tgz"; | ||
5440 | url = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz"; | ||
5441 | sha1 = "8a25fb75d092230ecd4457270d80b54e28011171"; | ||
5442 | }; | ||
5443 | } | ||
5444 | { | ||
5445 | name = "loose_envify___loose_envify_1.4.0.tgz"; | ||
5446 | path = fetchurl { | ||
5447 | name = "loose_envify___loose_envify_1.4.0.tgz"; | ||
5448 | url = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz"; | ||
5449 | sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf"; | ||
5450 | }; | ||
5451 | } | ||
5452 | { | ||
5453 | name = "lower_case___lower_case_1.1.4.tgz"; | ||
5454 | path = fetchurl { | ||
5455 | name = "lower_case___lower_case_1.1.4.tgz"; | ||
5456 | url = "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz"; | ||
5457 | sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"; | ||
5458 | }; | ||
5459 | } | ||
5460 | { | ||
5461 | name = "lru_cache___lru_cache_4.1.5.tgz"; | ||
5462 | path = fetchurl { | ||
5463 | name = "lru_cache___lru_cache_4.1.5.tgz"; | ||
5464 | url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz"; | ||
5465 | sha1 = "8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"; | ||
5466 | }; | ||
5467 | } | ||
5468 | { | ||
5469 | name = "lru_cache___lru_cache_5.1.1.tgz"; | ||
5470 | path = fetchurl { | ||
5471 | name = "lru_cache___lru_cache_5.1.1.tgz"; | ||
5472 | url = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz"; | ||
5473 | sha1 = "1da27e6710271947695daf6848e847f01d84b920"; | ||
5474 | }; | ||
5475 | } | ||
5476 | { | ||
5477 | name = "make_dir___make_dir_2.1.0.tgz"; | ||
5478 | path = fetchurl { | ||
5479 | name = "make_dir___make_dir_2.1.0.tgz"; | ||
5480 | url = "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz"; | ||
5481 | sha1 = "5f0310e18b8be898cc07009295a30ae41e91e6f5"; | ||
5482 | }; | ||
5483 | } | ||
5484 | { | ||
5485 | name = "make_dir___make_dir_3.1.0.tgz"; | ||
5486 | path = fetchurl { | ||
5487 | name = "make_dir___make_dir_3.1.0.tgz"; | ||
5488 | url = "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz"; | ||
5489 | sha1 = "415e967046b3a7f1d185277d84aa58203726a13f"; | ||
5490 | }; | ||
5491 | } | ||
5492 | { | ||
5493 | name = "map_cache___map_cache_0.2.2.tgz"; | ||
5494 | path = fetchurl { | ||
5495 | name = "map_cache___map_cache_0.2.2.tgz"; | ||
5496 | url = "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz"; | ||
5497 | sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"; | ||
5498 | }; | ||
5499 | } | ||
5500 | { | ||
5501 | name = "map_visit___map_visit_1.0.0.tgz"; | ||
5502 | path = fetchurl { | ||
5503 | name = "map_visit___map_visit_1.0.0.tgz"; | ||
5504 | url = "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz"; | ||
5505 | sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"; | ||
5506 | }; | ||
5507 | } | ||
5508 | { | ||
5509 | name = "md5.js___md5.js_1.3.5.tgz"; | ||
5510 | path = fetchurl { | ||
5511 | name = "md5.js___md5.js_1.3.5.tgz"; | ||
5512 | url = "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz"; | ||
5513 | sha1 = "b5d07b8e3216e3e27cd728d72f70d1e6a342005f"; | ||
5514 | }; | ||
5515 | } | ||
5516 | { | ||
5517 | name = "mdn_data___mdn_data_2.0.4.tgz"; | ||
5518 | path = fetchurl { | ||
5519 | name = "mdn_data___mdn_data_2.0.4.tgz"; | ||
5520 | url = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz"; | ||
5521 | sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b"; | ||
5522 | }; | ||
5523 | } | ||
5524 | { | ||
5525 | name = "mdn_data___mdn_data_2.0.6.tgz"; | ||
5526 | path = fetchurl { | ||
5527 | name = "mdn_data___mdn_data_2.0.6.tgz"; | ||
5528 | url = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz"; | ||
5529 | sha1 = "852dc60fcaa5daa2e8cf6c9189c440ed3e042978"; | ||
5530 | }; | ||
5531 | } | ||
5532 | { | ||
5533 | name = "media_typer___media_typer_0.3.0.tgz"; | ||
5534 | path = fetchurl { | ||
5535 | name = "media_typer___media_typer_0.3.0.tgz"; | ||
5536 | url = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz"; | ||
5537 | sha1 = "8710d7af0aa626f8fffa1ce00168545263255748"; | ||
5538 | }; | ||
5539 | } | ||
5540 | { | ||
5541 | name = "memory_fs___memory_fs_0.4.1.tgz"; | ||
5542 | path = fetchurl { | ||
5543 | name = "memory_fs___memory_fs_0.4.1.tgz"; | ||
5544 | url = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz"; | ||
5545 | sha1 = "3a9a20b8462523e447cfbc7e8bb80ed667bfc552"; | ||
5546 | }; | ||
5547 | } | ||
5548 | { | ||
5549 | name = "memory_fs___memory_fs_0.5.0.tgz"; | ||
5550 | path = fetchurl { | ||
5551 | name = "memory_fs___memory_fs_0.5.0.tgz"; | ||
5552 | url = "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz"; | ||
5553 | sha1 = "324c01288b88652966d161db77838720845a8e3c"; | ||
5554 | }; | ||
5555 | } | ||
5556 | { | ||
5557 | name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; | ||
5558 | path = fetchurl { | ||
5559 | name = "merge_descriptors___merge_descriptors_1.0.1.tgz"; | ||
5560 | url = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz"; | ||
5561 | sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61"; | ||
5562 | }; | ||
5563 | } | ||
5564 | { | ||
5565 | name = "merge_source_map___merge_source_map_1.1.0.tgz"; | ||
5566 | path = fetchurl { | ||
5567 | name = "merge_source_map___merge_source_map_1.1.0.tgz"; | ||
5568 | url = "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz"; | ||
5569 | sha1 = "2fdde7e6020939f70906a68f2d7ae685e4c8c646"; | ||
5570 | }; | ||
5571 | } | ||
5572 | { | ||
5573 | name = "merge_stream___merge_stream_2.0.0.tgz"; | ||
5574 | path = fetchurl { | ||
5575 | name = "merge_stream___merge_stream_2.0.0.tgz"; | ||
5576 | url = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz"; | ||
5577 | sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60"; | ||
5578 | }; | ||
5579 | } | ||
5580 | { | ||
5581 | name = "merge2___merge2_1.4.1.tgz"; | ||
5582 | path = fetchurl { | ||
5583 | name = "merge2___merge2_1.4.1.tgz"; | ||
5584 | url = "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz"; | ||
5585 | sha1 = "4368892f885e907455a6fd7dc55c0c9d404990ae"; | ||
5586 | }; | ||
5587 | } | ||
5588 | { | ||
5589 | name = "methods___methods_1.1.2.tgz"; | ||
5590 | path = fetchurl { | ||
5591 | name = "methods___methods_1.1.2.tgz"; | ||
5592 | url = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz"; | ||
5593 | sha1 = "5529a4d67654134edcc5266656835b0f851afcee"; | ||
5594 | }; | ||
5595 | } | ||
5596 | { | ||
5597 | name = "micromatch___micromatch_3.1.10.tgz"; | ||
5598 | path = fetchurl { | ||
5599 | name = "micromatch___micromatch_3.1.10.tgz"; | ||
5600 | url = "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz"; | ||
5601 | sha1 = "70859bc95c9840952f359a068a3fc49f9ecfac23"; | ||
5602 | }; | ||
5603 | } | ||
5604 | { | ||
5605 | name = "miller_rabin___miller_rabin_4.0.1.tgz"; | ||
5606 | path = fetchurl { | ||
5607 | name = "miller_rabin___miller_rabin_4.0.1.tgz"; | ||
5608 | url = "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz"; | ||
5609 | sha1 = "f080351c865b0dc562a8462966daa53543c78a4d"; | ||
5610 | }; | ||
5611 | } | ||
5612 | { | ||
5613 | name = "mime_db___mime_db_1.44.0.tgz"; | ||
5614 | path = fetchurl { | ||
5615 | name = "mime_db___mime_db_1.44.0.tgz"; | ||
5616 | url = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz"; | ||
5617 | sha1 = "fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"; | ||
5618 | }; | ||
5619 | } | ||
5620 | { | ||
5621 | name = "mime_types___mime_types_2.1.27.tgz"; | ||
5622 | path = fetchurl { | ||
5623 | name = "mime_types___mime_types_2.1.27.tgz"; | ||
5624 | url = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz"; | ||
5625 | sha1 = "47949f98e279ea53119f5722e0f34e529bec009f"; | ||
5626 | }; | ||
5627 | } | ||
5628 | { | ||
5629 | name = "mime___mime_1.6.0.tgz"; | ||
5630 | path = fetchurl { | ||
5631 | name = "mime___mime_1.6.0.tgz"; | ||
5632 | url = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz"; | ||
5633 | sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1"; | ||
5634 | }; | ||
5635 | } | ||
5636 | { | ||
5637 | name = "mime___mime_2.4.6.tgz"; | ||
5638 | path = fetchurl { | ||
5639 | name = "mime___mime_2.4.6.tgz"; | ||
5640 | url = "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz"; | ||
5641 | sha1 = "e5b407c90db442f2beb5b162373d07b69affa4d1"; | ||
5642 | }; | ||
5643 | } | ||
5644 | { | ||
5645 | name = "mimic_fn___mimic_fn_1.2.0.tgz"; | ||
5646 | path = fetchurl { | ||
5647 | name = "mimic_fn___mimic_fn_1.2.0.tgz"; | ||
5648 | url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz"; | ||
5649 | sha1 = "820c86a39334640e99516928bd03fca88057d022"; | ||
5650 | }; | ||
5651 | } | ||
5652 | { | ||
5653 | name = "mimic_fn___mimic_fn_2.1.0.tgz"; | ||
5654 | path = fetchurl { | ||
5655 | name = "mimic_fn___mimic_fn_2.1.0.tgz"; | ||
5656 | url = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz"; | ||
5657 | sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"; | ||
5658 | }; | ||
5659 | } | ||
5660 | { | ||
5661 | name = "mini_css_extract_plugin___mini_css_extract_plugin_0.9.0.tgz"; | ||
5662 | path = fetchurl { | ||
5663 | name = "mini_css_extract_plugin___mini_css_extract_plugin_0.9.0.tgz"; | ||
5664 | url = "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz"; | ||
5665 | sha1 = "47f2cf07aa165ab35733b1fc97d4c46c0564339e"; | ||
5666 | }; | ||
5667 | } | ||
5668 | { | ||
5669 | name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; | ||
5670 | path = fetchurl { | ||
5671 | name = "minimalistic_assert___minimalistic_assert_1.0.1.tgz"; | ||
5672 | url = "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"; | ||
5673 | sha1 = "2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"; | ||
5674 | }; | ||
5675 | } | ||
5676 | { | ||
5677 | name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz"; | ||
5678 | path = fetchurl { | ||
5679 | name = "minimalistic_crypto_utils___minimalistic_crypto_utils_1.0.1.tgz"; | ||
5680 | url = "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"; | ||
5681 | sha1 = "f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"; | ||
5682 | }; | ||
5683 | } | ||
5684 | { | ||
5685 | name = "minimatch___minimatch_3.0.4.tgz"; | ||
5686 | path = fetchurl { | ||
5687 | name = "minimatch___minimatch_3.0.4.tgz"; | ||
5688 | url = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz"; | ||
5689 | sha1 = "5166e286457f03306064be5497e8dbb0c3d32083"; | ||
5690 | }; | ||
5691 | } | ||
5692 | { | ||
5693 | name = "minimist___minimist_1.2.5.tgz"; | ||
5694 | path = fetchurl { | ||
5695 | name = "minimist___minimist_1.2.5.tgz"; | ||
5696 | url = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz"; | ||
5697 | sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602"; | ||
5698 | }; | ||
5699 | } | ||
5700 | { | ||
5701 | name = "minipass_collect___minipass_collect_1.0.2.tgz"; | ||
5702 | path = fetchurl { | ||
5703 | name = "minipass_collect___minipass_collect_1.0.2.tgz"; | ||
5704 | url = "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz"; | ||
5705 | sha1 = "22b813bf745dc6edba2576b940022ad6edc8c617"; | ||
5706 | }; | ||
5707 | } | ||
5708 | { | ||
5709 | name = "minipass_flush___minipass_flush_1.0.5.tgz"; | ||
5710 | path = fetchurl { | ||
5711 | name = "minipass_flush___minipass_flush_1.0.5.tgz"; | ||
5712 | url = "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz"; | ||
5713 | sha1 = "82e7135d7e89a50ffe64610a787953c4c4cbb373"; | ||
5714 | }; | ||
5715 | } | ||
5716 | { | ||
5717 | name = "minipass_pipeline___minipass_pipeline_1.2.3.tgz"; | ||
5718 | path = fetchurl { | ||
5719 | name = "minipass_pipeline___minipass_pipeline_1.2.3.tgz"; | ||
5720 | url = "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz"; | ||
5721 | sha1 = "55f7839307d74859d6e8ada9c3ebe72cec216a34"; | ||
5722 | }; | ||
5723 | } | ||
5724 | { | ||
5725 | name = "minipass___minipass_3.1.3.tgz"; | ||
5726 | path = fetchurl { | ||
5727 | name = "minipass___minipass_3.1.3.tgz"; | ||
5728 | url = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz"; | ||
5729 | sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd"; | ||
5730 | }; | ||
5731 | } | ||
5732 | { | ||
5733 | name = "mississippi___mississippi_3.0.0.tgz"; | ||
5734 | path = fetchurl { | ||
5735 | name = "mississippi___mississippi_3.0.0.tgz"; | ||
5736 | url = "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz"; | ||
5737 | sha1 = "ea0a3291f97e0b5e8776b363d5f0a12d94c67022"; | ||
5738 | }; | ||
5739 | } | ||
5740 | { | ||
5741 | name = "mixin_deep___mixin_deep_1.3.2.tgz"; | ||
5742 | path = fetchurl { | ||
5743 | name = "mixin_deep___mixin_deep_1.3.2.tgz"; | ||
5744 | url = "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz"; | ||
5745 | sha1 = "1120b43dc359a785dce65b55b82e257ccf479566"; | ||
5746 | }; | ||
5747 | } | ||
5748 | { | ||
5749 | name = "mkdirp___mkdirp_0.5.5.tgz"; | ||
5750 | path = fetchurl { | ||
5751 | name = "mkdirp___mkdirp_0.5.5.tgz"; | ||
5752 | url = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz"; | ||
5753 | sha1 = "d91cefd62d1436ca0f41620e251288d420099def"; | ||
5754 | }; | ||
5755 | } | ||
5756 | { | ||
5757 | name = "move_concurrently___move_concurrently_1.0.1.tgz"; | ||
5758 | path = fetchurl { | ||
5759 | name = "move_concurrently___move_concurrently_1.0.1.tgz"; | ||
5760 | url = "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz"; | ||
5761 | sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92"; | ||
5762 | }; | ||
5763 | } | ||
5764 | { | ||
5765 | name = "ms___ms_2.0.0.tgz"; | ||
5766 | path = fetchurl { | ||
5767 | name = "ms___ms_2.0.0.tgz"; | ||
5768 | url = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz"; | ||
5769 | sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8"; | ||
5770 | }; | ||
5771 | } | ||
5772 | { | ||
5773 | name = "ms___ms_2.1.1.tgz"; | ||
5774 | path = fetchurl { | ||
5775 | name = "ms___ms_2.1.1.tgz"; | ||
5776 | url = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz"; | ||
5777 | sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"; | ||
5778 | }; | ||
5779 | } | ||
5780 | { | ||
5781 | name = "ms___ms_2.1.2.tgz"; | ||
5782 | path = fetchurl { | ||
5783 | name = "ms___ms_2.1.2.tgz"; | ||
5784 | url = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz"; | ||
5785 | sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009"; | ||
5786 | }; | ||
5787 | } | ||
5788 | { | ||
5789 | name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz"; | ||
5790 | path = fetchurl { | ||
5791 | name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz"; | ||
5792 | url = "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz"; | ||
5793 | sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901"; | ||
5794 | }; | ||
5795 | } | ||
5796 | { | ||
5797 | name = "multicast_dns___multicast_dns_6.2.3.tgz"; | ||
5798 | path = fetchurl { | ||
5799 | name = "multicast_dns___multicast_dns_6.2.3.tgz"; | ||
5800 | url = "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz"; | ||
5801 | sha1 = "a0ec7bd9055c4282f790c3c82f4e28db3b31b229"; | ||
5802 | }; | ||
5803 | } | ||
5804 | { | ||
5805 | name = "mute_stream___mute_stream_0.0.8.tgz"; | ||
5806 | path = fetchurl { | ||
5807 | name = "mute_stream___mute_stream_0.0.8.tgz"; | ||
5808 | url = "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz"; | ||
5809 | sha1 = "1630c42b2251ff81e2a283de96a5497ea92e5e0d"; | ||
5810 | }; | ||
5811 | } | ||
5812 | { | ||
5813 | name = "mz___mz_2.7.0.tgz"; | ||
5814 | path = fetchurl { | ||
5815 | name = "mz___mz_2.7.0.tgz"; | ||
5816 | url = "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz"; | ||
5817 | sha1 = "95008057a56cafadc2bc63dde7f9ff6955948e32"; | ||
5818 | }; | ||
5819 | } | ||
5820 | { | ||
5821 | name = "nan___nan_2.14.1.tgz"; | ||
5822 | path = fetchurl { | ||
5823 | name = "nan___nan_2.14.1.tgz"; | ||
5824 | url = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz"; | ||
5825 | sha1 = "d7be34dfa3105b91494c3147089315eff8874b01"; | ||
5826 | }; | ||
5827 | } | ||
5828 | { | ||
5829 | name = "nanomatch___nanomatch_1.2.13.tgz"; | ||
5830 | path = fetchurl { | ||
5831 | name = "nanomatch___nanomatch_1.2.13.tgz"; | ||
5832 | url = "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz"; | ||
5833 | sha1 = "b87a8aa4fc0de8fe6be88895b38983ff265bd119"; | ||
5834 | }; | ||
5835 | } | ||
5836 | { | ||
5837 | name = "natural_compare___natural_compare_1.4.0.tgz"; | ||
5838 | path = fetchurl { | ||
5839 | name = "natural_compare___natural_compare_1.4.0.tgz"; | ||
5840 | url = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz"; | ||
5841 | sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"; | ||
5842 | }; | ||
5843 | } | ||
5844 | { | ||
5845 | name = "negotiator___negotiator_0.6.2.tgz"; | ||
5846 | path = fetchurl { | ||
5847 | name = "negotiator___negotiator_0.6.2.tgz"; | ||
5848 | url = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz"; | ||
5849 | sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb"; | ||
5850 | }; | ||
5851 | } | ||
5852 | { | ||
5853 | name = "neo_async___neo_async_2.6.1.tgz"; | ||
5854 | path = fetchurl { | ||
5855 | name = "neo_async___neo_async_2.6.1.tgz"; | ||
5856 | url = "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz"; | ||
5857 | sha1 = "ac27ada66167fa8849a6addd837f6b189ad2081c"; | ||
5858 | }; | ||
5859 | } | ||
5860 | { | ||
5861 | name = "nice_try___nice_try_1.0.5.tgz"; | ||
5862 | path = fetchurl { | ||
5863 | name = "nice_try___nice_try_1.0.5.tgz"; | ||
5864 | url = "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz"; | ||
5865 | sha1 = "a3378a7696ce7d223e88fc9b764bd7ef1089e366"; | ||
5866 | }; | ||
5867 | } | ||
5868 | { | ||
5869 | name = "no_case___no_case_2.3.2.tgz"; | ||
5870 | path = fetchurl { | ||
5871 | name = "no_case___no_case_2.3.2.tgz"; | ||
5872 | url = "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz"; | ||
5873 | sha1 = "60b813396be39b3f1288a4c1ed5d1e7d28b464ac"; | ||
5874 | }; | ||
5875 | } | ||
5876 | { | ||
5877 | name = "node_forge___node_forge_0.9.0.tgz"; | ||
5878 | path = fetchurl { | ||
5879 | name = "node_forge___node_forge_0.9.0.tgz"; | ||
5880 | url = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz"; | ||
5881 | sha1 = "d624050edbb44874adca12bb9a52ec63cb782579"; | ||
5882 | }; | ||
5883 | } | ||
5884 | { | ||
5885 | name = "node_ipc___node_ipc_9.1.1.tgz"; | ||
5886 | path = fetchurl { | ||
5887 | name = "node_ipc___node_ipc_9.1.1.tgz"; | ||
5888 | url = "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.1.tgz"; | ||
5889 | sha1 = "4e245ed6938e65100e595ebc5dc34b16e8dd5d69"; | ||
5890 | }; | ||
5891 | } | ||
5892 | { | ||
5893 | name = "node_libs_browser___node_libs_browser_2.2.1.tgz"; | ||
5894 | path = fetchurl { | ||
5895 | name = "node_libs_browser___node_libs_browser_2.2.1.tgz"; | ||
5896 | url = "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz"; | ||
5897 | sha1 = "b64f513d18338625f90346d27b0d235e631f6425"; | ||
5898 | }; | ||
5899 | } | ||
5900 | { | ||
5901 | name = "node_releases___node_releases_1.1.58.tgz"; | ||
5902 | path = fetchurl { | ||
5903 | name = "node_releases___node_releases_1.1.58.tgz"; | ||
5904 | url = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.58.tgz"; | ||
5905 | sha1 = "8ee20eef30fa60e52755fcc0942def5a734fe935"; | ||
5906 | }; | ||
5907 | } | ||
5908 | { | ||
5909 | name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; | ||
5910 | path = fetchurl { | ||
5911 | name = "normalize_package_data___normalize_package_data_2.5.0.tgz"; | ||
5912 | url = "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz"; | ||
5913 | sha1 = "e66db1838b200c1dfc233225d12cb36520e234a8"; | ||
5914 | }; | ||
5915 | } | ||
5916 | { | ||
5917 | name = "normalize_path___normalize_path_1.0.0.tgz"; | ||
5918 | path = fetchurl { | ||
5919 | name = "normalize_path___normalize_path_1.0.0.tgz"; | ||
5920 | url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-1.0.0.tgz"; | ||
5921 | sha1 = "32d0e472f91ff345701c15a8311018d3b0a90379"; | ||
5922 | }; | ||
5923 | } | ||
5924 | { | ||
5925 | name = "normalize_path___normalize_path_2.1.1.tgz"; | ||
5926 | path = fetchurl { | ||
5927 | name = "normalize_path___normalize_path_2.1.1.tgz"; | ||
5928 | url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz"; | ||
5929 | sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"; | ||
5930 | }; | ||
5931 | } | ||
5932 | { | ||
5933 | name = "normalize_path___normalize_path_3.0.0.tgz"; | ||
5934 | path = fetchurl { | ||
5935 | name = "normalize_path___normalize_path_3.0.0.tgz"; | ||
5936 | url = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz"; | ||
5937 | sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65"; | ||
5938 | }; | ||
5939 | } | ||
5940 | { | ||
5941 | name = "normalize_range___normalize_range_0.1.2.tgz"; | ||
5942 | path = fetchurl { | ||
5943 | name = "normalize_range___normalize_range_0.1.2.tgz"; | ||
5944 | url = "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz"; | ||
5945 | sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942"; | ||
5946 | }; | ||
5947 | } | ||
5948 | { | ||
5949 | name = "normalize_url___normalize_url_1.9.1.tgz"; | ||
5950 | path = fetchurl { | ||
5951 | name = "normalize_url___normalize_url_1.9.1.tgz"; | ||
5952 | url = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz"; | ||
5953 | sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c"; | ||
5954 | }; | ||
5955 | } | ||
5956 | { | ||
5957 | name = "normalize_url___normalize_url_3.3.0.tgz"; | ||
5958 | path = fetchurl { | ||
5959 | name = "normalize_url___normalize_url_3.3.0.tgz"; | ||
5960 | url = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz"; | ||
5961 | sha1 = "b2e1c4dc4f7c6d57743df733a4f5978d18650559"; | ||
5962 | }; | ||
5963 | } | ||
5964 | { | ||
5965 | name = "npm_run_path___npm_run_path_2.0.2.tgz"; | ||
5966 | path = fetchurl { | ||
5967 | name = "npm_run_path___npm_run_path_2.0.2.tgz"; | ||
5968 | url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz"; | ||
5969 | sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f"; | ||
5970 | }; | ||
5971 | } | ||
5972 | { | ||
5973 | name = "npm_run_path___npm_run_path_4.0.1.tgz"; | ||
5974 | path = fetchurl { | ||
5975 | name = "npm_run_path___npm_run_path_4.0.1.tgz"; | ||
5976 | url = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz"; | ||
5977 | sha1 = "b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"; | ||
5978 | }; | ||
5979 | } | ||
5980 | { | ||
5981 | name = "nth_check___nth_check_1.0.2.tgz"; | ||
5982 | path = fetchurl { | ||
5983 | name = "nth_check___nth_check_1.0.2.tgz"; | ||
5984 | url = "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz"; | ||
5985 | sha1 = "b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"; | ||
5986 | }; | ||
5987 | } | ||
5988 | { | ||
5989 | name = "num2fraction___num2fraction_1.2.2.tgz"; | ||
5990 | path = fetchurl { | ||
5991 | name = "num2fraction___num2fraction_1.2.2.tgz"; | ||
5992 | url = "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz"; | ||
5993 | sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"; | ||
5994 | }; | ||
5995 | } | ||
5996 | { | ||
5997 | name = "oauth_sign___oauth_sign_0.9.0.tgz"; | ||
5998 | path = fetchurl { | ||
5999 | name = "oauth_sign___oauth_sign_0.9.0.tgz"; | ||
6000 | url = "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz"; | ||
6001 | sha1 = "47a7b016baa68b5fa0ecf3dee08a85c679ac6455"; | ||
6002 | }; | ||
6003 | } | ||
6004 | { | ||
6005 | name = "object_assign___object_assign_4.1.1.tgz"; | ||
6006 | path = fetchurl { | ||
6007 | name = "object_assign___object_assign_4.1.1.tgz"; | ||
6008 | url = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz"; | ||
6009 | sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863"; | ||
6010 | }; | ||
6011 | } | ||
6012 | { | ||
6013 | name = "object_copy___object_copy_0.1.0.tgz"; | ||
6014 | path = fetchurl { | ||
6015 | name = "object_copy___object_copy_0.1.0.tgz"; | ||
6016 | url = "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz"; | ||
6017 | sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c"; | ||
6018 | }; | ||
6019 | } | ||
6020 | { | ||
6021 | name = "object_hash___object_hash_1.3.1.tgz"; | ||
6022 | path = fetchurl { | ||
6023 | name = "object_hash___object_hash_1.3.1.tgz"; | ||
6024 | url = "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz"; | ||
6025 | sha1 = "fde452098a951cb145f039bb7d455449ddc126df"; | ||
6026 | }; | ||
6027 | } | ||
6028 | { | ||
6029 | name = "object_inspect___object_inspect_1.7.0.tgz"; | ||
6030 | path = fetchurl { | ||
6031 | name = "object_inspect___object_inspect_1.7.0.tgz"; | ||
6032 | url = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz"; | ||
6033 | sha1 = "f4f6bd181ad77f006b5ece60bd0b6f398ff74a67"; | ||
6034 | }; | ||
6035 | } | ||
6036 | { | ||
6037 | name = "object_is___object_is_1.1.2.tgz"; | ||
6038 | path = fetchurl { | ||
6039 | name = "object_is___object_is_1.1.2.tgz"; | ||
6040 | url = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz"; | ||
6041 | sha1 = "c5d2e87ff9e119f78b7a088441519e2eec1573b6"; | ||
6042 | }; | ||
6043 | } | ||
6044 | { | ||
6045 | name = "object_keys___object_keys_1.1.1.tgz"; | ||
6046 | path = fetchurl { | ||
6047 | name = "object_keys___object_keys_1.1.1.tgz"; | ||
6048 | url = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz"; | ||
6049 | sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e"; | ||
6050 | }; | ||
6051 | } | ||
6052 | { | ||
6053 | name = "object_visit___object_visit_1.0.1.tgz"; | ||
6054 | path = fetchurl { | ||
6055 | name = "object_visit___object_visit_1.0.1.tgz"; | ||
6056 | url = "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz"; | ||
6057 | sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb"; | ||
6058 | }; | ||
6059 | } | ||
6060 | { | ||
6061 | name = "object.assign___object.assign_4.1.0.tgz"; | ||
6062 | path = fetchurl { | ||
6063 | name = "object.assign___object.assign_4.1.0.tgz"; | ||
6064 | url = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz"; | ||
6065 | sha1 = "968bf1100d7956bb3ca086f006f846b3bc4008da"; | ||
6066 | }; | ||
6067 | } | ||
6068 | { | ||
6069 | name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz"; | ||
6070 | path = fetchurl { | ||
6071 | name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz"; | ||
6072 | url = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz"; | ||
6073 | sha1 = "369bf1f9592d8ab89d712dced5cb81c7c5352649"; | ||
6074 | }; | ||
6075 | } | ||
6076 | { | ||
6077 | name = "object.pick___object.pick_1.3.0.tgz"; | ||
6078 | path = fetchurl { | ||
6079 | name = "object.pick___object.pick_1.3.0.tgz"; | ||
6080 | url = "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz"; | ||
6081 | sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747"; | ||
6082 | }; | ||
6083 | } | ||
6084 | { | ||
6085 | name = "object.values___object.values_1.1.1.tgz"; | ||
6086 | path = fetchurl { | ||
6087 | name = "object.values___object.values_1.1.1.tgz"; | ||
6088 | url = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz"; | ||
6089 | sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e"; | ||
6090 | }; | ||
6091 | } | ||
6092 | { | ||
6093 | name = "obuf___obuf_1.1.2.tgz"; | ||
6094 | path = fetchurl { | ||
6095 | name = "obuf___obuf_1.1.2.tgz"; | ||
6096 | url = "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz"; | ||
6097 | sha1 = "09bea3343d41859ebd446292d11c9d4db619084e"; | ||
6098 | }; | ||
6099 | } | ||
6100 | { | ||
6101 | name = "on_finished___on_finished_2.3.0.tgz"; | ||
6102 | path = fetchurl { | ||
6103 | name = "on_finished___on_finished_2.3.0.tgz"; | ||
6104 | url = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz"; | ||
6105 | sha1 = "20f1336481b083cd75337992a16971aa2d906947"; | ||
6106 | }; | ||
6107 | } | ||
6108 | { | ||
6109 | name = "on_headers___on_headers_1.0.2.tgz"; | ||
6110 | path = fetchurl { | ||
6111 | name = "on_headers___on_headers_1.0.2.tgz"; | ||
6112 | url = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz"; | ||
6113 | sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f"; | ||
6114 | }; | ||
6115 | } | ||
6116 | { | ||
6117 | name = "once___once_1.4.0.tgz"; | ||
6118 | path = fetchurl { | ||
6119 | name = "once___once_1.4.0.tgz"; | ||
6120 | url = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz"; | ||
6121 | sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1"; | ||
6122 | }; | ||
6123 | } | ||
6124 | { | ||
6125 | name = "onetime___onetime_2.0.1.tgz"; | ||
6126 | path = fetchurl { | ||
6127 | name = "onetime___onetime_2.0.1.tgz"; | ||
6128 | url = "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz"; | ||
6129 | sha1 = "067428230fd67443b2794b22bba528b6867962d4"; | ||
6130 | }; | ||
6131 | } | ||
6132 | { | ||
6133 | name = "onetime___onetime_5.1.0.tgz"; | ||
6134 | path = fetchurl { | ||
6135 | name = "onetime___onetime_5.1.0.tgz"; | ||
6136 | url = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz"; | ||
6137 | sha1 = "fff0f3c91617fe62bb50189636e99ac8a6df7be5"; | ||
6138 | }; | ||
6139 | } | ||
6140 | { | ||
6141 | name = "open___open_6.4.0.tgz"; | ||
6142 | path = fetchurl { | ||
6143 | name = "open___open_6.4.0.tgz"; | ||
6144 | url = "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz"; | ||
6145 | sha1 = "5c13e96d0dc894686164f18965ecfe889ecfc8a9"; | ||
6146 | }; | ||
6147 | } | ||
6148 | { | ||
6149 | name = "opener___opener_1.5.1.tgz"; | ||
6150 | path = fetchurl { | ||
6151 | name = "opener___opener_1.5.1.tgz"; | ||
6152 | url = "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz"; | ||
6153 | sha1 = "6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed"; | ||
6154 | }; | ||
6155 | } | ||
6156 | { | ||
6157 | name = "opn___opn_5.5.0.tgz"; | ||
6158 | path = fetchurl { | ||
6159 | name = "opn___opn_5.5.0.tgz"; | ||
6160 | url = "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz"; | ||
6161 | sha1 = "fc7164fab56d235904c51c3b27da6758ca3b9bfc"; | ||
6162 | }; | ||
6163 | } | ||
6164 | { | ||
6165 | name = "optionator___optionator_0.9.1.tgz"; | ||
6166 | path = fetchurl { | ||
6167 | name = "optionator___optionator_0.9.1.tgz"; | ||
6168 | url = "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz"; | ||
6169 | sha1 = "4f236a6373dae0566a6d43e1326674f50c291499"; | ||
6170 | }; | ||
6171 | } | ||
6172 | { | ||
6173 | name = "ora___ora_3.4.0.tgz"; | ||
6174 | path = fetchurl { | ||
6175 | name = "ora___ora_3.4.0.tgz"; | ||
6176 | url = "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz"; | ||
6177 | sha1 = "bf0752491059a3ef3ed4c85097531de9fdbcd318"; | ||
6178 | }; | ||
6179 | } | ||
6180 | { | ||
6181 | name = "original___original_1.0.2.tgz"; | ||
6182 | path = fetchurl { | ||
6183 | name = "original___original_1.0.2.tgz"; | ||
6184 | url = "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz"; | ||
6185 | sha1 = "e442a61cffe1c5fd20a65f3261c26663b303f25f"; | ||
6186 | }; | ||
6187 | } | ||
6188 | { | ||
6189 | name = "os_browserify___os_browserify_0.3.0.tgz"; | ||
6190 | path = fetchurl { | ||
6191 | name = "os_browserify___os_browserify_0.3.0.tgz"; | ||
6192 | url = "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz"; | ||
6193 | sha1 = "854373c7f5c2315914fc9bfc6bd8238fdda1ec27"; | ||
6194 | }; | ||
6195 | } | ||
6196 | { | ||
6197 | name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; | ||
6198 | path = fetchurl { | ||
6199 | name = "os_tmpdir___os_tmpdir_1.0.2.tgz"; | ||
6200 | url = "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz"; | ||
6201 | sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274"; | ||
6202 | }; | ||
6203 | } | ||
6204 | { | ||
6205 | name = "p_finally___p_finally_1.0.0.tgz"; | ||
6206 | path = fetchurl { | ||
6207 | name = "p_finally___p_finally_1.0.0.tgz"; | ||
6208 | url = "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz"; | ||
6209 | sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae"; | ||
6210 | }; | ||
6211 | } | ||
6212 | { | ||
6213 | name = "p_finally___p_finally_2.0.1.tgz"; | ||
6214 | path = fetchurl { | ||
6215 | name = "p_finally___p_finally_2.0.1.tgz"; | ||
6216 | url = "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz"; | ||
6217 | sha1 = "bd6fcaa9c559a096b680806f4d657b3f0f240561"; | ||
6218 | }; | ||
6219 | } | ||
6220 | { | ||
6221 | name = "p_limit___p_limit_1.3.0.tgz"; | ||
6222 | path = fetchurl { | ||
6223 | name = "p_limit___p_limit_1.3.0.tgz"; | ||
6224 | url = "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz"; | ||
6225 | sha1 = "b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"; | ||
6226 | }; | ||
6227 | } | ||
6228 | { | ||
6229 | name = "p_limit___p_limit_2.3.0.tgz"; | ||
6230 | path = fetchurl { | ||
6231 | name = "p_limit___p_limit_2.3.0.tgz"; | ||
6232 | url = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz"; | ||
6233 | sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1"; | ||
6234 | }; | ||
6235 | } | ||
6236 | { | ||
6237 | name = "p_locate___p_locate_2.0.0.tgz"; | ||
6238 | path = fetchurl { | ||
6239 | name = "p_locate___p_locate_2.0.0.tgz"; | ||
6240 | url = "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz"; | ||
6241 | sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43"; | ||
6242 | }; | ||
6243 | } | ||
6244 | { | ||
6245 | name = "p_locate___p_locate_3.0.0.tgz"; | ||
6246 | path = fetchurl { | ||
6247 | name = "p_locate___p_locate_3.0.0.tgz"; | ||
6248 | url = "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz"; | ||
6249 | sha1 = "322d69a05c0264b25997d9f40cd8a891ab0064a4"; | ||
6250 | }; | ||
6251 | } | ||
6252 | { | ||
6253 | name = "p_locate___p_locate_4.1.0.tgz"; | ||
6254 | path = fetchurl { | ||
6255 | name = "p_locate___p_locate_4.1.0.tgz"; | ||
6256 | url = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz"; | ||
6257 | sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07"; | ||
6258 | }; | ||
6259 | } | ||
6260 | { | ||
6261 | name = "p_map___p_map_2.1.0.tgz"; | ||
6262 | path = fetchurl { | ||
6263 | name = "p_map___p_map_2.1.0.tgz"; | ||
6264 | url = "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz"; | ||
6265 | sha1 = "310928feef9c9ecc65b68b17693018a665cea175"; | ||
6266 | }; | ||
6267 | } | ||
6268 | { | ||
6269 | name = "p_map___p_map_3.0.0.tgz"; | ||
6270 | path = fetchurl { | ||
6271 | name = "p_map___p_map_3.0.0.tgz"; | ||
6272 | url = "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz"; | ||
6273 | sha1 = "d704d9af8a2ba684e2600d9a215983d4141a979d"; | ||
6274 | }; | ||
6275 | } | ||
6276 | { | ||
6277 | name = "p_retry___p_retry_3.0.1.tgz"; | ||
6278 | path = fetchurl { | ||
6279 | name = "p_retry___p_retry_3.0.1.tgz"; | ||
6280 | url = "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz"; | ||
6281 | sha1 = "316b4c8893e2c8dc1cfa891f406c4b422bebf328"; | ||
6282 | }; | ||
6283 | } | ||
6284 | { | ||
6285 | name = "p_try___p_try_1.0.0.tgz"; | ||
6286 | path = fetchurl { | ||
6287 | name = "p_try___p_try_1.0.0.tgz"; | ||
6288 | url = "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz"; | ||
6289 | sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"; | ||
6290 | }; | ||
6291 | } | ||
6292 | { | ||
6293 | name = "p_try___p_try_2.2.0.tgz"; | ||
6294 | path = fetchurl { | ||
6295 | name = "p_try___p_try_2.2.0.tgz"; | ||
6296 | url = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz"; | ||
6297 | sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6"; | ||
6298 | }; | ||
6299 | } | ||
6300 | { | ||
6301 | name = "pako___pako_1.0.11.tgz"; | ||
6302 | path = fetchurl { | ||
6303 | name = "pako___pako_1.0.11.tgz"; | ||
6304 | url = "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz"; | ||
6305 | sha1 = "6c9599d340d54dfd3946380252a35705a6b992bf"; | ||
6306 | }; | ||
6307 | } | ||
6308 | { | ||
6309 | name = "parallel_transform___parallel_transform_1.2.0.tgz"; | ||
6310 | path = fetchurl { | ||
6311 | name = "parallel_transform___parallel_transform_1.2.0.tgz"; | ||
6312 | url = "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz"; | ||
6313 | sha1 = "9049ca37d6cb2182c3b1d2c720be94d14a5814fc"; | ||
6314 | }; | ||
6315 | } | ||
6316 | { | ||
6317 | name = "param_case___param_case_2.1.1.tgz"; | ||
6318 | path = fetchurl { | ||
6319 | name = "param_case___param_case_2.1.1.tgz"; | ||
6320 | url = "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz"; | ||
6321 | sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247"; | ||
6322 | }; | ||
6323 | } | ||
6324 | { | ||
6325 | name = "parent_module___parent_module_1.0.1.tgz"; | ||
6326 | path = fetchurl { | ||
6327 | name = "parent_module___parent_module_1.0.1.tgz"; | ||
6328 | url = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz"; | ||
6329 | sha1 = "691d2709e78c79fae3a156622452d00762caaaa2"; | ||
6330 | }; | ||
6331 | } | ||
6332 | { | ||
6333 | name = "parse_asn1___parse_asn1_5.1.5.tgz"; | ||
6334 | path = fetchurl { | ||
6335 | name = "parse_asn1___parse_asn1_5.1.5.tgz"; | ||
6336 | url = "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz"; | ||
6337 | sha1 = "003271343da58dc94cace494faef3d2147ecea0e"; | ||
6338 | }; | ||
6339 | } | ||
6340 | { | ||
6341 | name = "parse_json___parse_json_4.0.0.tgz"; | ||
6342 | path = fetchurl { | ||
6343 | name = "parse_json___parse_json_4.0.0.tgz"; | ||
6344 | url = "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz"; | ||
6345 | sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0"; | ||
6346 | }; | ||
6347 | } | ||
6348 | { | ||
6349 | name = "parse_json___parse_json_5.0.0.tgz"; | ||
6350 | path = fetchurl { | ||
6351 | name = "parse_json___parse_json_5.0.0.tgz"; | ||
6352 | url = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz"; | ||
6353 | sha1 = "73e5114c986d143efa3712d4ea24db9a4266f60f"; | ||
6354 | }; | ||
6355 | } | ||
6356 | { | ||
6357 | name = "parse5_htmlparser2_tree_adapter___parse5_htmlparser2_tree_adapter_5.1.1.tgz"; | ||
6358 | path = fetchurl { | ||
6359 | name = "parse5_htmlparser2_tree_adapter___parse5_htmlparser2_tree_adapter_5.1.1.tgz"; | ||
6360 | url = "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz"; | ||
6361 | sha1 = "e8c743d4e92194d5293ecde2b08be31e67461cbc"; | ||
6362 | }; | ||
6363 | } | ||
6364 | { | ||
6365 | name = "parse5___parse5_5.1.1.tgz"; | ||
6366 | path = fetchurl { | ||
6367 | name = "parse5___parse5_5.1.1.tgz"; | ||
6368 | url = "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz"; | ||
6369 | sha1 = "f68e4e5ba1852ac2cadc00f4555fff6c2abb6178"; | ||
6370 | }; | ||
6371 | } | ||
6372 | { | ||
6373 | name = "parseurl___parseurl_1.3.3.tgz"; | ||
6374 | path = fetchurl { | ||
6375 | name = "parseurl___parseurl_1.3.3.tgz"; | ||
6376 | url = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz"; | ||
6377 | sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4"; | ||
6378 | }; | ||
6379 | } | ||
6380 | { | ||
6381 | name = "pascalcase___pascalcase_0.1.1.tgz"; | ||
6382 | path = fetchurl { | ||
6383 | name = "pascalcase___pascalcase_0.1.1.tgz"; | ||
6384 | url = "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz"; | ||
6385 | sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14"; | ||
6386 | }; | ||
6387 | } | ||
6388 | { | ||
6389 | name = "path_browserify___path_browserify_0.0.1.tgz"; | ||
6390 | path = fetchurl { | ||
6391 | name = "path_browserify___path_browserify_0.0.1.tgz"; | ||
6392 | url = "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz"; | ||
6393 | sha1 = "e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"; | ||
6394 | }; | ||
6395 | } | ||
6396 | { | ||
6397 | name = "path_dirname___path_dirname_1.0.2.tgz"; | ||
6398 | path = fetchurl { | ||
6399 | name = "path_dirname___path_dirname_1.0.2.tgz"; | ||
6400 | url = "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz"; | ||
6401 | sha1 = "cc33d24d525e099a5388c0336c6e32b9160609e0"; | ||
6402 | }; | ||
6403 | } | ||
6404 | { | ||
6405 | name = "path_exists___path_exists_2.1.0.tgz"; | ||
6406 | path = fetchurl { | ||
6407 | name = "path_exists___path_exists_2.1.0.tgz"; | ||
6408 | url = "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz"; | ||
6409 | sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b"; | ||
6410 | }; | ||
6411 | } | ||
6412 | { | ||
6413 | name = "path_exists___path_exists_3.0.0.tgz"; | ||
6414 | path = fetchurl { | ||
6415 | name = "path_exists___path_exists_3.0.0.tgz"; | ||
6416 | url = "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz"; | ||
6417 | sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"; | ||
6418 | }; | ||
6419 | } | ||
6420 | { | ||
6421 | name = "path_exists___path_exists_4.0.0.tgz"; | ||
6422 | path = fetchurl { | ||
6423 | name = "path_exists___path_exists_4.0.0.tgz"; | ||
6424 | url = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz"; | ||
6425 | sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"; | ||
6426 | }; | ||
6427 | } | ||
6428 | { | ||
6429 | name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; | ||
6430 | path = fetchurl { | ||
6431 | name = "path_is_absolute___path_is_absolute_1.0.1.tgz"; | ||
6432 | url = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz"; | ||
6433 | sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"; | ||
6434 | }; | ||
6435 | } | ||
6436 | { | ||
6437 | name = "path_is_inside___path_is_inside_1.0.2.tgz"; | ||
6438 | path = fetchurl { | ||
6439 | name = "path_is_inside___path_is_inside_1.0.2.tgz"; | ||
6440 | url = "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz"; | ||
6441 | sha1 = "365417dede44430d1c11af61027facf074bdfc53"; | ||
6442 | }; | ||
6443 | } | ||
6444 | { | ||
6445 | name = "path_key___path_key_2.0.1.tgz"; | ||
6446 | path = fetchurl { | ||
6447 | name = "path_key___path_key_2.0.1.tgz"; | ||
6448 | url = "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz"; | ||
6449 | sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40"; | ||
6450 | }; | ||
6451 | } | ||
6452 | { | ||
6453 | name = "path_key___path_key_3.1.1.tgz"; | ||
6454 | path = fetchurl { | ||
6455 | name = "path_key___path_key_3.1.1.tgz"; | ||
6456 | url = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz"; | ||
6457 | sha1 = "581f6ade658cbba65a0d3380de7753295054f375"; | ||
6458 | }; | ||
6459 | } | ||
6460 | { | ||
6461 | name = "path_parse___path_parse_1.0.6.tgz"; | ||
6462 | path = fetchurl { | ||
6463 | name = "path_parse___path_parse_1.0.6.tgz"; | ||
6464 | url = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz"; | ||
6465 | sha1 = "d62dbb5679405d72c4737ec58600e9ddcf06d24c"; | ||
6466 | }; | ||
6467 | } | ||
6468 | { | ||
6469 | name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; | ||
6470 | path = fetchurl { | ||
6471 | name = "path_to_regexp___path_to_regexp_0.1.7.tgz"; | ||
6472 | url = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz"; | ||
6473 | sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c"; | ||
6474 | }; | ||
6475 | } | ||
6476 | { | ||
6477 | name = "path_type___path_type_3.0.0.tgz"; | ||
6478 | path = fetchurl { | ||
6479 | name = "path_type___path_type_3.0.0.tgz"; | ||
6480 | url = "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz"; | ||
6481 | sha1 = "cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"; | ||
6482 | }; | ||
6483 | } | ||
6484 | { | ||
6485 | name = "pbkdf2___pbkdf2_3.1.1.tgz"; | ||
6486 | path = fetchurl { | ||
6487 | name = "pbkdf2___pbkdf2_3.1.1.tgz"; | ||
6488 | url = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz"; | ||
6489 | sha1 = "cb8724b0fada984596856d1a6ebafd3584654b94"; | ||
6490 | }; | ||
6491 | } | ||
6492 | { | ||
6493 | name = "performance_now___performance_now_2.1.0.tgz"; | ||
6494 | path = fetchurl { | ||
6495 | name = "performance_now___performance_now_2.1.0.tgz"; | ||
6496 | url = "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz"; | ||
6497 | sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"; | ||
6498 | }; | ||
6499 | } | ||
6500 | { | ||
6501 | name = "picomatch___picomatch_2.2.2.tgz"; | ||
6502 | path = fetchurl { | ||
6503 | name = "picomatch___picomatch_2.2.2.tgz"; | ||
6504 | url = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz"; | ||
6505 | sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad"; | ||
6506 | }; | ||
6507 | } | ||
6508 | { | ||
6509 | name = "pify___pify_2.3.0.tgz"; | ||
6510 | path = fetchurl { | ||
6511 | name = "pify___pify_2.3.0.tgz"; | ||
6512 | url = "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz"; | ||
6513 | sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c"; | ||
6514 | }; | ||
6515 | } | ||
6516 | { | ||
6517 | name = "pify___pify_3.0.0.tgz"; | ||
6518 | path = fetchurl { | ||
6519 | name = "pify___pify_3.0.0.tgz"; | ||
6520 | url = "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz"; | ||
6521 | sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"; | ||
6522 | }; | ||
6523 | } | ||
6524 | { | ||
6525 | name = "pify___pify_4.0.1.tgz"; | ||
6526 | path = fetchurl { | ||
6527 | name = "pify___pify_4.0.1.tgz"; | ||
6528 | url = "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz"; | ||
6529 | sha1 = "4b2cd25c50d598735c50292224fd8c6df41e3231"; | ||
6530 | }; | ||
6531 | } | ||
6532 | { | ||
6533 | name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; | ||
6534 | path = fetchurl { | ||
6535 | name = "pinkie_promise___pinkie_promise_2.0.1.tgz"; | ||
6536 | url = "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz"; | ||
6537 | sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa"; | ||
6538 | }; | ||
6539 | } | ||
6540 | { | ||
6541 | name = "pinkie___pinkie_2.0.4.tgz"; | ||
6542 | path = fetchurl { | ||
6543 | name = "pinkie___pinkie_2.0.4.tgz"; | ||
6544 | url = "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz"; | ||
6545 | sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870"; | ||
6546 | }; | ||
6547 | } | ||
6548 | { | ||
6549 | name = "pkg_dir___pkg_dir_1.0.0.tgz"; | ||
6550 | path = fetchurl { | ||
6551 | name = "pkg_dir___pkg_dir_1.0.0.tgz"; | ||
6552 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz"; | ||
6553 | sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"; | ||
6554 | }; | ||
6555 | } | ||
6556 | { | ||
6557 | name = "pkg_dir___pkg_dir_3.0.0.tgz"; | ||
6558 | path = fetchurl { | ||
6559 | name = "pkg_dir___pkg_dir_3.0.0.tgz"; | ||
6560 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz"; | ||
6561 | sha1 = "2749020f239ed990881b1f71210d51eb6523bea3"; | ||
6562 | }; | ||
6563 | } | ||
6564 | { | ||
6565 | name = "pkg_dir___pkg_dir_4.2.0.tgz"; | ||
6566 | path = fetchurl { | ||
6567 | name = "pkg_dir___pkg_dir_4.2.0.tgz"; | ||
6568 | url = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz"; | ||
6569 | sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3"; | ||
6570 | }; | ||
6571 | } | ||
6572 | { | ||
6573 | name = "pkg_up___pkg_up_2.0.0.tgz"; | ||
6574 | path = fetchurl { | ||
6575 | name = "pkg_up___pkg_up_2.0.0.tgz"; | ||
6576 | url = "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz"; | ||
6577 | sha1 = "c819ac728059a461cab1c3889a2be3c49a004d7f"; | ||
6578 | }; | ||
6579 | } | ||
6580 | { | ||
6581 | name = "pnp_webpack_plugin___pnp_webpack_plugin_1.6.4.tgz"; | ||
6582 | path = fetchurl { | ||
6583 | name = "pnp_webpack_plugin___pnp_webpack_plugin_1.6.4.tgz"; | ||
6584 | url = "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz"; | ||
6585 | sha1 = "c9711ac4dc48a685dabafc86f8b6dd9f8df84149"; | ||
6586 | }; | ||
6587 | } | ||
6588 | { | ||
6589 | name = "portfinder___portfinder_1.0.26.tgz"; | ||
6590 | path = fetchurl { | ||
6591 | name = "portfinder___portfinder_1.0.26.tgz"; | ||
6592 | url = "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.26.tgz"; | ||
6593 | sha1 = "475658d56ca30bed72ac7f1378ed350bd1b64e70"; | ||
6594 | }; | ||
6595 | } | ||
6596 | { | ||
6597 | name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; | ||
6598 | path = fetchurl { | ||
6599 | name = "posix_character_classes___posix_character_classes_0.1.1.tgz"; | ||
6600 | url = "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz"; | ||
6601 | sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"; | ||
6602 | }; | ||
6603 | } | ||
6604 | { | ||
6605 | name = "postcss_calc___postcss_calc_7.0.2.tgz"; | ||
6606 | path = fetchurl { | ||
6607 | name = "postcss_calc___postcss_calc_7.0.2.tgz"; | ||
6608 | url = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz"; | ||
6609 | sha1 = "504efcd008ca0273120568b0792b16cdcde8aac1"; | ||
6610 | }; | ||
6611 | } | ||
6612 | { | ||
6613 | name = "postcss_colormin___postcss_colormin_4.0.3.tgz"; | ||
6614 | path = fetchurl { | ||
6615 | name = "postcss_colormin___postcss_colormin_4.0.3.tgz"; | ||
6616 | url = "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz"; | ||
6617 | sha1 = "ae060bce93ed794ac71264f08132d550956bd381"; | ||
6618 | }; | ||
6619 | } | ||
6620 | { | ||
6621 | name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz"; | ||
6622 | path = fetchurl { | ||
6623 | name = "postcss_convert_values___postcss_convert_values_4.0.1.tgz"; | ||
6624 | url = "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz"; | ||
6625 | sha1 = "ca3813ed4da0f812f9d43703584e449ebe189a7f"; | ||
6626 | }; | ||
6627 | } | ||
6628 | { | ||
6629 | name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz"; | ||
6630 | path = fetchurl { | ||
6631 | name = "postcss_discard_comments___postcss_discard_comments_4.0.2.tgz"; | ||
6632 | url = "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz"; | ||
6633 | sha1 = "1fbabd2c246bff6aaad7997b2b0918f4d7af4033"; | ||
6634 | }; | ||
6635 | } | ||
6636 | { | ||
6637 | name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz"; | ||
6638 | path = fetchurl { | ||
6639 | name = "postcss_discard_duplicates___postcss_discard_duplicates_4.0.2.tgz"; | ||
6640 | url = "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz"; | ||
6641 | sha1 = "3fe133cd3c82282e550fc9b239176a9207b784eb"; | ||
6642 | }; | ||
6643 | } | ||
6644 | { | ||
6645 | name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz"; | ||
6646 | path = fetchurl { | ||
6647 | name = "postcss_discard_empty___postcss_discard_empty_4.0.1.tgz"; | ||
6648 | url = "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz"; | ||
6649 | sha1 = "c8c951e9f73ed9428019458444a02ad90bb9f765"; | ||
6650 | }; | ||
6651 | } | ||
6652 | { | ||
6653 | name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz"; | ||
6654 | path = fetchurl { | ||
6655 | name = "postcss_discard_overridden___postcss_discard_overridden_4.0.1.tgz"; | ||
6656 | url = "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz"; | ||
6657 | sha1 = "652aef8a96726f029f5e3e00146ee7a4e755ff57"; | ||
6658 | }; | ||
6659 | } | ||
6660 | { | ||
6661 | name = "postcss_load_config___postcss_load_config_2.1.0.tgz"; | ||
6662 | path = fetchurl { | ||
6663 | name = "postcss_load_config___postcss_load_config_2.1.0.tgz"; | ||
6664 | url = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz"; | ||
6665 | sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003"; | ||
6666 | }; | ||
6667 | } | ||
6668 | { | ||
6669 | name = "postcss_loader___postcss_loader_3.0.0.tgz"; | ||
6670 | path = fetchurl { | ||
6671 | name = "postcss_loader___postcss_loader_3.0.0.tgz"; | ||
6672 | url = "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz"; | ||
6673 | sha1 = "6b97943e47c72d845fa9e03f273773d4e8dd6c2d"; | ||
6674 | }; | ||
6675 | } | ||
6676 | { | ||
6677 | name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz"; | ||
6678 | path = fetchurl { | ||
6679 | name = "postcss_merge_longhand___postcss_merge_longhand_4.0.11.tgz"; | ||
6680 | url = "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz"; | ||
6681 | sha1 = "62f49a13e4a0ee04e7b98f42bb16062ca2549e24"; | ||
6682 | }; | ||
6683 | } | ||
6684 | { | ||
6685 | name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz"; | ||
6686 | path = fetchurl { | ||
6687 | name = "postcss_merge_rules___postcss_merge_rules_4.0.3.tgz"; | ||
6688 | url = "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz"; | ||
6689 | sha1 = "362bea4ff5a1f98e4075a713c6cb25aefef9a650"; | ||
6690 | }; | ||
6691 | } | ||
6692 | { | ||
6693 | name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz"; | ||
6694 | path = fetchurl { | ||
6695 | name = "postcss_minify_font_values___postcss_minify_font_values_4.0.2.tgz"; | ||
6696 | url = "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz"; | ||
6697 | sha1 = "cd4c344cce474343fac5d82206ab2cbcb8afd5a6"; | ||
6698 | }; | ||
6699 | } | ||
6700 | { | ||
6701 | name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz"; | ||
6702 | path = fetchurl { | ||
6703 | name = "postcss_minify_gradients___postcss_minify_gradients_4.0.2.tgz"; | ||
6704 | url = "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz"; | ||
6705 | sha1 = "93b29c2ff5099c535eecda56c4aa6e665a663471"; | ||
6706 | }; | ||
6707 | } | ||
6708 | { | ||
6709 | name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz"; | ||
6710 | path = fetchurl { | ||
6711 | name = "postcss_minify_params___postcss_minify_params_4.0.2.tgz"; | ||
6712 | url = "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz"; | ||
6713 | sha1 = "6b9cef030c11e35261f95f618c90036d680db874"; | ||
6714 | }; | ||
6715 | } | ||
6716 | { | ||
6717 | name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz"; | ||
6718 | path = fetchurl { | ||
6719 | name = "postcss_minify_selectors___postcss_minify_selectors_4.0.2.tgz"; | ||
6720 | url = "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz"; | ||
6721 | sha1 = "e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"; | ||
6722 | }; | ||
6723 | } | ||
6724 | { | ||
6725 | name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz"; | ||
6726 | path = fetchurl { | ||
6727 | name = "postcss_modules_extract_imports___postcss_modules_extract_imports_2.0.0.tgz"; | ||
6728 | url = "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz"; | ||
6729 | sha1 = "818719a1ae1da325f9832446b01136eeb493cd7e"; | ||
6730 | }; | ||
6731 | } | ||
6732 | { | ||
6733 | name = "postcss_modules_local_by_default___postcss_modules_local_by_default_3.0.2.tgz"; | ||
6734 | path = fetchurl { | ||
6735 | name = "postcss_modules_local_by_default___postcss_modules_local_by_default_3.0.2.tgz"; | ||
6736 | url = "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz"; | ||
6737 | sha1 = "e8a6561be914aaf3c052876377524ca90dbb7915"; | ||
6738 | }; | ||
6739 | } | ||
6740 | { | ||
6741 | name = "postcss_modules_scope___postcss_modules_scope_2.2.0.tgz"; | ||
6742 | path = fetchurl { | ||
6743 | name = "postcss_modules_scope___postcss_modules_scope_2.2.0.tgz"; | ||
6744 | url = "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz"; | ||
6745 | sha1 = "385cae013cc7743f5a7d7602d1073a89eaae62ee"; | ||
6746 | }; | ||
6747 | } | ||
6748 | { | ||
6749 | name = "postcss_modules_values___postcss_modules_values_3.0.0.tgz"; | ||
6750 | path = fetchurl { | ||
6751 | name = "postcss_modules_values___postcss_modules_values_3.0.0.tgz"; | ||
6752 | url = "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz"; | ||
6753 | sha1 = "5b5000d6ebae29b4255301b4a3a54574423e7f10"; | ||
6754 | }; | ||
6755 | } | ||
6756 | { | ||
6757 | name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz"; | ||
6758 | path = fetchurl { | ||
6759 | name = "postcss_normalize_charset___postcss_normalize_charset_4.0.1.tgz"; | ||
6760 | url = "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz"; | ||
6761 | sha1 = "8b35add3aee83a136b0471e0d59be58a50285dd4"; | ||
6762 | }; | ||
6763 | } | ||
6764 | { | ||
6765 | name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz"; | ||
6766 | path = fetchurl { | ||
6767 | name = "postcss_normalize_display_values___postcss_normalize_display_values_4.0.2.tgz"; | ||
6768 | url = "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz"; | ||
6769 | sha1 = "0dbe04a4ce9063d4667ed2be476bb830c825935a"; | ||
6770 | }; | ||
6771 | } | ||
6772 | { | ||
6773 | name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz"; | ||
6774 | path = fetchurl { | ||
6775 | name = "postcss_normalize_positions___postcss_normalize_positions_4.0.2.tgz"; | ||
6776 | url = "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz"; | ||
6777 | sha1 = "05f757f84f260437378368a91f8932d4b102917f"; | ||
6778 | }; | ||
6779 | } | ||
6780 | { | ||
6781 | name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz"; | ||
6782 | path = fetchurl { | ||
6783 | name = "postcss_normalize_repeat_style___postcss_normalize_repeat_style_4.0.2.tgz"; | ||
6784 | url = "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz"; | ||
6785 | sha1 = "c4ebbc289f3991a028d44751cbdd11918b17910c"; | ||
6786 | }; | ||
6787 | } | ||
6788 | { | ||
6789 | name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz"; | ||
6790 | path = fetchurl { | ||
6791 | name = "postcss_normalize_string___postcss_normalize_string_4.0.2.tgz"; | ||
6792 | url = "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz"; | ||
6793 | sha1 = "cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"; | ||
6794 | }; | ||
6795 | } | ||
6796 | { | ||
6797 | name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz"; | ||
6798 | path = fetchurl { | ||
6799 | name = "postcss_normalize_timing_functions___postcss_normalize_timing_functions_4.0.2.tgz"; | ||
6800 | url = "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz"; | ||
6801 | sha1 = "8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"; | ||
6802 | }; | ||
6803 | } | ||
6804 | { | ||
6805 | name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz"; | ||
6806 | path = fetchurl { | ||
6807 | name = "postcss_normalize_unicode___postcss_normalize_unicode_4.0.1.tgz"; | ||
6808 | url = "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz"; | ||
6809 | sha1 = "841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"; | ||
6810 | }; | ||
6811 | } | ||
6812 | { | ||
6813 | name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz"; | ||
6814 | path = fetchurl { | ||
6815 | name = "postcss_normalize_url___postcss_normalize_url_4.0.1.tgz"; | ||
6816 | url = "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz"; | ||
6817 | sha1 = "10e437f86bc7c7e58f7b9652ed878daaa95faae1"; | ||
6818 | }; | ||
6819 | } | ||
6820 | { | ||
6821 | name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz"; | ||
6822 | path = fetchurl { | ||
6823 | name = "postcss_normalize_whitespace___postcss_normalize_whitespace_4.0.2.tgz"; | ||
6824 | url = "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz"; | ||
6825 | sha1 = "bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"; | ||
6826 | }; | ||
6827 | } | ||
6828 | { | ||
6829 | name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz"; | ||
6830 | path = fetchurl { | ||
6831 | name = "postcss_ordered_values___postcss_ordered_values_4.1.2.tgz"; | ||
6832 | url = "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz"; | ||
6833 | sha1 = "0cf75c820ec7d5c4d280189559e0b571ebac0eee"; | ||
6834 | }; | ||
6835 | } | ||
6836 | { | ||
6837 | name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz"; | ||
6838 | path = fetchurl { | ||
6839 | name = "postcss_reduce_initial___postcss_reduce_initial_4.0.3.tgz"; | ||
6840 | url = "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz"; | ||
6841 | sha1 = "7fd42ebea5e9c814609639e2c2e84ae270ba48df"; | ||
6842 | }; | ||
6843 | } | ||
6844 | { | ||
6845 | name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz"; | ||
6846 | path = fetchurl { | ||
6847 | name = "postcss_reduce_transforms___postcss_reduce_transforms_4.0.2.tgz"; | ||
6848 | url = "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz"; | ||
6849 | sha1 = "17efa405eacc6e07be3414a5ca2d1074681d4e29"; | ||
6850 | }; | ||
6851 | } | ||
6852 | { | ||
6853 | name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz"; | ||
6854 | path = fetchurl { | ||
6855 | name = "postcss_selector_parser___postcss_selector_parser_3.1.2.tgz"; | ||
6856 | url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz"; | ||
6857 | sha1 = "b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"; | ||
6858 | }; | ||
6859 | } | ||
6860 | { | ||
6861 | name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz"; | ||
6862 | path = fetchurl { | ||
6863 | name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz"; | ||
6864 | url = "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz"; | ||
6865 | sha1 = "934cf799d016c83411859e09dcecade01286ec5c"; | ||
6866 | }; | ||
6867 | } | ||
6868 | { | ||
6869 | name = "postcss_svgo___postcss_svgo_4.0.2.tgz"; | ||
6870 | path = fetchurl { | ||
6871 | name = "postcss_svgo___postcss_svgo_4.0.2.tgz"; | ||
6872 | url = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz"; | ||
6873 | sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258"; | ||
6874 | }; | ||
6875 | } | ||
6876 | { | ||
6877 | name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz"; | ||
6878 | path = fetchurl { | ||
6879 | name = "postcss_unique_selectors___postcss_unique_selectors_4.0.1.tgz"; | ||
6880 | url = "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz"; | ||
6881 | sha1 = "9446911f3289bfd64c6d680f073c03b1f9ee4bac"; | ||
6882 | }; | ||
6883 | } | ||
6884 | { | ||
6885 | name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz"; | ||
6886 | path = fetchurl { | ||
6887 | name = "postcss_value_parser___postcss_value_parser_3.3.1.tgz"; | ||
6888 | url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz"; | ||
6889 | sha1 = "9ff822547e2893213cf1c30efa51ac5fd1ba8281"; | ||
6890 | }; | ||
6891 | } | ||
6892 | { | ||
6893 | name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz"; | ||
6894 | path = fetchurl { | ||
6895 | name = "postcss_value_parser___postcss_value_parser_4.1.0.tgz"; | ||
6896 | url = "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz"; | ||
6897 | sha1 = "443f6a20ced6481a2bda4fa8532a6e55d789a2cb"; | ||
6898 | }; | ||
6899 | } | ||
6900 | { | ||
6901 | name = "postcss___postcss_7.0.32.tgz"; | ||
6902 | path = fetchurl { | ||
6903 | name = "postcss___postcss_7.0.32.tgz"; | ||
6904 | url = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz"; | ||
6905 | sha1 = "4310d6ee347053da3433db2be492883d62cec59d"; | ||
6906 | }; | ||
6907 | } | ||
6908 | { | ||
6909 | name = "prelude_ls___prelude_ls_1.2.1.tgz"; | ||
6910 | path = fetchurl { | ||
6911 | name = "prelude_ls___prelude_ls_1.2.1.tgz"; | ||
6912 | url = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz"; | ||
6913 | sha1 = "debc6489d7a6e6b0e7611888cec880337d316396"; | ||
6914 | }; | ||
6915 | } | ||
6916 | { | ||
6917 | name = "prepend_http___prepend_http_1.0.4.tgz"; | ||
6918 | path = fetchurl { | ||
6919 | name = "prepend_http___prepend_http_1.0.4.tgz"; | ||
6920 | url = "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz"; | ||
6921 | sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"; | ||
6922 | }; | ||
6923 | } | ||
6924 | { | ||
6925 | name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz"; | ||
6926 | path = fetchurl { | ||
6927 | name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz"; | ||
6928 | url = "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz"; | ||
6929 | sha1 = "d23d41fe1375646de2d0104d3454a3008802cf7b"; | ||
6930 | }; | ||
6931 | } | ||
6932 | { | ||
6933 | name = "prettier___prettier_1.19.1.tgz"; | ||
6934 | path = fetchurl { | ||
6935 | name = "prettier___prettier_1.19.1.tgz"; | ||
6936 | url = "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz"; | ||
6937 | sha1 = "f7d7f5ff8a9cd872a7be4ca142095956a60797cb"; | ||
6938 | }; | ||
6939 | } | ||
6940 | { | ||
6941 | name = "prettier___prettier_2.0.5.tgz"; | ||
6942 | path = fetchurl { | ||
6943 | name = "prettier___prettier_2.0.5.tgz"; | ||
6944 | url = "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz"; | ||
6945 | sha1 = "d6d56282455243f2f92cc1716692c08aa31522d4"; | ||
6946 | }; | ||
6947 | } | ||
6948 | { | ||
6949 | name = "pretty_bytes___pretty_bytes_5.3.0.tgz"; | ||
6950 | path = fetchurl { | ||
6951 | name = "pretty_bytes___pretty_bytes_5.3.0.tgz"; | ||
6952 | url = "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz"; | ||
6953 | sha1 = "f2849e27db79fb4d6cfe24764fc4134f165989f2"; | ||
6954 | }; | ||
6955 | } | ||
6956 | { | ||
6957 | name = "pretty_error___pretty_error_2.1.1.tgz"; | ||
6958 | path = fetchurl { | ||
6959 | name = "pretty_error___pretty_error_2.1.1.tgz"; | ||
6960 | url = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz"; | ||
6961 | sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3"; | ||
6962 | }; | ||
6963 | } | ||
6964 | { | ||
6965 | name = "private___private_0.1.8.tgz"; | ||
6966 | path = fetchurl { | ||
6967 | name = "private___private_0.1.8.tgz"; | ||
6968 | url = "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz"; | ||
6969 | sha1 = "2381edb3689f7a53d653190060fcf822d2f368ff"; | ||
6970 | }; | ||
6971 | } | ||
6972 | { | ||
6973 | name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; | ||
6974 | path = fetchurl { | ||
6975 | name = "process_nextick_args___process_nextick_args_2.0.1.tgz"; | ||
6976 | url = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz"; | ||
6977 | sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"; | ||
6978 | }; | ||
6979 | } | ||
6980 | { | ||
6981 | name = "process___process_0.11.10.tgz"; | ||
6982 | path = fetchurl { | ||
6983 | name = "process___process_0.11.10.tgz"; | ||
6984 | url = "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz"; | ||
6985 | sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182"; | ||
6986 | }; | ||
6987 | } | ||
6988 | { | ||
6989 | name = "progress___progress_2.0.3.tgz"; | ||
6990 | path = fetchurl { | ||
6991 | name = "progress___progress_2.0.3.tgz"; | ||
6992 | url = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz"; | ||
6993 | sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"; | ||
6994 | }; | ||
6995 | } | ||
6996 | { | ||
6997 | name = "promise_inflight___promise_inflight_1.0.1.tgz"; | ||
6998 | path = fetchurl { | ||
6999 | name = "promise_inflight___promise_inflight_1.0.1.tgz"; | ||
7000 | url = "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz"; | ||
7001 | sha1 = "98472870bf228132fcbdd868129bad12c3c029e3"; | ||
7002 | }; | ||
7003 | } | ||
7004 | { | ||
7005 | name = "proxy_addr___proxy_addr_2.0.6.tgz"; | ||
7006 | path = fetchurl { | ||
7007 | name = "proxy_addr___proxy_addr_2.0.6.tgz"; | ||
7008 | url = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz"; | ||
7009 | sha1 = "fdc2336505447d3f2f2c638ed272caf614bbb2bf"; | ||
7010 | }; | ||
7011 | } | ||
7012 | { | ||
7013 | name = "prr___prr_1.0.1.tgz"; | ||
7014 | path = fetchurl { | ||
7015 | name = "prr___prr_1.0.1.tgz"; | ||
7016 | url = "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz"; | ||
7017 | sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476"; | ||
7018 | }; | ||
7019 | } | ||
7020 | { | ||
7021 | name = "pseudomap___pseudomap_1.0.2.tgz"; | ||
7022 | path = fetchurl { | ||
7023 | name = "pseudomap___pseudomap_1.0.2.tgz"; | ||
7024 | url = "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz"; | ||
7025 | sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3"; | ||
7026 | }; | ||
7027 | } | ||
7028 | { | ||
7029 | name = "psl___psl_1.8.0.tgz"; | ||
7030 | path = fetchurl { | ||
7031 | name = "psl___psl_1.8.0.tgz"; | ||
7032 | url = "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz"; | ||
7033 | sha1 = "9326f8bcfb013adcc005fdff056acce020e51c24"; | ||
7034 | }; | ||
7035 | } | ||
7036 | { | ||
7037 | name = "public_encrypt___public_encrypt_4.0.3.tgz"; | ||
7038 | path = fetchurl { | ||
7039 | name = "public_encrypt___public_encrypt_4.0.3.tgz"; | ||
7040 | url = "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz"; | ||
7041 | sha1 = "4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"; | ||
7042 | }; | ||
7043 | } | ||
7044 | { | ||
7045 | name = "pump___pump_2.0.1.tgz"; | ||
7046 | path = fetchurl { | ||
7047 | name = "pump___pump_2.0.1.tgz"; | ||
7048 | url = "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz"; | ||
7049 | sha1 = "12399add6e4cf7526d973cbc8b5ce2e2908b3909"; | ||
7050 | }; | ||
7051 | } | ||
7052 | { | ||
7053 | name = "pump___pump_3.0.0.tgz"; | ||
7054 | path = fetchurl { | ||
7055 | name = "pump___pump_3.0.0.tgz"; | ||
7056 | url = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz"; | ||
7057 | sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64"; | ||
7058 | }; | ||
7059 | } | ||
7060 | { | ||
7061 | name = "pumpify___pumpify_1.5.1.tgz"; | ||
7062 | path = fetchurl { | ||
7063 | name = "pumpify___pumpify_1.5.1.tgz"; | ||
7064 | url = "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz"; | ||
7065 | sha1 = "36513be246ab27570b1a374a5ce278bfd74370ce"; | ||
7066 | }; | ||
7067 | } | ||
7068 | { | ||
7069 | name = "punycode___punycode_1.3.2.tgz"; | ||
7070 | path = fetchurl { | ||
7071 | name = "punycode___punycode_1.3.2.tgz"; | ||
7072 | url = "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz"; | ||
7073 | sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d"; | ||
7074 | }; | ||
7075 | } | ||
7076 | { | ||
7077 | name = "punycode___punycode_1.4.1.tgz"; | ||
7078 | path = fetchurl { | ||
7079 | name = "punycode___punycode_1.4.1.tgz"; | ||
7080 | url = "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz"; | ||
7081 | sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"; | ||
7082 | }; | ||
7083 | } | ||
7084 | { | ||
7085 | name = "punycode___punycode_2.1.1.tgz"; | ||
7086 | path = fetchurl { | ||
7087 | name = "punycode___punycode_2.1.1.tgz"; | ||
7088 | url = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz"; | ||
7089 | sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec"; | ||
7090 | }; | ||
7091 | } | ||
7092 | { | ||
7093 | name = "q___q_1.5.1.tgz"; | ||
7094 | path = fetchurl { | ||
7095 | name = "q___q_1.5.1.tgz"; | ||
7096 | url = "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz"; | ||
7097 | sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7"; | ||
7098 | }; | ||
7099 | } | ||
7100 | { | ||
7101 | name = "qs___qs_6.7.0.tgz"; | ||
7102 | path = fetchurl { | ||
7103 | name = "qs___qs_6.7.0.tgz"; | ||
7104 | url = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz"; | ||
7105 | sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc"; | ||
7106 | }; | ||
7107 | } | ||
7108 | { | ||
7109 | name = "qs___qs_6.5.2.tgz"; | ||
7110 | path = fetchurl { | ||
7111 | name = "qs___qs_6.5.2.tgz"; | ||
7112 | url = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz"; | ||
7113 | sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36"; | ||
7114 | }; | ||
7115 | } | ||
7116 | { | ||
7117 | name = "query_string___query_string_4.3.4.tgz"; | ||
7118 | path = fetchurl { | ||
7119 | name = "query_string___query_string_4.3.4.tgz"; | ||
7120 | url = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz"; | ||
7121 | sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb"; | ||
7122 | }; | ||
7123 | } | ||
7124 | { | ||
7125 | name = "querystring_es3___querystring_es3_0.2.1.tgz"; | ||
7126 | path = fetchurl { | ||
7127 | name = "querystring_es3___querystring_es3_0.2.1.tgz"; | ||
7128 | url = "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz"; | ||
7129 | sha1 = "9ec61f79049875707d69414596fd907a4d711e73"; | ||
7130 | }; | ||
7131 | } | ||
7132 | { | ||
7133 | name = "querystring___querystring_0.2.0.tgz"; | ||
7134 | path = fetchurl { | ||
7135 | name = "querystring___querystring_0.2.0.tgz"; | ||
7136 | url = "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz"; | ||
7137 | sha1 = "b209849203bb25df820da756e747005878521620"; | ||
7138 | }; | ||
7139 | } | ||
7140 | { | ||
7141 | name = "querystringify___querystringify_2.1.1.tgz"; | ||
7142 | path = fetchurl { | ||
7143 | name = "querystringify___querystringify_2.1.1.tgz"; | ||
7144 | url = "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz"; | ||
7145 | sha1 = "60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e"; | ||
7146 | }; | ||
7147 | } | ||
7148 | { | ||
7149 | name = "randombytes___randombytes_2.1.0.tgz"; | ||
7150 | path = fetchurl { | ||
7151 | name = "randombytes___randombytes_2.1.0.tgz"; | ||
7152 | url = "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz"; | ||
7153 | sha1 = "df6f84372f0270dc65cdf6291349ab7a473d4f2a"; | ||
7154 | }; | ||
7155 | } | ||
7156 | { | ||
7157 | name = "randomfill___randomfill_1.0.4.tgz"; | ||
7158 | path = fetchurl { | ||
7159 | name = "randomfill___randomfill_1.0.4.tgz"; | ||
7160 | url = "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz"; | ||
7161 | sha1 = "c92196fc86ab42be983f1bf31778224931d61458"; | ||
7162 | }; | ||
7163 | } | ||
7164 | { | ||
7165 | name = "range_parser___range_parser_1.2.1.tgz"; | ||
7166 | path = fetchurl { | ||
7167 | name = "range_parser___range_parser_1.2.1.tgz"; | ||
7168 | url = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz"; | ||
7169 | sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031"; | ||
7170 | }; | ||
7171 | } | ||
7172 | { | ||
7173 | name = "raw_body___raw_body_2.4.0.tgz"; | ||
7174 | path = fetchurl { | ||
7175 | name = "raw_body___raw_body_2.4.0.tgz"; | ||
7176 | url = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz"; | ||
7177 | sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332"; | ||
7178 | }; | ||
7179 | } | ||
7180 | { | ||
7181 | name = "raw_loader___raw_loader_4.0.1.tgz"; | ||
7182 | path = fetchurl { | ||
7183 | name = "raw_loader___raw_loader_4.0.1.tgz"; | ||
7184 | url = "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.1.tgz"; | ||
7185 | sha1 = "14e1f726a359b68437e183d5a5b7d33a3eba6933"; | ||
7186 | }; | ||
7187 | } | ||
7188 | { | ||
7189 | name = "read_pkg___read_pkg_5.2.0.tgz"; | ||
7190 | path = fetchurl { | ||
7191 | name = "read_pkg___read_pkg_5.2.0.tgz"; | ||
7192 | url = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz"; | ||
7193 | sha1 = "7bf295438ca5a33e56cd30e053b34ee7250c93cc"; | ||
7194 | }; | ||
7195 | } | ||
7196 | { | ||
7197 | name = "readable_stream___readable_stream_2.3.7.tgz"; | ||
7198 | path = fetchurl { | ||
7199 | name = "readable_stream___readable_stream_2.3.7.tgz"; | ||
7200 | url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz"; | ||
7201 | sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57"; | ||
7202 | }; | ||
7203 | } | ||
7204 | { | ||
7205 | name = "readable_stream___readable_stream_3.6.0.tgz"; | ||
7206 | path = fetchurl { | ||
7207 | name = "readable_stream___readable_stream_3.6.0.tgz"; | ||
7208 | url = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz"; | ||
7209 | sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198"; | ||
7210 | }; | ||
7211 | } | ||
7212 | { | ||
7213 | name = "readdirp___readdirp_2.2.1.tgz"; | ||
7214 | path = fetchurl { | ||
7215 | name = "readdirp___readdirp_2.2.1.tgz"; | ||
7216 | url = "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz"; | ||
7217 | sha1 = "0e87622a3325aa33e892285caf8b4e846529a525"; | ||
7218 | }; | ||
7219 | } | ||
7220 | { | ||
7221 | name = "readdirp___readdirp_3.4.0.tgz"; | ||
7222 | path = fetchurl { | ||
7223 | name = "readdirp___readdirp_3.4.0.tgz"; | ||
7224 | url = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz"; | ||
7225 | sha1 = "9fdccdf9e9155805449221ac645e8303ab5b9ada"; | ||
7226 | }; | ||
7227 | } | ||
7228 | { | ||
7229 | name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz"; | ||
7230 | path = fetchurl { | ||
7231 | name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz"; | ||
7232 | url = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz"; | ||
7233 | sha1 = "e5de7111d655e7ba60c057dbe9ff37c87e65cdec"; | ||
7234 | }; | ||
7235 | } | ||
7236 | { | ||
7237 | name = "regenerate___regenerate_1.4.1.tgz"; | ||
7238 | path = fetchurl { | ||
7239 | name = "regenerate___regenerate_1.4.1.tgz"; | ||
7240 | url = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz"; | ||
7241 | sha1 = "cad92ad8e6b591773485fbe05a485caf4f457e6f"; | ||
7242 | }; | ||
7243 | } | ||
7244 | { | ||
7245 | name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; | ||
7246 | path = fetchurl { | ||
7247 | name = "regenerator_runtime___regenerator_runtime_0.11.1.tgz"; | ||
7248 | url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"; | ||
7249 | sha1 = "be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"; | ||
7250 | }; | ||
7251 | } | ||
7252 | { | ||
7253 | name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz"; | ||
7254 | path = fetchurl { | ||
7255 | name = "regenerator_runtime___regenerator_runtime_0.13.5.tgz"; | ||
7256 | url = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz"; | ||
7257 | sha1 = "d878a1d094b4306d10b9096484b33ebd55e26697"; | ||
7258 | }; | ||
7259 | } | ||
7260 | { | ||
7261 | name = "regenerator_transform___regenerator_transform_0.14.4.tgz"; | ||
7262 | path = fetchurl { | ||
7263 | name = "regenerator_transform___regenerator_transform_0.14.4.tgz"; | ||
7264 | url = "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz"; | ||
7265 | sha1 = "5266857896518d1616a78a0479337a30ea974cc7"; | ||
7266 | }; | ||
7267 | } | ||
7268 | { | ||
7269 | name = "regex_not___regex_not_1.0.2.tgz"; | ||
7270 | path = fetchurl { | ||
7271 | name = "regex_not___regex_not_1.0.2.tgz"; | ||
7272 | url = "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz"; | ||
7273 | sha1 = "1f4ece27e00b0b65e0247a6810e6a85d83a5752c"; | ||
7274 | }; | ||
7275 | } | ||
7276 | { | ||
7277 | name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; | ||
7278 | path = fetchurl { | ||
7279 | name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz"; | ||
7280 | url = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz"; | ||
7281 | sha1 = "7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75"; | ||
7282 | }; | ||
7283 | } | ||
7284 | { | ||
7285 | name = "regexpp___regexpp_3.1.0.tgz"; | ||
7286 | path = fetchurl { | ||
7287 | name = "regexpp___regexpp_3.1.0.tgz"; | ||
7288 | url = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz"; | ||
7289 | sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"; | ||
7290 | }; | ||
7291 | } | ||
7292 | { | ||
7293 | name = "regexpu_core___regexpu_core_4.7.0.tgz"; | ||
7294 | path = fetchurl { | ||
7295 | name = "regexpu_core___regexpu_core_4.7.0.tgz"; | ||
7296 | url = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz"; | ||
7297 | sha1 = "fcbf458c50431b0bb7b45d6967b8192d91f3d938"; | ||
7298 | }; | ||
7299 | } | ||
7300 | { | ||
7301 | name = "register_service_worker___register_service_worker_1.7.1.tgz"; | ||
7302 | path = fetchurl { | ||
7303 | name = "register_service_worker___register_service_worker_1.7.1.tgz"; | ||
7304 | url = "https://registry.yarnpkg.com/register-service-worker/-/register-service-worker-1.7.1.tgz"; | ||
7305 | sha1 = "6308347ac6c0af0f6c0b22ea5d59d25e836bc932"; | ||
7306 | }; | ||
7307 | } | ||
7308 | { | ||
7309 | name = "regjsgen___regjsgen_0.5.2.tgz"; | ||
7310 | path = fetchurl { | ||
7311 | name = "regjsgen___regjsgen_0.5.2.tgz"; | ||
7312 | url = "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz"; | ||
7313 | sha1 = "92ff295fb1deecbf6ecdab2543d207e91aa33733"; | ||
7314 | }; | ||
7315 | } | ||
7316 | { | ||
7317 | name = "regjsparser___regjsparser_0.6.4.tgz"; | ||
7318 | path = fetchurl { | ||
7319 | name = "regjsparser___regjsparser_0.6.4.tgz"; | ||
7320 | url = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz"; | ||
7321 | sha1 = "a769f8684308401a66e9b529d2436ff4d0666272"; | ||
7322 | }; | ||
7323 | } | ||
7324 | { | ||
7325 | name = "relateurl___relateurl_0.2.7.tgz"; | ||
7326 | path = fetchurl { | ||
7327 | name = "relateurl___relateurl_0.2.7.tgz"; | ||
7328 | url = "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz"; | ||
7329 | sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9"; | ||
7330 | }; | ||
7331 | } | ||
7332 | { | ||
7333 | name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; | ||
7334 | path = fetchurl { | ||
7335 | name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz"; | ||
7336 | url = "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz"; | ||
7337 | sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef"; | ||
7338 | }; | ||
7339 | } | ||
7340 | { | ||
7341 | name = "renderkid___renderkid_2.0.3.tgz"; | ||
7342 | path = fetchurl { | ||
7343 | name = "renderkid___renderkid_2.0.3.tgz"; | ||
7344 | url = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz"; | ||
7345 | sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149"; | ||
7346 | }; | ||
7347 | } | ||
7348 | { | ||
7349 | name = "repeat_element___repeat_element_1.1.3.tgz"; | ||
7350 | path = fetchurl { | ||
7351 | name = "repeat_element___repeat_element_1.1.3.tgz"; | ||
7352 | url = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz"; | ||
7353 | sha1 = "782e0d825c0c5a3bb39731f84efee6b742e6b1ce"; | ||
7354 | }; | ||
7355 | } | ||
7356 | { | ||
7357 | name = "repeat_string___repeat_string_1.6.1.tgz"; | ||
7358 | path = fetchurl { | ||
7359 | name = "repeat_string___repeat_string_1.6.1.tgz"; | ||
7360 | url = "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz"; | ||
7361 | sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637"; | ||
7362 | }; | ||
7363 | } | ||
7364 | { | ||
7365 | name = "request_promise_core___request_promise_core_1.1.3.tgz"; | ||
7366 | path = fetchurl { | ||
7367 | name = "request_promise_core___request_promise_core_1.1.3.tgz"; | ||
7368 | url = "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz"; | ||
7369 | sha1 = "e9a3c081b51380dfea677336061fea879a829ee9"; | ||
7370 | }; | ||
7371 | } | ||
7372 | { | ||
7373 | name = "request_promise_native___request_promise_native_1.0.8.tgz"; | ||
7374 | path = fetchurl { | ||
7375 | name = "request_promise_native___request_promise_native_1.0.8.tgz"; | ||
7376 | url = "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz"; | ||
7377 | sha1 = "a455b960b826e44e2bf8999af64dff2bfe58cb36"; | ||
7378 | }; | ||
7379 | } | ||
7380 | { | ||
7381 | name = "request___request_2.88.2.tgz"; | ||
7382 | path = fetchurl { | ||
7383 | name = "request___request_2.88.2.tgz"; | ||
7384 | url = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz"; | ||
7385 | sha1 = "d73c918731cb5a87da047e207234146f664d12b3"; | ||
7386 | }; | ||
7387 | } | ||
7388 | { | ||
7389 | name = "require_directory___require_directory_2.1.1.tgz"; | ||
7390 | path = fetchurl { | ||
7391 | name = "require_directory___require_directory_2.1.1.tgz"; | ||
7392 | url = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz"; | ||
7393 | sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"; | ||
7394 | }; | ||
7395 | } | ||
7396 | { | ||
7397 | name = "require_main_filename___require_main_filename_2.0.0.tgz"; | ||
7398 | path = fetchurl { | ||
7399 | name = "require_main_filename___require_main_filename_2.0.0.tgz"; | ||
7400 | url = "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz"; | ||
7401 | sha1 = "d0b329ecc7cc0f61649f62215be69af54aa8989b"; | ||
7402 | }; | ||
7403 | } | ||
7404 | { | ||
7405 | name = "requires_port___requires_port_1.0.0.tgz"; | ||
7406 | path = fetchurl { | ||
7407 | name = "requires_port___requires_port_1.0.0.tgz"; | ||
7408 | url = "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz"; | ||
7409 | sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff"; | ||
7410 | }; | ||
7411 | } | ||
7412 | { | ||
7413 | name = "resolve_cwd___resolve_cwd_2.0.0.tgz"; | ||
7414 | path = fetchurl { | ||
7415 | name = "resolve_cwd___resolve_cwd_2.0.0.tgz"; | ||
7416 | url = "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz"; | ||
7417 | sha1 = "00a9f7387556e27038eae232caa372a6a59b665a"; | ||
7418 | }; | ||
7419 | } | ||
7420 | { | ||
7421 | name = "resolve_from___resolve_from_3.0.0.tgz"; | ||
7422 | path = fetchurl { | ||
7423 | name = "resolve_from___resolve_from_3.0.0.tgz"; | ||
7424 | url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz"; | ||
7425 | sha1 = "b22c7af7d9d6881bc8b6e653335eebcb0a188748"; | ||
7426 | }; | ||
7427 | } | ||
7428 | { | ||
7429 | name = "resolve_from___resolve_from_4.0.0.tgz"; | ||
7430 | path = fetchurl { | ||
7431 | name = "resolve_from___resolve_from_4.0.0.tgz"; | ||
7432 | url = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz"; | ||
7433 | sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6"; | ||
7434 | }; | ||
7435 | } | ||
7436 | { | ||
7437 | name = "resolve_url___resolve_url_0.2.1.tgz"; | ||
7438 | path = fetchurl { | ||
7439 | name = "resolve_url___resolve_url_0.2.1.tgz"; | ||
7440 | url = "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz"; | ||
7441 | sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a"; | ||
7442 | }; | ||
7443 | } | ||
7444 | { | ||
7445 | name = "resolve___resolve_1.17.0.tgz"; | ||
7446 | path = fetchurl { | ||
7447 | name = "resolve___resolve_1.17.0.tgz"; | ||
7448 | url = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz"; | ||
7449 | sha1 = "b25941b54968231cc2d1bb76a79cb7f2c0bf8444"; | ||
7450 | }; | ||
7451 | } | ||
7452 | { | ||
7453 | name = "restore_cursor___restore_cursor_2.0.0.tgz"; | ||
7454 | path = fetchurl { | ||
7455 | name = "restore_cursor___restore_cursor_2.0.0.tgz"; | ||
7456 | url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz"; | ||
7457 | sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf"; | ||
7458 | }; | ||
7459 | } | ||
7460 | { | ||
7461 | name = "restore_cursor___restore_cursor_3.1.0.tgz"; | ||
7462 | path = fetchurl { | ||
7463 | name = "restore_cursor___restore_cursor_3.1.0.tgz"; | ||
7464 | url = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz"; | ||
7465 | sha1 = "39f67c54b3a7a58cea5236d95cf0034239631f7e"; | ||
7466 | }; | ||
7467 | } | ||
7468 | { | ||
7469 | name = "ret___ret_0.1.15.tgz"; | ||
7470 | path = fetchurl { | ||
7471 | name = "ret___ret_0.1.15.tgz"; | ||
7472 | url = "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz"; | ||
7473 | sha1 = "b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"; | ||
7474 | }; | ||
7475 | } | ||
7476 | { | ||
7477 | name = "retry___retry_0.12.0.tgz"; | ||
7478 | path = fetchurl { | ||
7479 | name = "retry___retry_0.12.0.tgz"; | ||
7480 | url = "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz"; | ||
7481 | sha1 = "1b42a6266a21f07421d1b0b54b7dc167b01c013b"; | ||
7482 | }; | ||
7483 | } | ||
7484 | { | ||
7485 | name = "rgb_regex___rgb_regex_1.0.1.tgz"; | ||
7486 | path = fetchurl { | ||
7487 | name = "rgb_regex___rgb_regex_1.0.1.tgz"; | ||
7488 | url = "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz"; | ||
7489 | sha1 = "c0e0d6882df0e23be254a475e8edd41915feaeb1"; | ||
7490 | }; | ||
7491 | } | ||
7492 | { | ||
7493 | name = "rgba_regex___rgba_regex_1.0.0.tgz"; | ||
7494 | path = fetchurl { | ||
7495 | name = "rgba_regex___rgba_regex_1.0.0.tgz"; | ||
7496 | url = "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz"; | ||
7497 | sha1 = "43374e2e2ca0968b0ef1523460b7d730ff22eeb3"; | ||
7498 | }; | ||
7499 | } | ||
7500 | { | ||
7501 | name = "rimraf___rimraf_2.6.3.tgz"; | ||
7502 | path = fetchurl { | ||
7503 | name = "rimraf___rimraf_2.6.3.tgz"; | ||
7504 | url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz"; | ||
7505 | sha1 = "b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"; | ||
7506 | }; | ||
7507 | } | ||
7508 | { | ||
7509 | name = "rimraf___rimraf_2.7.1.tgz"; | ||
7510 | path = fetchurl { | ||
7511 | name = "rimraf___rimraf_2.7.1.tgz"; | ||
7512 | url = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz"; | ||
7513 | sha1 = "35797f13a7fdadc566142c29d4f07ccad483e3ec"; | ||
7514 | }; | ||
7515 | } | ||
7516 | { | ||
7517 | name = "ripemd160___ripemd160_2.0.2.tgz"; | ||
7518 | path = fetchurl { | ||
7519 | name = "ripemd160___ripemd160_2.0.2.tgz"; | ||
7520 | url = "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz"; | ||
7521 | sha1 = "a1c1a6f624751577ba5d07914cbc92850585890c"; | ||
7522 | }; | ||
7523 | } | ||
7524 | { | ||
7525 | name = "run_async___run_async_2.4.1.tgz"; | ||
7526 | path = fetchurl { | ||
7527 | name = "run_async___run_async_2.4.1.tgz"; | ||
7528 | url = "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz"; | ||
7529 | sha1 = "8440eccf99ea3e70bd409d49aab88e10c189a455"; | ||
7530 | }; | ||
7531 | } | ||
7532 | { | ||
7533 | name = "run_queue___run_queue_1.0.3.tgz"; | ||
7534 | path = fetchurl { | ||
7535 | name = "run_queue___run_queue_1.0.3.tgz"; | ||
7536 | url = "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz"; | ||
7537 | sha1 = "e848396f057d223f24386924618e25694161ec47"; | ||
7538 | }; | ||
7539 | } | ||
7540 | { | ||
7541 | name = "rxjs___rxjs_6.5.5.tgz"; | ||
7542 | path = fetchurl { | ||
7543 | name = "rxjs___rxjs_6.5.5.tgz"; | ||
7544 | url = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz"; | ||
7545 | sha1 = "c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec"; | ||
7546 | }; | ||
7547 | } | ||
7548 | { | ||
7549 | name = "safe_buffer___safe_buffer_5.1.2.tgz"; | ||
7550 | path = fetchurl { | ||
7551 | name = "safe_buffer___safe_buffer_5.1.2.tgz"; | ||
7552 | url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz"; | ||
7553 | sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d"; | ||
7554 | }; | ||
7555 | } | ||
7556 | { | ||
7557 | name = "safe_buffer___safe_buffer_5.2.1.tgz"; | ||
7558 | path = fetchurl { | ||
7559 | name = "safe_buffer___safe_buffer_5.2.1.tgz"; | ||
7560 | url = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz"; | ||
7561 | sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"; | ||
7562 | }; | ||
7563 | } | ||
7564 | { | ||
7565 | name = "safe_regex___safe_regex_1.1.0.tgz"; | ||
7566 | path = fetchurl { | ||
7567 | name = "safe_regex___safe_regex_1.1.0.tgz"; | ||
7568 | url = "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz"; | ||
7569 | sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e"; | ||
7570 | }; | ||
7571 | } | ||
7572 | { | ||
7573 | name = "safer_buffer___safer_buffer_2.1.2.tgz"; | ||
7574 | path = fetchurl { | ||
7575 | name = "safer_buffer___safer_buffer_2.1.2.tgz"; | ||
7576 | url = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz"; | ||
7577 | sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a"; | ||
7578 | }; | ||
7579 | } | ||
7580 | { | ||
7581 | name = "sass_loader___sass_loader_8.0.2.tgz"; | ||
7582 | path = fetchurl { | ||
7583 | name = "sass_loader___sass_loader_8.0.2.tgz"; | ||
7584 | url = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz"; | ||
7585 | sha1 = "debecd8c3ce243c76454f2e8290482150380090d"; | ||
7586 | }; | ||
7587 | } | ||
7588 | { | ||
7589 | name = "sass___sass_1.26.8.tgz"; | ||
7590 | path = fetchurl { | ||
7591 | name = "sass___sass_1.26.8.tgz"; | ||
7592 | url = "https://registry.yarnpkg.com/sass/-/sass-1.26.8.tgz"; | ||
7593 | sha1 = "312652530721f9568d4c4000b0db07ec6eb23325"; | ||
7594 | }; | ||
7595 | } | ||
7596 | { | ||
7597 | name = "sax___sax_1.2.4.tgz"; | ||
7598 | path = fetchurl { | ||
7599 | name = "sax___sax_1.2.4.tgz"; | ||
7600 | url = "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz"; | ||
7601 | sha1 = "2816234e2378bddc4e5354fab5caa895df7100d9"; | ||
7602 | }; | ||
7603 | } | ||
7604 | { | ||
7605 | name = "schema_utils___schema_utils_1.0.0.tgz"; | ||
7606 | path = fetchurl { | ||
7607 | name = "schema_utils___schema_utils_1.0.0.tgz"; | ||
7608 | url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz"; | ||
7609 | sha1 = "0b79a93204d7b600d4b2850d1f66c2a34951c770"; | ||
7610 | }; | ||
7611 | } | ||
7612 | { | ||
7613 | name = "schema_utils___schema_utils_2.7.0.tgz"; | ||
7614 | path = fetchurl { | ||
7615 | name = "schema_utils___schema_utils_2.7.0.tgz"; | ||
7616 | url = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz"; | ||
7617 | sha1 = "17151f76d8eae67fbbf77960c33c676ad9f4efc7"; | ||
7618 | }; | ||
7619 | } | ||
7620 | { | ||
7621 | name = "select_hose___select_hose_2.0.0.tgz"; | ||
7622 | path = fetchurl { | ||
7623 | name = "select_hose___select_hose_2.0.0.tgz"; | ||
7624 | url = "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz"; | ||
7625 | sha1 = "625d8658f865af43ec962bfc376a37359a4994ca"; | ||
7626 | }; | ||
7627 | } | ||
7628 | { | ||
7629 | name = "selfsigned___selfsigned_1.10.7.tgz"; | ||
7630 | path = fetchurl { | ||
7631 | name = "selfsigned___selfsigned_1.10.7.tgz"; | ||
7632 | url = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz"; | ||
7633 | sha1 = "da5819fd049d5574f28e88a9bcc6dbc6e6f3906b"; | ||
7634 | }; | ||
7635 | } | ||
7636 | { | ||
7637 | name = "semver___semver_5.7.1.tgz"; | ||
7638 | path = fetchurl { | ||
7639 | name = "semver___semver_5.7.1.tgz"; | ||
7640 | url = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz"; | ||
7641 | sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7"; | ||
7642 | }; | ||
7643 | } | ||
7644 | { | ||
7645 | name = "semver___semver_7.0.0.tgz"; | ||
7646 | path = fetchurl { | ||
7647 | name = "semver___semver_7.0.0.tgz"; | ||
7648 | url = "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz"; | ||
7649 | sha1 = "5f3ca35761e47e05b206c6daff2cf814f0316b8e"; | ||
7650 | }; | ||
7651 | } | ||
7652 | { | ||
7653 | name = "semver___semver_6.3.0.tgz"; | ||
7654 | path = fetchurl { | ||
7655 | name = "semver___semver_6.3.0.tgz"; | ||
7656 | url = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz"; | ||
7657 | sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d"; | ||
7658 | }; | ||
7659 | } | ||
7660 | { | ||
7661 | name = "semver___semver_7.3.2.tgz"; | ||
7662 | path = fetchurl { | ||
7663 | name = "semver___semver_7.3.2.tgz"; | ||
7664 | url = "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz"; | ||
7665 | sha1 = "604962b052b81ed0786aae84389ffba70ffd3938"; | ||
7666 | }; | ||
7667 | } | ||
7668 | { | ||
7669 | name = "send___send_0.17.1.tgz"; | ||
7670 | path = fetchurl { | ||
7671 | name = "send___send_0.17.1.tgz"; | ||
7672 | url = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz"; | ||
7673 | sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8"; | ||
7674 | }; | ||
7675 | } | ||
7676 | { | ||
7677 | name = "serialize_javascript___serialize_javascript_2.1.2.tgz"; | ||
7678 | path = fetchurl { | ||
7679 | name = "serialize_javascript___serialize_javascript_2.1.2.tgz"; | ||
7680 | url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz"; | ||
7681 | sha1 = "ecec53b0e0317bdc95ef76ab7074b7384785fa61"; | ||
7682 | }; | ||
7683 | } | ||
7684 | { | ||
7685 | name = "serialize_javascript___serialize_javascript_3.1.0.tgz"; | ||
7686 | path = fetchurl { | ||
7687 | name = "serialize_javascript___serialize_javascript_3.1.0.tgz"; | ||
7688 | url = "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz"; | ||
7689 | sha1 = "8bf3a9170712664ef2561b44b691eafe399214ea"; | ||
7690 | }; | ||
7691 | } | ||
7692 | { | ||
7693 | name = "serve_index___serve_index_1.9.1.tgz"; | ||
7694 | path = fetchurl { | ||
7695 | name = "serve_index___serve_index_1.9.1.tgz"; | ||
7696 | url = "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz"; | ||
7697 | sha1 = "d3768d69b1e7d82e5ce050fff5b453bea12a9239"; | ||
7698 | }; | ||
7699 | } | ||
7700 | { | ||
7701 | name = "serve_static___serve_static_1.14.1.tgz"; | ||
7702 | path = fetchurl { | ||
7703 | name = "serve_static___serve_static_1.14.1.tgz"; | ||
7704 | url = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz"; | ||
7705 | sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9"; | ||
7706 | }; | ||
7707 | } | ||
7708 | { | ||
7709 | name = "set_blocking___set_blocking_2.0.0.tgz"; | ||
7710 | path = fetchurl { | ||
7711 | name = "set_blocking___set_blocking_2.0.0.tgz"; | ||
7712 | url = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz"; | ||
7713 | sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7"; | ||
7714 | }; | ||
7715 | } | ||
7716 | { | ||
7717 | name = "set_value___set_value_2.0.1.tgz"; | ||
7718 | path = fetchurl { | ||
7719 | name = "set_value___set_value_2.0.1.tgz"; | ||
7720 | url = "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz"; | ||
7721 | sha1 = "a18d40530e6f07de4228c7defe4227af8cad005b"; | ||
7722 | }; | ||
7723 | } | ||
7724 | { | ||
7725 | name = "setimmediate___setimmediate_1.0.5.tgz"; | ||
7726 | path = fetchurl { | ||
7727 | name = "setimmediate___setimmediate_1.0.5.tgz"; | ||
7728 | url = "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz"; | ||
7729 | sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285"; | ||
7730 | }; | ||
7731 | } | ||
7732 | { | ||
7733 | name = "setprototypeof___setprototypeof_1.1.0.tgz"; | ||
7734 | path = fetchurl { | ||
7735 | name = "setprototypeof___setprototypeof_1.1.0.tgz"; | ||
7736 | url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz"; | ||
7737 | sha1 = "d0bd85536887b6fe7c0d818cb962d9d91c54e656"; | ||
7738 | }; | ||
7739 | } | ||
7740 | { | ||
7741 | name = "setprototypeof___setprototypeof_1.1.1.tgz"; | ||
7742 | path = fetchurl { | ||
7743 | name = "setprototypeof___setprototypeof_1.1.1.tgz"; | ||
7744 | url = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz"; | ||
7745 | sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683"; | ||
7746 | }; | ||
7747 | } | ||
7748 | { | ||
7749 | name = "sha.js___sha.js_2.4.11.tgz"; | ||
7750 | path = fetchurl { | ||
7751 | name = "sha.js___sha.js_2.4.11.tgz"; | ||
7752 | url = "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz"; | ||
7753 | sha1 = "37a5cf0b81ecbc6943de109ba2960d1b26584ae7"; | ||
7754 | }; | ||
7755 | } | ||
7756 | { | ||
7757 | name = "shallow_clone___shallow_clone_3.0.1.tgz"; | ||
7758 | path = fetchurl { | ||
7759 | name = "shallow_clone___shallow_clone_3.0.1.tgz"; | ||
7760 | url = "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz"; | ||
7761 | sha1 = "8f2981ad92531f55035b01fb230769a40e02efa3"; | ||
7762 | }; | ||
7763 | } | ||
7764 | { | ||
7765 | name = "shebang_command___shebang_command_1.2.0.tgz"; | ||
7766 | path = fetchurl { | ||
7767 | name = "shebang_command___shebang_command_1.2.0.tgz"; | ||
7768 | url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz"; | ||
7769 | sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea"; | ||
7770 | }; | ||
7771 | } | ||
7772 | { | ||
7773 | name = "shebang_command___shebang_command_2.0.0.tgz"; | ||
7774 | path = fetchurl { | ||
7775 | name = "shebang_command___shebang_command_2.0.0.tgz"; | ||
7776 | url = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz"; | ||
7777 | sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea"; | ||
7778 | }; | ||
7779 | } | ||
7780 | { | ||
7781 | name = "shebang_regex___shebang_regex_1.0.0.tgz"; | ||
7782 | path = fetchurl { | ||
7783 | name = "shebang_regex___shebang_regex_1.0.0.tgz"; | ||
7784 | url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz"; | ||
7785 | sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3"; | ||
7786 | }; | ||
7787 | } | ||
7788 | { | ||
7789 | name = "shebang_regex___shebang_regex_3.0.0.tgz"; | ||
7790 | path = fetchurl { | ||
7791 | name = "shebang_regex___shebang_regex_3.0.0.tgz"; | ||
7792 | url = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz"; | ||
7793 | sha1 = "ae16f1644d873ecad843b0307b143362d4c42172"; | ||
7794 | }; | ||
7795 | } | ||
7796 | { | ||
7797 | name = "shell_quote___shell_quote_1.7.2.tgz"; | ||
7798 | path = fetchurl { | ||
7799 | name = "shell_quote___shell_quote_1.7.2.tgz"; | ||
7800 | url = "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz"; | ||
7801 | sha1 = "67a7d02c76c9da24f99d20808fcaded0e0e04be2"; | ||
7802 | }; | ||
7803 | } | ||
7804 | { | ||
7805 | name = "signal_exit___signal_exit_3.0.3.tgz"; | ||
7806 | path = fetchurl { | ||
7807 | name = "signal_exit___signal_exit_3.0.3.tgz"; | ||
7808 | url = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz"; | ||
7809 | sha1 = "a1410c2edd8f077b08b4e253c8eacfcaf057461c"; | ||
7810 | }; | ||
7811 | } | ||
7812 | { | ||
7813 | name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; | ||
7814 | path = fetchurl { | ||
7815 | name = "simple_swizzle___simple_swizzle_0.2.2.tgz"; | ||
7816 | url = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz"; | ||
7817 | sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a"; | ||
7818 | }; | ||
7819 | } | ||
7820 | { | ||
7821 | name = "slash___slash_1.0.0.tgz"; | ||
7822 | path = fetchurl { | ||
7823 | name = "slash___slash_1.0.0.tgz"; | ||
7824 | url = "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz"; | ||
7825 | sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"; | ||
7826 | }; | ||
7827 | } | ||
7828 | { | ||
7829 | name = "slash___slash_2.0.0.tgz"; | ||
7830 | path = fetchurl { | ||
7831 | name = "slash___slash_2.0.0.tgz"; | ||
7832 | url = "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz"; | ||
7833 | sha1 = "de552851a1759df3a8f206535442f5ec4ddeab44"; | ||
7834 | }; | ||
7835 | } | ||
7836 | { | ||
7837 | name = "slice_ansi___slice_ansi_2.1.0.tgz"; | ||
7838 | path = fetchurl { | ||
7839 | name = "slice_ansi___slice_ansi_2.1.0.tgz"; | ||
7840 | url = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz"; | ||
7841 | sha1 = "cacd7693461a637a5788d92a7dd4fba068e81636"; | ||
7842 | }; | ||
7843 | } | ||
7844 | { | ||
7845 | name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; | ||
7846 | path = fetchurl { | ||
7847 | name = "snapdragon_node___snapdragon_node_2.1.1.tgz"; | ||
7848 | url = "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz"; | ||
7849 | sha1 = "6c175f86ff14bdb0724563e8f3c1b021a286853b"; | ||
7850 | }; | ||
7851 | } | ||
7852 | { | ||
7853 | name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; | ||
7854 | path = fetchurl { | ||
7855 | name = "snapdragon_util___snapdragon_util_3.0.1.tgz"; | ||
7856 | url = "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz"; | ||
7857 | sha1 = "f956479486f2acd79700693f6f7b805e45ab56e2"; | ||
7858 | }; | ||
7859 | } | ||
7860 | { | ||
7861 | name = "snapdragon___snapdragon_0.8.2.tgz"; | ||
7862 | path = fetchurl { | ||
7863 | name = "snapdragon___snapdragon_0.8.2.tgz"; | ||
7864 | url = "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz"; | ||
7865 | sha1 = "64922e7c565b0e14204ba1aa7d6964278d25182d"; | ||
7866 | }; | ||
7867 | } | ||
7868 | { | ||
7869 | name = "sockjs_client___sockjs_client_1.4.0.tgz"; | ||
7870 | path = fetchurl { | ||
7871 | name = "sockjs_client___sockjs_client_1.4.0.tgz"; | ||
7872 | url = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz"; | ||
7873 | sha1 = "c9f2568e19c8fd8173b4997ea3420e0bb306c7d5"; | ||
7874 | }; | ||
7875 | } | ||
7876 | { | ||
7877 | name = "sockjs___sockjs_0.3.20.tgz"; | ||
7878 | path = fetchurl { | ||
7879 | name = "sockjs___sockjs_0.3.20.tgz"; | ||
7880 | url = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.20.tgz"; | ||
7881 | sha1 = "b26a283ec562ef8b2687b44033a4eeceac75d855"; | ||
7882 | }; | ||
7883 | } | ||
7884 | { | ||
7885 | name = "sort_keys___sort_keys_1.1.2.tgz"; | ||
7886 | path = fetchurl { | ||
7887 | name = "sort_keys___sort_keys_1.1.2.tgz"; | ||
7888 | url = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz"; | ||
7889 | sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad"; | ||
7890 | }; | ||
7891 | } | ||
7892 | { | ||
7893 | name = "source_list_map___source_list_map_2.0.1.tgz"; | ||
7894 | path = fetchurl { | ||
7895 | name = "source_list_map___source_list_map_2.0.1.tgz"; | ||
7896 | url = "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz"; | ||
7897 | sha1 = "3993bd873bfc48479cca9ea3a547835c7c154b34"; | ||
7898 | }; | ||
7899 | } | ||
7900 | { | ||
7901 | name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; | ||
7902 | path = fetchurl { | ||
7903 | name = "source_map_resolve___source_map_resolve_0.5.3.tgz"; | ||
7904 | url = "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz"; | ||
7905 | sha1 = "190866bece7553e1f8f267a2ee82c606b5509a1a"; | ||
7906 | }; | ||
7907 | } | ||
7908 | { | ||
7909 | name = "source_map_support___source_map_support_0.5.19.tgz"; | ||
7910 | path = fetchurl { | ||
7911 | name = "source_map_support___source_map_support_0.5.19.tgz"; | ||
7912 | url = "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz"; | ||
7913 | sha1 = "a98b62f86dcaf4f67399648c085291ab9e8fed61"; | ||
7914 | }; | ||
7915 | } | ||
7916 | { | ||
7917 | name = "source_map_url___source_map_url_0.4.0.tgz"; | ||
7918 | path = fetchurl { | ||
7919 | name = "source_map_url___source_map_url_0.4.0.tgz"; | ||
7920 | url = "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz"; | ||
7921 | sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3"; | ||
7922 | }; | ||
7923 | } | ||
7924 | { | ||
7925 | name = "source_map___source_map_0.5.7.tgz"; | ||
7926 | path = fetchurl { | ||
7927 | name = "source_map___source_map_0.5.7.tgz"; | ||
7928 | url = "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz"; | ||
7929 | sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"; | ||
7930 | }; | ||
7931 | } | ||
7932 | { | ||
7933 | name = "source_map___source_map_0.6.1.tgz"; | ||
7934 | path = fetchurl { | ||
7935 | name = "source_map___source_map_0.6.1.tgz"; | ||
7936 | url = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz"; | ||
7937 | sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263"; | ||
7938 | }; | ||
7939 | } | ||
7940 | { | ||
7941 | name = "spdx_correct___spdx_correct_3.1.1.tgz"; | ||
7942 | path = fetchurl { | ||
7943 | name = "spdx_correct___spdx_correct_3.1.1.tgz"; | ||
7944 | url = "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz"; | ||
7945 | sha1 = "dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"; | ||
7946 | }; | ||
7947 | } | ||
7948 | { | ||
7949 | name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; | ||
7950 | path = fetchurl { | ||
7951 | name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz"; | ||
7952 | url = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"; | ||
7953 | sha1 = "3f28ce1a77a00372683eade4a433183527a2163d"; | ||
7954 | }; | ||
7955 | } | ||
7956 | { | ||
7957 | name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz"; | ||
7958 | path = fetchurl { | ||
7959 | name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz"; | ||
7960 | url = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz"; | ||
7961 | sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679"; | ||
7962 | }; | ||
7963 | } | ||
7964 | { | ||
7965 | name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz"; | ||
7966 | path = fetchurl { | ||
7967 | name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz"; | ||
7968 | url = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz"; | ||
7969 | sha1 = "3694b5804567a458d3c8045842a6358632f62654"; | ||
7970 | }; | ||
7971 | } | ||
7972 | { | ||
7973 | name = "spdy_transport___spdy_transport_3.0.0.tgz"; | ||
7974 | path = fetchurl { | ||
7975 | name = "spdy_transport___spdy_transport_3.0.0.tgz"; | ||
7976 | url = "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz"; | ||
7977 | sha1 = "00d4863a6400ad75df93361a1608605e5dcdcf31"; | ||
7978 | }; | ||
7979 | } | ||
7980 | { | ||
7981 | name = "spdy___spdy_4.0.2.tgz"; | ||
7982 | path = fetchurl { | ||
7983 | name = "spdy___spdy_4.0.2.tgz"; | ||
7984 | url = "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz"; | ||
7985 | sha1 = "b74f466203a3eda452c02492b91fb9e84a27677b"; | ||
7986 | }; | ||
7987 | } | ||
7988 | { | ||
7989 | name = "split_string___split_string_3.1.0.tgz"; | ||
7990 | path = fetchurl { | ||
7991 | name = "split_string___split_string_3.1.0.tgz"; | ||
7992 | url = "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz"; | ||
7993 | sha1 = "7cb09dda3a86585705c64b39a6466038682e8fe2"; | ||
7994 | }; | ||
7995 | } | ||
7996 | { | ||
7997 | name = "sprintf_js___sprintf_js_1.0.3.tgz"; | ||
7998 | path = fetchurl { | ||
7999 | name = "sprintf_js___sprintf_js_1.0.3.tgz"; | ||
8000 | url = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz"; | ||
8001 | sha1 = "04e6926f662895354f3dd015203633b857297e2c"; | ||
8002 | }; | ||
8003 | } | ||
8004 | { | ||
8005 | name = "sshpk___sshpk_1.16.1.tgz"; | ||
8006 | path = fetchurl { | ||
8007 | name = "sshpk___sshpk_1.16.1.tgz"; | ||
8008 | url = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz"; | ||
8009 | sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877"; | ||
8010 | }; | ||
8011 | } | ||
8012 | { | ||
8013 | name = "ssri___ssri_6.0.1.tgz"; | ||
8014 | path = fetchurl { | ||
8015 | name = "ssri___ssri_6.0.1.tgz"; | ||
8016 | url = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz"; | ||
8017 | sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8"; | ||
8018 | }; | ||
8019 | } | ||
8020 | { | ||
8021 | name = "ssri___ssri_7.1.0.tgz"; | ||
8022 | path = fetchurl { | ||
8023 | name = "ssri___ssri_7.1.0.tgz"; | ||
8024 | url = "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz"; | ||
8025 | sha1 = "92c241bf6de82365b5c7fb4bd76e975522e1294d"; | ||
8026 | }; | ||
8027 | } | ||
8028 | { | ||
8029 | name = "stable___stable_0.1.8.tgz"; | ||
8030 | path = fetchurl { | ||
8031 | name = "stable___stable_0.1.8.tgz"; | ||
8032 | url = "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz"; | ||
8033 | sha1 = "836eb3c8382fe2936feaf544631017ce7d47a3cf"; | ||
8034 | }; | ||
8035 | } | ||
8036 | { | ||
8037 | name = "stackframe___stackframe_1.2.0.tgz"; | ||
8038 | path = fetchurl { | ||
8039 | name = "stackframe___stackframe_1.2.0.tgz"; | ||
8040 | url = "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz"; | ||
8041 | sha1 = "52429492d63c62eb989804c11552e3d22e779303"; | ||
8042 | }; | ||
8043 | } | ||
8044 | { | ||
8045 | name = "static_extend___static_extend_0.1.2.tgz"; | ||
8046 | path = fetchurl { | ||
8047 | name = "static_extend___static_extend_0.1.2.tgz"; | ||
8048 | url = "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz"; | ||
8049 | sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6"; | ||
8050 | }; | ||
8051 | } | ||
8052 | { | ||
8053 | name = "statuses___statuses_1.5.0.tgz"; | ||
8054 | path = fetchurl { | ||
8055 | name = "statuses___statuses_1.5.0.tgz"; | ||
8056 | url = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz"; | ||
8057 | sha1 = "161c7dac177659fd9811f43771fa99381478628c"; | ||
8058 | }; | ||
8059 | } | ||
8060 | { | ||
8061 | name = "stealthy_require___stealthy_require_1.1.1.tgz"; | ||
8062 | path = fetchurl { | ||
8063 | name = "stealthy_require___stealthy_require_1.1.1.tgz"; | ||
8064 | url = "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz"; | ||
8065 | sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b"; | ||
8066 | }; | ||
8067 | } | ||
8068 | { | ||
8069 | name = "stream_browserify___stream_browserify_2.0.2.tgz"; | ||
8070 | path = fetchurl { | ||
8071 | name = "stream_browserify___stream_browserify_2.0.2.tgz"; | ||
8072 | url = "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz"; | ||
8073 | sha1 = "87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"; | ||
8074 | }; | ||
8075 | } | ||
8076 | { | ||
8077 | name = "stream_each___stream_each_1.2.3.tgz"; | ||
8078 | path = fetchurl { | ||
8079 | name = "stream_each___stream_each_1.2.3.tgz"; | ||
8080 | url = "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz"; | ||
8081 | sha1 = "ebe27a0c389b04fbcc233642952e10731afa9bae"; | ||
8082 | }; | ||
8083 | } | ||
8084 | { | ||
8085 | name = "stream_http___stream_http_2.8.3.tgz"; | ||
8086 | path = fetchurl { | ||
8087 | name = "stream_http___stream_http_2.8.3.tgz"; | ||
8088 | url = "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz"; | ||
8089 | sha1 = "b2d242469288a5a27ec4fe8933acf623de6514fc"; | ||
8090 | }; | ||
8091 | } | ||
8092 | { | ||
8093 | name = "stream_shift___stream_shift_1.0.1.tgz"; | ||
8094 | path = fetchurl { | ||
8095 | name = "stream_shift___stream_shift_1.0.1.tgz"; | ||
8096 | url = "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz"; | ||
8097 | sha1 = "d7088281559ab2778424279b0877da3c392d5a3d"; | ||
8098 | }; | ||
8099 | } | ||
8100 | { | ||
8101 | name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz"; | ||
8102 | path = fetchurl { | ||
8103 | name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz"; | ||
8104 | url = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz"; | ||
8105 | sha1 = "279b225df1d582b1f54e65addd4352e18faa0713"; | ||
8106 | }; | ||
8107 | } | ||
8108 | { | ||
8109 | name = "string_width___string_width_2.1.1.tgz"; | ||
8110 | path = fetchurl { | ||
8111 | name = "string_width___string_width_2.1.1.tgz"; | ||
8112 | url = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz"; | ||
8113 | sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e"; | ||
8114 | }; | ||
8115 | } | ||
8116 | { | ||
8117 | name = "string_width___string_width_3.1.0.tgz"; | ||
8118 | path = fetchurl { | ||
8119 | name = "string_width___string_width_3.1.0.tgz"; | ||
8120 | url = "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz"; | ||
8121 | sha1 = "22767be21b62af1081574306f69ac51b62203961"; | ||
8122 | }; | ||
8123 | } | ||
8124 | { | ||
8125 | name = "string_width___string_width_4.2.0.tgz"; | ||
8126 | path = fetchurl { | ||
8127 | name = "string_width___string_width_4.2.0.tgz"; | ||
8128 | url = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz"; | ||
8129 | sha1 = "952182c46cc7b2c313d1596e623992bd163b72b5"; | ||
8130 | }; | ||
8131 | } | ||
8132 | { | ||
8133 | name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; | ||
8134 | path = fetchurl { | ||
8135 | name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz"; | ||
8136 | url = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz"; | ||
8137 | sha1 = "85812a6b847ac002270f5808146064c995fb6913"; | ||
8138 | }; | ||
8139 | } | ||
8140 | { | ||
8141 | name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; | ||
8142 | path = fetchurl { | ||
8143 | name = "string.prototype.trimleft___string.prototype.trimleft_2.1.2.tgz"; | ||
8144 | url = "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz"; | ||
8145 | sha1 = "4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc"; | ||
8146 | }; | ||
8147 | } | ||
8148 | { | ||
8149 | name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; | ||
8150 | path = fetchurl { | ||
8151 | name = "string.prototype.trimright___string.prototype.trimright_2.1.2.tgz"; | ||
8152 | url = "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz"; | ||
8153 | sha1 = "c76f1cef30f21bbad8afeb8db1511496cfb0f2a3"; | ||
8154 | }; | ||
8155 | } | ||
8156 | { | ||
8157 | name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; | ||
8158 | path = fetchurl { | ||
8159 | name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz"; | ||
8160 | url = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz"; | ||
8161 | sha1 = "14af6d9f34b053f7cfc89b72f8f2ee14b9039a54"; | ||
8162 | }; | ||
8163 | } | ||
8164 | { | ||
8165 | name = "string_decoder___string_decoder_1.3.0.tgz"; | ||
8166 | path = fetchurl { | ||
8167 | name = "string_decoder___string_decoder_1.3.0.tgz"; | ||
8168 | url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz"; | ||
8169 | sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e"; | ||
8170 | }; | ||
8171 | } | ||
8172 | { | ||
8173 | name = "string_decoder___string_decoder_1.1.1.tgz"; | ||
8174 | path = fetchurl { | ||
8175 | name = "string_decoder___string_decoder_1.1.1.tgz"; | ||
8176 | url = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz"; | ||
8177 | sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8"; | ||
8178 | }; | ||
8179 | } | ||
8180 | { | ||
8181 | name = "stringify_object___stringify_object_3.3.0.tgz"; | ||
8182 | path = fetchurl { | ||
8183 | name = "stringify_object___stringify_object_3.3.0.tgz"; | ||
8184 | url = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz"; | ||
8185 | sha1 = "703065aefca19300d3ce88af4f5b3956d7556629"; | ||
8186 | }; | ||
8187 | } | ||
8188 | { | ||
8189 | name = "strip_ansi___strip_ansi_3.0.1.tgz"; | ||
8190 | path = fetchurl { | ||
8191 | name = "strip_ansi___strip_ansi_3.0.1.tgz"; | ||
8192 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz"; | ||
8193 | sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"; | ||
8194 | }; | ||
8195 | } | ||
8196 | { | ||
8197 | name = "strip_ansi___strip_ansi_4.0.0.tgz"; | ||
8198 | path = fetchurl { | ||
8199 | name = "strip_ansi___strip_ansi_4.0.0.tgz"; | ||
8200 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz"; | ||
8201 | sha1 = "a8479022eb1ac368a871389b635262c505ee368f"; | ||
8202 | }; | ||
8203 | } | ||
8204 | { | ||
8205 | name = "strip_ansi___strip_ansi_5.2.0.tgz"; | ||
8206 | path = fetchurl { | ||
8207 | name = "strip_ansi___strip_ansi_5.2.0.tgz"; | ||
8208 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz"; | ||
8209 | sha1 = "8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"; | ||
8210 | }; | ||
8211 | } | ||
8212 | { | ||
8213 | name = "strip_ansi___strip_ansi_6.0.0.tgz"; | ||
8214 | path = fetchurl { | ||
8215 | name = "strip_ansi___strip_ansi_6.0.0.tgz"; | ||
8216 | url = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz"; | ||
8217 | sha1 = "0b1571dd7669ccd4f3e06e14ef1eed26225ae532"; | ||
8218 | }; | ||
8219 | } | ||
8220 | { | ||
8221 | name = "strip_comments___strip_comments_1.0.2.tgz"; | ||
8222 | path = fetchurl { | ||
8223 | name = "strip_comments___strip_comments_1.0.2.tgz"; | ||
8224 | url = "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz"; | ||
8225 | sha1 = "82b9c45e7f05873bee53f37168af930aa368679d"; | ||
8226 | }; | ||
8227 | } | ||
8228 | { | ||
8229 | name = "strip_eof___strip_eof_1.0.0.tgz"; | ||
8230 | path = fetchurl { | ||
8231 | name = "strip_eof___strip_eof_1.0.0.tgz"; | ||
8232 | url = "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz"; | ||
8233 | sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf"; | ||
8234 | }; | ||
8235 | } | ||
8236 | { | ||
8237 | name = "strip_final_newline___strip_final_newline_2.0.0.tgz"; | ||
8238 | path = fetchurl { | ||
8239 | name = "strip_final_newline___strip_final_newline_2.0.0.tgz"; | ||
8240 | url = "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz"; | ||
8241 | sha1 = "89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"; | ||
8242 | }; | ||
8243 | } | ||
8244 | { | ||
8245 | name = "strip_indent___strip_indent_2.0.0.tgz"; | ||
8246 | path = fetchurl { | ||
8247 | name = "strip_indent___strip_indent_2.0.0.tgz"; | ||
8248 | url = "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz"; | ||
8249 | sha1 = "5ef8db295d01e6ed6cbf7aab96998d7822527b68"; | ||
8250 | }; | ||
8251 | } | ||
8252 | { | ||
8253 | name = "strip_json_comments___strip_json_comments_3.1.0.tgz"; | ||
8254 | path = fetchurl { | ||
8255 | name = "strip_json_comments___strip_json_comments_3.1.0.tgz"; | ||
8256 | url = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz"; | ||
8257 | sha1 = "7638d31422129ecf4457440009fba03f9f9ac180"; | ||
8258 | }; | ||
8259 | } | ||
8260 | { | ||
8261 | name = "stylehacks___stylehacks_4.0.3.tgz"; | ||
8262 | path = fetchurl { | ||
8263 | name = "stylehacks___stylehacks_4.0.3.tgz"; | ||
8264 | url = "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz"; | ||
8265 | sha1 = "6718fcaf4d1e07d8a1318690881e8d96726a71d5"; | ||
8266 | }; | ||
8267 | } | ||
8268 | { | ||
8269 | name = "supports_color___supports_color_2.0.0.tgz"; | ||
8270 | path = fetchurl { | ||
8271 | name = "supports_color___supports_color_2.0.0.tgz"; | ||
8272 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz"; | ||
8273 | sha1 = "535d045ce6b6363fa40117084629995e9df324c7"; | ||
8274 | }; | ||
8275 | } | ||
8276 | { | ||
8277 | name = "supports_color___supports_color_5.5.0.tgz"; | ||
8278 | path = fetchurl { | ||
8279 | name = "supports_color___supports_color_5.5.0.tgz"; | ||
8280 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz"; | ||
8281 | sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f"; | ||
8282 | }; | ||
8283 | } | ||
8284 | { | ||
8285 | name = "supports_color___supports_color_6.1.0.tgz"; | ||
8286 | path = fetchurl { | ||
8287 | name = "supports_color___supports_color_6.1.0.tgz"; | ||
8288 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz"; | ||
8289 | sha1 = "0764abc69c63d5ac842dd4867e8d025e880df8f3"; | ||
8290 | }; | ||
8291 | } | ||
8292 | { | ||
8293 | name = "supports_color___supports_color_7.1.0.tgz"; | ||
8294 | path = fetchurl { | ||
8295 | name = "supports_color___supports_color_7.1.0.tgz"; | ||
8296 | url = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz"; | ||
8297 | sha1 = "68e32591df73e25ad1c4b49108a2ec507962bfd1"; | ||
8298 | }; | ||
8299 | } | ||
8300 | { | ||
8301 | name = "svg_tags___svg_tags_1.0.0.tgz"; | ||
8302 | path = fetchurl { | ||
8303 | name = "svg_tags___svg_tags_1.0.0.tgz"; | ||
8304 | url = "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz"; | ||
8305 | sha1 = "58f71cee3bd519b59d4b2a843b6c7de64ac04764"; | ||
8306 | }; | ||
8307 | } | ||
8308 | { | ||
8309 | name = "svgo___svgo_1.3.2.tgz"; | ||
8310 | path = fetchurl { | ||
8311 | name = "svgo___svgo_1.3.2.tgz"; | ||
8312 | url = "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz"; | ||
8313 | sha1 = "b6dc511c063346c9e415b81e43401145b96d4167"; | ||
8314 | }; | ||
8315 | } | ||
8316 | { | ||
8317 | name = "table___table_5.4.6.tgz"; | ||
8318 | path = fetchurl { | ||
8319 | name = "table___table_5.4.6.tgz"; | ||
8320 | url = "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz"; | ||
8321 | sha1 = "1292d19500ce3f86053b05f0e8e7e4a3bb21079e"; | ||
8322 | }; | ||
8323 | } | ||
8324 | { | ||
8325 | name = "tapable___tapable_1.1.3.tgz"; | ||
8326 | path = fetchurl { | ||
8327 | name = "tapable___tapable_1.1.3.tgz"; | ||
8328 | url = "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz"; | ||
8329 | sha1 = "a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"; | ||
8330 | }; | ||
8331 | } | ||
8332 | { | ||
8333 | name = "terser_webpack_plugin___terser_webpack_plugin_1.4.4.tgz"; | ||
8334 | path = fetchurl { | ||
8335 | name = "terser_webpack_plugin___terser_webpack_plugin_1.4.4.tgz"; | ||
8336 | url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz"; | ||
8337 | sha1 = "2c63544347324baafa9a56baaddf1634c8abfc2f"; | ||
8338 | }; | ||
8339 | } | ||
8340 | { | ||
8341 | name = "terser_webpack_plugin___terser_webpack_plugin_2.3.7.tgz"; | ||
8342 | path = fetchurl { | ||
8343 | name = "terser_webpack_plugin___terser_webpack_plugin_2.3.7.tgz"; | ||
8344 | url = "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz"; | ||
8345 | sha1 = "4910ff5d1a872168cc7fa6cd3749e2b0d60a8a0b"; | ||
8346 | }; | ||
8347 | } | ||
8348 | { | ||
8349 | name = "terser___terser_4.7.0.tgz"; | ||
8350 | path = fetchurl { | ||
8351 | name = "terser___terser_4.7.0.tgz"; | ||
8352 | url = "https://registry.yarnpkg.com/terser/-/terser-4.7.0.tgz"; | ||
8353 | sha1 = "15852cf1a08e3256a80428e865a2fa893ffba006"; | ||
8354 | }; | ||
8355 | } | ||
8356 | { | ||
8357 | name = "text_table___text_table_0.2.0.tgz"; | ||
8358 | path = fetchurl { | ||
8359 | name = "text_table___text_table_0.2.0.tgz"; | ||
8360 | url = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz"; | ||
8361 | sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4"; | ||
8362 | }; | ||
8363 | } | ||
8364 | { | ||
8365 | name = "thenify_all___thenify_all_1.6.0.tgz"; | ||
8366 | path = fetchurl { | ||
8367 | name = "thenify_all___thenify_all_1.6.0.tgz"; | ||
8368 | url = "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz"; | ||
8369 | sha1 = "1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"; | ||
8370 | }; | ||
8371 | } | ||
8372 | { | ||
8373 | name = "thenify___thenify_3.3.0.tgz"; | ||
8374 | path = fetchurl { | ||
8375 | name = "thenify___thenify_3.3.0.tgz"; | ||
8376 | url = "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz"; | ||
8377 | sha1 = "e69e38a1babe969b0108207978b9f62b88604839"; | ||
8378 | }; | ||
8379 | } | ||
8380 | { | ||
8381 | name = "thread_loader___thread_loader_2.1.3.tgz"; | ||
8382 | path = fetchurl { | ||
8383 | name = "thread_loader___thread_loader_2.1.3.tgz"; | ||
8384 | url = "https://registry.yarnpkg.com/thread-loader/-/thread-loader-2.1.3.tgz"; | ||
8385 | sha1 = "cbd2c139fc2b2de6e9d28f62286ab770c1acbdda"; | ||
8386 | }; | ||
8387 | } | ||
8388 | { | ||
8389 | name = "through2___through2_2.0.5.tgz"; | ||
8390 | path = fetchurl { | ||
8391 | name = "through2___through2_2.0.5.tgz"; | ||
8392 | url = "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz"; | ||
8393 | sha1 = "01c1e39eb31d07cb7d03a96a70823260b23132cd"; | ||
8394 | }; | ||
8395 | } | ||
8396 | { | ||
8397 | name = "through___through_2.3.8.tgz"; | ||
8398 | path = fetchurl { | ||
8399 | name = "through___through_2.3.8.tgz"; | ||
8400 | url = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz"; | ||
8401 | sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"; | ||
8402 | }; | ||
8403 | } | ||
8404 | { | ||
8405 | name = "thunky___thunky_1.1.0.tgz"; | ||
8406 | path = fetchurl { | ||
8407 | name = "thunky___thunky_1.1.0.tgz"; | ||
8408 | url = "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz"; | ||
8409 | sha1 = "5abaf714a9405db0504732bbccd2cedd9ef9537d"; | ||
8410 | }; | ||
8411 | } | ||
8412 | { | ||
8413 | name = "timers_browserify___timers_browserify_2.0.11.tgz"; | ||
8414 | path = fetchurl { | ||
8415 | name = "timers_browserify___timers_browserify_2.0.11.tgz"; | ||
8416 | url = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz"; | ||
8417 | sha1 = "800b1f3eee272e5bc53ee465a04d0e804c31211f"; | ||
8418 | }; | ||
8419 | } | ||
8420 | { | ||
8421 | name = "timsort___timsort_0.3.0.tgz"; | ||
8422 | path = fetchurl { | ||
8423 | name = "timsort___timsort_0.3.0.tgz"; | ||
8424 | url = "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz"; | ||
8425 | sha1 = "405411a8e7e6339fe64db9a234de11dc31e02bd4"; | ||
8426 | }; | ||
8427 | } | ||
8428 | { | ||
8429 | name = "tmp___tmp_0.0.33.tgz"; | ||
8430 | path = fetchurl { | ||
8431 | name = "tmp___tmp_0.0.33.tgz"; | ||
8432 | url = "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz"; | ||
8433 | sha1 = "6d34335889768d21b2bcda0aa277ced3b1bfadf9"; | ||
8434 | }; | ||
8435 | } | ||
8436 | { | ||
8437 | name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; | ||
8438 | path = fetchurl { | ||
8439 | name = "to_arraybuffer___to_arraybuffer_1.0.1.tgz"; | ||
8440 | url = "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz"; | ||
8441 | sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43"; | ||
8442 | }; | ||
8443 | } | ||
8444 | { | ||
8445 | name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; | ||
8446 | path = fetchurl { | ||
8447 | name = "to_fast_properties___to_fast_properties_2.0.0.tgz"; | ||
8448 | url = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"; | ||
8449 | sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e"; | ||
8450 | }; | ||
8451 | } | ||
8452 | { | ||
8453 | name = "to_object_path___to_object_path_0.3.0.tgz"; | ||
8454 | path = fetchurl { | ||
8455 | name = "to_object_path___to_object_path_0.3.0.tgz"; | ||
8456 | url = "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz"; | ||
8457 | sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af"; | ||
8458 | }; | ||
8459 | } | ||
8460 | { | ||
8461 | name = "to_regex_range___to_regex_range_2.1.1.tgz"; | ||
8462 | path = fetchurl { | ||
8463 | name = "to_regex_range___to_regex_range_2.1.1.tgz"; | ||
8464 | url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz"; | ||
8465 | sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38"; | ||
8466 | }; | ||
8467 | } | ||
8468 | { | ||
8469 | name = "to_regex_range___to_regex_range_5.0.1.tgz"; | ||
8470 | path = fetchurl { | ||
8471 | name = "to_regex_range___to_regex_range_5.0.1.tgz"; | ||
8472 | url = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz"; | ||
8473 | sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4"; | ||
8474 | }; | ||
8475 | } | ||
8476 | { | ||
8477 | name = "to_regex___to_regex_3.0.2.tgz"; | ||
8478 | path = fetchurl { | ||
8479 | name = "to_regex___to_regex_3.0.2.tgz"; | ||
8480 | url = "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz"; | ||
8481 | sha1 = "13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"; | ||
8482 | }; | ||
8483 | } | ||
8484 | { | ||
8485 | name = "toidentifier___toidentifier_1.0.0.tgz"; | ||
8486 | path = fetchurl { | ||
8487 | name = "toidentifier___toidentifier_1.0.0.tgz"; | ||
8488 | url = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz"; | ||
8489 | sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553"; | ||
8490 | }; | ||
8491 | } | ||
8492 | { | ||
8493 | name = "toposort___toposort_1.0.7.tgz"; | ||
8494 | path = fetchurl { | ||
8495 | name = "toposort___toposort_1.0.7.tgz"; | ||
8496 | url = "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz"; | ||
8497 | sha1 = "2e68442d9f64ec720b8cc89e6443ac6caa950029"; | ||
8498 | }; | ||
8499 | } | ||
8500 | { | ||
8501 | name = "tough_cookie___tough_cookie_2.5.0.tgz"; | ||
8502 | path = fetchurl { | ||
8503 | name = "tough_cookie___tough_cookie_2.5.0.tgz"; | ||
8504 | url = "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz"; | ||
8505 | sha1 = "cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"; | ||
8506 | }; | ||
8507 | } | ||
8508 | { | ||
8509 | name = "tryer___tryer_1.0.1.tgz"; | ||
8510 | path = fetchurl { | ||
8511 | name = "tryer___tryer_1.0.1.tgz"; | ||
8512 | url = "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz"; | ||
8513 | sha1 = "f2c85406800b9b0f74c9f7465b81eaad241252f8"; | ||
8514 | }; | ||
8515 | } | ||
8516 | { | ||
8517 | name = "ts_pnp___ts_pnp_1.2.0.tgz"; | ||
8518 | path = fetchurl { | ||
8519 | name = "ts_pnp___ts_pnp_1.2.0.tgz"; | ||
8520 | url = "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz"; | ||
8521 | sha1 = "a500ad084b0798f1c3071af391e65912c86bca92"; | ||
8522 | }; | ||
8523 | } | ||
8524 | { | ||
8525 | name = "tslib___tslib_1.13.0.tgz"; | ||
8526 | path = fetchurl { | ||
8527 | name = "tslib___tslib_1.13.0.tgz"; | ||
8528 | url = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz"; | ||
8529 | sha1 = "c881e13cc7015894ed914862d276436fa9a47043"; | ||
8530 | }; | ||
8531 | } | ||
8532 | { | ||
8533 | name = "tty_browserify___tty_browserify_0.0.0.tgz"; | ||
8534 | path = fetchurl { | ||
8535 | name = "tty_browserify___tty_browserify_0.0.0.tgz"; | ||
8536 | url = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz"; | ||
8537 | sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6"; | ||
8538 | }; | ||
8539 | } | ||
8540 | { | ||
8541 | name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; | ||
8542 | path = fetchurl { | ||
8543 | name = "tunnel_agent___tunnel_agent_0.6.0.tgz"; | ||
8544 | url = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz"; | ||
8545 | sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd"; | ||
8546 | }; | ||
8547 | } | ||
8548 | { | ||
8549 | name = "tweetnacl___tweetnacl_0.14.5.tgz"; | ||
8550 | path = fetchurl { | ||
8551 | name = "tweetnacl___tweetnacl_0.14.5.tgz"; | ||
8552 | url = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz"; | ||
8553 | sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64"; | ||
8554 | }; | ||
8555 | } | ||
8556 | { | ||
8557 | name = "type_check___type_check_0.4.0.tgz"; | ||
8558 | path = fetchurl { | ||
8559 | name = "type_check___type_check_0.4.0.tgz"; | ||
8560 | url = "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz"; | ||
8561 | sha1 = "07b8203bfa7056c0657050e3ccd2c37730bab8f1"; | ||
8562 | }; | ||
8563 | } | ||
8564 | { | ||
8565 | name = "type_fest___type_fest_0.11.0.tgz"; | ||
8566 | path = fetchurl { | ||
8567 | name = "type_fest___type_fest_0.11.0.tgz"; | ||
8568 | url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz"; | ||
8569 | sha1 = "97abf0872310fed88a5c466b25681576145e33f1"; | ||
8570 | }; | ||
8571 | } | ||
8572 | { | ||
8573 | name = "type_fest___type_fest_0.6.0.tgz"; | ||
8574 | path = fetchurl { | ||
8575 | name = "type_fest___type_fest_0.6.0.tgz"; | ||
8576 | url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz"; | ||
8577 | sha1 = "8d2a2370d3df886eb5c90ada1c5bf6188acf838b"; | ||
8578 | }; | ||
8579 | } | ||
8580 | { | ||
8581 | name = "type_fest___type_fest_0.8.1.tgz"; | ||
8582 | path = fetchurl { | ||
8583 | name = "type_fest___type_fest_0.8.1.tgz"; | ||
8584 | url = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz"; | ||
8585 | sha1 = "09e249ebde851d3b1e48d27c105444667f17b83d"; | ||
8586 | }; | ||
8587 | } | ||
8588 | { | ||
8589 | name = "type_is___type_is_1.6.18.tgz"; | ||
8590 | path = fetchurl { | ||
8591 | name = "type_is___type_is_1.6.18.tgz"; | ||
8592 | url = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz"; | ||
8593 | sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131"; | ||
8594 | }; | ||
8595 | } | ||
8596 | { | ||
8597 | name = "typedarray___typedarray_0.0.6.tgz"; | ||
8598 | path = fetchurl { | ||
8599 | name = "typedarray___typedarray_0.0.6.tgz"; | ||
8600 | url = "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz"; | ||
8601 | sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777"; | ||
8602 | }; | ||
8603 | } | ||
8604 | { | ||
8605 | name = "uglify_js___uglify_js_3.4.10.tgz"; | ||
8606 | path = fetchurl { | ||
8607 | name = "uglify_js___uglify_js_3.4.10.tgz"; | ||
8608 | url = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz"; | ||
8609 | sha1 = "9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"; | ||
8610 | }; | ||
8611 | } | ||
8612 | { | ||
8613 | name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz"; | ||
8614 | path = fetchurl { | ||
8615 | name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz"; | ||
8616 | url = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz"; | ||
8617 | sha1 = "2619800c4c825800efdd8343af7dd9933cbe2818"; | ||
8618 | }; | ||
8619 | } | ||
8620 | { | ||
8621 | name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz"; | ||
8622 | path = fetchurl { | ||
8623 | name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz"; | ||
8624 | url = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz"; | ||
8625 | sha1 = "8ed2a32569961bce9227d09cd3ffbb8fed5f020c"; | ||
8626 | }; | ||
8627 | } | ||
8628 | { | ||
8629 | name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz"; | ||
8630 | path = fetchurl { | ||
8631 | name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz"; | ||
8632 | url = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz"; | ||
8633 | sha1 = "0d91f600eeeb3096aa962b1d6fc88876e64ea531"; | ||
8634 | }; | ||
8635 | } | ||
8636 | { | ||
8637 | name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz"; | ||
8638 | path = fetchurl { | ||
8639 | name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz"; | ||
8640 | url = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz"; | ||
8641 | sha1 = "dd57a99f6207bedff4628abefb94c50db941c8f4"; | ||
8642 | }; | ||
8643 | } | ||
8644 | { | ||
8645 | name = "union_value___union_value_1.0.1.tgz"; | ||
8646 | path = fetchurl { | ||
8647 | name = "union_value___union_value_1.0.1.tgz"; | ||
8648 | url = "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz"; | ||
8649 | sha1 = "0b6fe7b835aecda61c6ea4d4f02c14221e109847"; | ||
8650 | }; | ||
8651 | } | ||
8652 | { | ||
8653 | name = "uniq___uniq_1.0.1.tgz"; | ||
8654 | path = fetchurl { | ||
8655 | name = "uniq___uniq_1.0.1.tgz"; | ||
8656 | url = "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz"; | ||
8657 | sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff"; | ||
8658 | }; | ||
8659 | } | ||
8660 | { | ||
8661 | name = "uniqs___uniqs_2.0.0.tgz"; | ||
8662 | path = fetchurl { | ||
8663 | name = "uniqs___uniqs_2.0.0.tgz"; | ||
8664 | url = "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz"; | ||
8665 | sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02"; | ||
8666 | }; | ||
8667 | } | ||
8668 | { | ||
8669 | name = "unique_filename___unique_filename_1.1.1.tgz"; | ||
8670 | path = fetchurl { | ||
8671 | name = "unique_filename___unique_filename_1.1.1.tgz"; | ||
8672 | url = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz"; | ||
8673 | sha1 = "1d69769369ada0583103a1e6ae87681b56573230"; | ||
8674 | }; | ||
8675 | } | ||
8676 | { | ||
8677 | name = "unique_slug___unique_slug_2.0.2.tgz"; | ||
8678 | path = fetchurl { | ||
8679 | name = "unique_slug___unique_slug_2.0.2.tgz"; | ||
8680 | url = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz"; | ||
8681 | sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c"; | ||
8682 | }; | ||
8683 | } | ||
8684 | { | ||
8685 | name = "universalify___universalify_0.1.2.tgz"; | ||
8686 | path = fetchurl { | ||
8687 | name = "universalify___universalify_0.1.2.tgz"; | ||
8688 | url = "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz"; | ||
8689 | sha1 = "b646f69be3942dabcecc9d6639c80dc105efaa66"; | ||
8690 | }; | ||
8691 | } | ||
8692 | { | ||
8693 | name = "unpipe___unpipe_1.0.0.tgz"; | ||
8694 | path = fetchurl { | ||
8695 | name = "unpipe___unpipe_1.0.0.tgz"; | ||
8696 | url = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz"; | ||
8697 | sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec"; | ||
8698 | }; | ||
8699 | } | ||
8700 | { | ||
8701 | name = "unquote___unquote_1.1.1.tgz"; | ||
8702 | path = fetchurl { | ||
8703 | name = "unquote___unquote_1.1.1.tgz"; | ||
8704 | url = "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz"; | ||
8705 | sha1 = "8fded7324ec6e88a0ff8b905e7c098cdc086d544"; | ||
8706 | }; | ||
8707 | } | ||
8708 | { | ||
8709 | name = "unset_value___unset_value_1.0.0.tgz"; | ||
8710 | path = fetchurl { | ||
8711 | name = "unset_value___unset_value_1.0.0.tgz"; | ||
8712 | url = "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz"; | ||
8713 | sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"; | ||
8714 | }; | ||
8715 | } | ||
8716 | { | ||
8717 | name = "upath___upath_1.2.0.tgz"; | ||
8718 | path = fetchurl { | ||
8719 | name = "upath___upath_1.2.0.tgz"; | ||
8720 | url = "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz"; | ||
8721 | sha1 = "8f66dbcd55a883acdae4408af8b035a5044c1894"; | ||
8722 | }; | ||
8723 | } | ||
8724 | { | ||
8725 | name = "upper_case___upper_case_1.1.3.tgz"; | ||
8726 | path = fetchurl { | ||
8727 | name = "upper_case___upper_case_1.1.3.tgz"; | ||
8728 | url = "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz"; | ||
8729 | sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598"; | ||
8730 | }; | ||
8731 | } | ||
8732 | { | ||
8733 | name = "uri_js___uri_js_4.2.2.tgz"; | ||
8734 | path = fetchurl { | ||
8735 | name = "uri_js___uri_js_4.2.2.tgz"; | ||
8736 | url = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz"; | ||
8737 | sha1 = "94c540e1ff772956e2299507c010aea6c8838eb0"; | ||
8738 | }; | ||
8739 | } | ||
8740 | { | ||
8741 | name = "urix___urix_0.1.0.tgz"; | ||
8742 | path = fetchurl { | ||
8743 | name = "urix___urix_0.1.0.tgz"; | ||
8744 | url = "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz"; | ||
8745 | sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72"; | ||
8746 | }; | ||
8747 | } | ||
8748 | { | ||
8749 | name = "url_loader___url_loader_2.3.0.tgz"; | ||
8750 | path = fetchurl { | ||
8751 | name = "url_loader___url_loader_2.3.0.tgz"; | ||
8752 | url = "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz"; | ||
8753 | sha1 = "e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"; | ||
8754 | }; | ||
8755 | } | ||
8756 | { | ||
8757 | name = "url_parse___url_parse_1.4.7.tgz"; | ||
8758 | path = fetchurl { | ||
8759 | name = "url_parse___url_parse_1.4.7.tgz"; | ||
8760 | url = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz"; | ||
8761 | sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278"; | ||
8762 | }; | ||
8763 | } | ||
8764 | { | ||
8765 | name = "url___url_0.11.0.tgz"; | ||
8766 | path = fetchurl { | ||
8767 | name = "url___url_0.11.0.tgz"; | ||
8768 | url = "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz"; | ||
8769 | sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"; | ||
8770 | }; | ||
8771 | } | ||
8772 | { | ||
8773 | name = "use___use_3.1.1.tgz"; | ||
8774 | path = fetchurl { | ||
8775 | name = "use___use_3.1.1.tgz"; | ||
8776 | url = "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz"; | ||
8777 | sha1 = "d50c8cac79a19fbc20f2911f56eb973f4e10070f"; | ||
8778 | }; | ||
8779 | } | ||
8780 | { | ||
8781 | name = "util_deprecate___util_deprecate_1.0.2.tgz"; | ||
8782 | path = fetchurl { | ||
8783 | name = "util_deprecate___util_deprecate_1.0.2.tgz"; | ||
8784 | url = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz"; | ||
8785 | sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf"; | ||
8786 | }; | ||
8787 | } | ||
8788 | { | ||
8789 | name = "util.promisify___util.promisify_1.0.0.tgz"; | ||
8790 | path = fetchurl { | ||
8791 | name = "util.promisify___util.promisify_1.0.0.tgz"; | ||
8792 | url = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz"; | ||
8793 | sha1 = "440f7165a459c9a16dc145eb8e72f35687097030"; | ||
8794 | }; | ||
8795 | } | ||
8796 | { | ||
8797 | name = "util.promisify___util.promisify_1.0.1.tgz"; | ||
8798 | path = fetchurl { | ||
8799 | name = "util.promisify___util.promisify_1.0.1.tgz"; | ||
8800 | url = "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz"; | ||
8801 | sha1 = "6baf7774b80eeb0f7520d8b81d07982a59abbaee"; | ||
8802 | }; | ||
8803 | } | ||
8804 | { | ||
8805 | name = "util___util_0.10.3.tgz"; | ||
8806 | path = fetchurl { | ||
8807 | name = "util___util_0.10.3.tgz"; | ||
8808 | url = "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz"; | ||
8809 | sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9"; | ||
8810 | }; | ||
8811 | } | ||
8812 | { | ||
8813 | name = "util___util_0.11.1.tgz"; | ||
8814 | path = fetchurl { | ||
8815 | name = "util___util_0.11.1.tgz"; | ||
8816 | url = "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz"; | ||
8817 | sha1 = "3236733720ec64bb27f6e26f421aaa2e1b588d61"; | ||
8818 | }; | ||
8819 | } | ||
8820 | { | ||
8821 | name = "utila___utila_0.4.0.tgz"; | ||
8822 | path = fetchurl { | ||
8823 | name = "utila___utila_0.4.0.tgz"; | ||
8824 | url = "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz"; | ||
8825 | sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c"; | ||
8826 | }; | ||
8827 | } | ||
8828 | { | ||
8829 | name = "utils_merge___utils_merge_1.0.1.tgz"; | ||
8830 | path = fetchurl { | ||
8831 | name = "utils_merge___utils_merge_1.0.1.tgz"; | ||
8832 | url = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz"; | ||
8833 | sha1 = "9f95710f50a267947b2ccc124741c1028427e713"; | ||
8834 | }; | ||
8835 | } | ||
8836 | { | ||
8837 | name = "uuid___uuid_3.4.0.tgz"; | ||
8838 | path = fetchurl { | ||
8839 | name = "uuid___uuid_3.4.0.tgz"; | ||
8840 | url = "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz"; | ||
8841 | sha1 = "b23e4358afa8a202fe7a100af1f5f883f02007ee"; | ||
8842 | }; | ||
8843 | } | ||
8844 | { | ||
8845 | name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz"; | ||
8846 | path = fetchurl { | ||
8847 | name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz"; | ||
8848 | url = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz"; | ||
8849 | sha1 = "54bc3cdd43317bca91e35dcaf305b1a7237de745"; | ||
8850 | }; | ||
8851 | } | ||
8852 | { | ||
8853 | name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; | ||
8854 | path = fetchurl { | ||
8855 | name = "validate_npm_package_license___validate_npm_package_license_3.0.4.tgz"; | ||
8856 | url = "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"; | ||
8857 | sha1 = "fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"; | ||
8858 | }; | ||
8859 | } | ||
8860 | { | ||
8861 | name = "vary___vary_1.1.2.tgz"; | ||
8862 | path = fetchurl { | ||
8863 | name = "vary___vary_1.1.2.tgz"; | ||
8864 | url = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz"; | ||
8865 | sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc"; | ||
8866 | }; | ||
8867 | } | ||
8868 | { | ||
8869 | name = "vendors___vendors_1.0.4.tgz"; | ||
8870 | path = fetchurl { | ||
8871 | name = "vendors___vendors_1.0.4.tgz"; | ||
8872 | url = "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz"; | ||
8873 | sha1 = "e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"; | ||
8874 | }; | ||
8875 | } | ||
8876 | { | ||
8877 | name = "verror___verror_1.10.0.tgz"; | ||
8878 | path = fetchurl { | ||
8879 | name = "verror___verror_1.10.0.tgz"; | ||
8880 | url = "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz"; | ||
8881 | sha1 = "3a105ca17053af55d6e270c1f8288682e18da400"; | ||
8882 | }; | ||
8883 | } | ||
8884 | { | ||
8885 | name = "vm_browserify___vm_browserify_1.1.2.tgz"; | ||
8886 | path = fetchurl { | ||
8887 | name = "vm_browserify___vm_browserify_1.1.2.tgz"; | ||
8888 | url = "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz"; | ||
8889 | sha1 = "78641c488b8e6ca91a75f511e7a3b32a86e5dda0"; | ||
8890 | }; | ||
8891 | } | ||
8892 | { | ||
8893 | name = "vue_eslint_parser___vue_eslint_parser_7.1.0.tgz"; | ||
8894 | path = fetchurl { | ||
8895 | name = "vue_eslint_parser___vue_eslint_parser_7.1.0.tgz"; | ||
8896 | url = "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz"; | ||
8897 | sha1 = "9cdbcc823e656b087507a1911732b867ac101e83"; | ||
8898 | }; | ||
8899 | } | ||
8900 | { | ||
8901 | name = "vue_hot_reload_api___vue_hot_reload_api_2.3.4.tgz"; | ||
8902 | path = fetchurl { | ||
8903 | name = "vue_hot_reload_api___vue_hot_reload_api_2.3.4.tgz"; | ||
8904 | url = "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz"; | ||
8905 | sha1 = "532955cc1eb208a3d990b3a9f9a70574657e08f2"; | ||
8906 | }; | ||
8907 | } | ||
8908 | { | ||
8909 | name = "vue_loader___vue_loader_15.9.2.tgz"; | ||
8910 | path = fetchurl { | ||
8911 | name = "vue_loader___vue_loader_15.9.2.tgz"; | ||
8912 | url = "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.2.tgz"; | ||
8913 | sha1 = "ae01f5f4c9c6a04bff4483912e72ef91a402c1ae"; | ||
8914 | }; | ||
8915 | } | ||
8916 | { | ||
8917 | name = "vue_style_loader___vue_style_loader_4.1.2.tgz"; | ||
8918 | path = fetchurl { | ||
8919 | name = "vue_style_loader___vue_style_loader_4.1.2.tgz"; | ||
8920 | url = "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz"; | ||
8921 | sha1 = "dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"; | ||
8922 | }; | ||
8923 | } | ||
8924 | { | ||
8925 | name = "vue_template_compiler___vue_template_compiler_2.6.11.tgz"; | ||
8926 | path = fetchurl { | ||
8927 | name = "vue_template_compiler___vue_template_compiler_2.6.11.tgz"; | ||
8928 | url = "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz"; | ||
8929 | sha1 = "c04704ef8f498b153130018993e56309d4698080"; | ||
8930 | }; | ||
8931 | } | ||
8932 | { | ||
8933 | name = "vue_template_es2015_compiler___vue_template_es2015_compiler_1.9.1.tgz"; | ||
8934 | path = fetchurl { | ||
8935 | name = "vue_template_es2015_compiler___vue_template_es2015_compiler_1.9.1.tgz"; | ||
8936 | url = "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz"; | ||
8937 | sha1 = "1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"; | ||
8938 | }; | ||
8939 | } | ||
8940 | { | ||
8941 | name = "vue___vue_2.6.11.tgz"; | ||
8942 | path = fetchurl { | ||
8943 | name = "vue___vue_2.6.11.tgz"; | ||
8944 | url = "https://registry.yarnpkg.com/vue/-/vue-2.6.11.tgz"; | ||
8945 | sha1 = "76594d877d4b12234406e84e35275c6d514125c5"; | ||
8946 | }; | ||
8947 | } | ||
8948 | { | ||
8949 | name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz"; | ||
8950 | path = fetchurl { | ||
8951 | name = "watchpack_chokidar2___watchpack_chokidar2_2.0.0.tgz"; | ||
8952 | url = "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz"; | ||
8953 | sha1 = "9948a1866cbbd6cb824dea13a7ed691f6c8ddff0"; | ||
8954 | }; | ||
8955 | } | ||
8956 | { | ||
8957 | name = "watchpack___watchpack_1.7.2.tgz"; | ||
8958 | path = fetchurl { | ||
8959 | name = "watchpack___watchpack_1.7.2.tgz"; | ||
8960 | url = "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.2.tgz"; | ||
8961 | sha1 = "c02e4d4d49913c3e7e122c3325365af9d331e9aa"; | ||
8962 | }; | ||
8963 | } | ||
8964 | { | ||
8965 | name = "wbuf___wbuf_1.7.3.tgz"; | ||
8966 | path = fetchurl { | ||
8967 | name = "wbuf___wbuf_1.7.3.tgz"; | ||
8968 | url = "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz"; | ||
8969 | sha1 = "c1d8d149316d3ea852848895cb6a0bfe887b87df"; | ||
8970 | }; | ||
8971 | } | ||
8972 | { | ||
8973 | name = "wcwidth___wcwidth_1.0.1.tgz"; | ||
8974 | path = fetchurl { | ||
8975 | name = "wcwidth___wcwidth_1.0.1.tgz"; | ||
8976 | url = "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz"; | ||
8977 | sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"; | ||
8978 | }; | ||
8979 | } | ||
8980 | { | ||
8981 | name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.8.0.tgz"; | ||
8982 | path = fetchurl { | ||
8983 | name = "webpack_bundle_analyzer___webpack_bundle_analyzer_3.8.0.tgz"; | ||
8984 | url = "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz"; | ||
8985 | sha1 = "ce6b3f908daf069fd1f7266f692cbb3bded9ba16"; | ||
8986 | }; | ||
8987 | } | ||
8988 | { | ||
8989 | name = "webpack_chain___webpack_chain_6.4.0.tgz"; | ||
8990 | path = fetchurl { | ||
8991 | name = "webpack_chain___webpack_chain_6.4.0.tgz"; | ||
8992 | url = "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.4.0.tgz"; | ||
8993 | sha1 = "22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2"; | ||
8994 | }; | ||
8995 | } | ||
8996 | { | ||
8997 | name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz"; | ||
8998 | path = fetchurl { | ||
8999 | name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz"; | ||
9000 | url = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz"; | ||
9001 | sha1 = "0019c3db716e3fa5cecbf64f2ab88a74bab331f3"; | ||
9002 | }; | ||
9003 | } | ||
9004 | { | ||
9005 | name = "webpack_dev_server___webpack_dev_server_3.11.0.tgz"; | ||
9006 | path = fetchurl { | ||
9007 | name = "webpack_dev_server___webpack_dev_server_3.11.0.tgz"; | ||
9008 | url = "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz"; | ||
9009 | sha1 = "8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"; | ||
9010 | }; | ||
9011 | } | ||
9012 | { | ||
9013 | name = "webpack_log___webpack_log_2.0.0.tgz"; | ||
9014 | path = fetchurl { | ||
9015 | name = "webpack_log___webpack_log_2.0.0.tgz"; | ||
9016 | url = "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz"; | ||
9017 | sha1 = "5b7928e0637593f119d32f6227c1e0ac31e1b47f"; | ||
9018 | }; | ||
9019 | } | ||
9020 | { | ||
9021 | name = "webpack_merge___webpack_merge_4.2.2.tgz"; | ||
9022 | path = fetchurl { | ||
9023 | name = "webpack_merge___webpack_merge_4.2.2.tgz"; | ||
9024 | url = "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz"; | ||
9025 | sha1 = "a27c52ea783d1398afd2087f547d7b9d2f43634d"; | ||
9026 | }; | ||
9027 | } | ||
9028 | { | ||
9029 | name = "webpack_sources___webpack_sources_1.4.3.tgz"; | ||
9030 | path = fetchurl { | ||
9031 | name = "webpack_sources___webpack_sources_1.4.3.tgz"; | ||
9032 | url = "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz"; | ||
9033 | sha1 = "eedd8ec0b928fbf1cbfe994e22d2d890f330a933"; | ||
9034 | }; | ||
9035 | } | ||
9036 | { | ||
9037 | name = "webpack___webpack_4.43.0.tgz"; | ||
9038 | path = fetchurl { | ||
9039 | name = "webpack___webpack_4.43.0.tgz"; | ||
9040 | url = "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz"; | ||
9041 | sha1 = "c48547b11d563224c561dad1172c8aa0b8a678e6"; | ||
9042 | }; | ||
9043 | } | ||
9044 | { | ||
9045 | name = "websocket_driver___websocket_driver_0.6.5.tgz"; | ||
9046 | path = fetchurl { | ||
9047 | name = "websocket_driver___websocket_driver_0.6.5.tgz"; | ||
9048 | url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz"; | ||
9049 | sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36"; | ||
9050 | }; | ||
9051 | } | ||
9052 | { | ||
9053 | name = "websocket_driver___websocket_driver_0.7.4.tgz"; | ||
9054 | path = fetchurl { | ||
9055 | name = "websocket_driver___websocket_driver_0.7.4.tgz"; | ||
9056 | url = "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz"; | ||
9057 | sha1 = "89ad5295bbf64b480abcba31e4953aca706f5760"; | ||
9058 | }; | ||
9059 | } | ||
9060 | { | ||
9061 | name = "websocket_extensions___websocket_extensions_0.1.4.tgz"; | ||
9062 | path = fetchurl { | ||
9063 | name = "websocket_extensions___websocket_extensions_0.1.4.tgz"; | ||
9064 | url = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz"; | ||
9065 | sha1 = "7f8473bc839dfd87608adb95d7eb075211578a42"; | ||
9066 | }; | ||
9067 | } | ||
9068 | { | ||
9069 | name = "which_module___which_module_2.0.0.tgz"; | ||
9070 | path = fetchurl { | ||
9071 | name = "which_module___which_module_2.0.0.tgz"; | ||
9072 | url = "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz"; | ||
9073 | sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"; | ||
9074 | }; | ||
9075 | } | ||
9076 | { | ||
9077 | name = "which___which_1.3.1.tgz"; | ||
9078 | path = fetchurl { | ||
9079 | name = "which___which_1.3.1.tgz"; | ||
9080 | url = "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz"; | ||
9081 | sha1 = "a45043d54f5805316da8d62f9f50918d3da70b0a"; | ||
9082 | }; | ||
9083 | } | ||
9084 | { | ||
9085 | name = "which___which_2.0.2.tgz"; | ||
9086 | path = fetchurl { | ||
9087 | name = "which___which_2.0.2.tgz"; | ||
9088 | url = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz"; | ||
9089 | sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"; | ||
9090 | }; | ||
9091 | } | ||
9092 | { | ||
9093 | name = "word_wrap___word_wrap_1.2.3.tgz"; | ||
9094 | path = fetchurl { | ||
9095 | name = "word_wrap___word_wrap_1.2.3.tgz"; | ||
9096 | url = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz"; | ||
9097 | sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c"; | ||
9098 | }; | ||
9099 | } | ||
9100 | { | ||
9101 | name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz"; | ||
9102 | path = fetchurl { | ||
9103 | name = "workbox_background_sync___workbox_background_sync_4.3.1.tgz"; | ||
9104 | url = "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz"; | ||
9105 | sha1 = "26821b9bf16e9e37fd1d640289edddc08afd1950"; | ||
9106 | }; | ||
9107 | } | ||
9108 | { | ||
9109 | name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz"; | ||
9110 | path = fetchurl { | ||
9111 | name = "workbox_broadcast_update___workbox_broadcast_update_4.3.1.tgz"; | ||
9112 | url = "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz"; | ||
9113 | sha1 = "e2c0280b149e3a504983b757606ad041f332c35b"; | ||
9114 | }; | ||
9115 | } | ||
9116 | { | ||
9117 | name = "workbox_build___workbox_build_4.3.1.tgz"; | ||
9118 | path = fetchurl { | ||
9119 | name = "workbox_build___workbox_build_4.3.1.tgz"; | ||
9120 | url = "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz"; | ||
9121 | sha1 = "414f70fb4d6de47f6538608b80ec52412d233e64"; | ||
9122 | }; | ||
9123 | } | ||
9124 | { | ||
9125 | name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz"; | ||
9126 | path = fetchurl { | ||
9127 | name = "workbox_cacheable_response___workbox_cacheable_response_4.3.1.tgz"; | ||
9128 | url = "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz"; | ||
9129 | sha1 = "f53e079179c095a3f19e5313b284975c91428c91"; | ||
9130 | }; | ||
9131 | } | ||
9132 | { | ||
9133 | name = "workbox_core___workbox_core_4.3.1.tgz"; | ||
9134 | path = fetchurl { | ||
9135 | name = "workbox_core___workbox_core_4.3.1.tgz"; | ||
9136 | url = "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz"; | ||
9137 | sha1 = "005d2c6a06a171437afd6ca2904a5727ecd73be6"; | ||
9138 | }; | ||
9139 | } | ||
9140 | { | ||
9141 | name = "workbox_expiration___workbox_expiration_4.3.1.tgz"; | ||
9142 | path = fetchurl { | ||
9143 | name = "workbox_expiration___workbox_expiration_4.3.1.tgz"; | ||
9144 | url = "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz"; | ||
9145 | sha1 = "d790433562029e56837f341d7f553c4a78ebe921"; | ||
9146 | }; | ||
9147 | } | ||
9148 | { | ||
9149 | name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz"; | ||
9150 | path = fetchurl { | ||
9151 | name = "workbox_google_analytics___workbox_google_analytics_4.3.1.tgz"; | ||
9152 | url = "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz"; | ||
9153 | sha1 = "9eda0183b103890b5c256e6f4ea15a1f1548519a"; | ||
9154 | }; | ||
9155 | } | ||
9156 | { | ||
9157 | name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz"; | ||
9158 | path = fetchurl { | ||
9159 | name = "workbox_navigation_preload___workbox_navigation_preload_4.3.1.tgz"; | ||
9160 | url = "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz"; | ||
9161 | sha1 = "29c8e4db5843803b34cd96dc155f9ebd9afa453d"; | ||
9162 | }; | ||
9163 | } | ||
9164 | { | ||
9165 | name = "workbox_precaching___workbox_precaching_4.3.1.tgz"; | ||
9166 | path = fetchurl { | ||
9167 | name = "workbox_precaching___workbox_precaching_4.3.1.tgz"; | ||
9168 | url = "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz"; | ||
9169 | sha1 = "9fc45ed122d94bbe1f0ea9584ff5940960771cba"; | ||
9170 | }; | ||
9171 | } | ||
9172 | { | ||
9173 | name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz"; | ||
9174 | path = fetchurl { | ||
9175 | name = "workbox_range_requests___workbox_range_requests_4.3.1.tgz"; | ||
9176 | url = "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz"; | ||
9177 | sha1 = "f8a470188922145cbf0c09a9a2d5e35645244e74"; | ||
9178 | }; | ||
9179 | } | ||
9180 | { | ||
9181 | name = "workbox_routing___workbox_routing_4.3.1.tgz"; | ||
9182 | path = fetchurl { | ||
9183 | name = "workbox_routing___workbox_routing_4.3.1.tgz"; | ||
9184 | url = "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz"; | ||
9185 | sha1 = "a675841af623e0bb0c67ce4ed8e724ac0bed0cda"; | ||
9186 | }; | ||
9187 | } | ||
9188 | { | ||
9189 | name = "workbox_strategies___workbox_strategies_4.3.1.tgz"; | ||
9190 | path = fetchurl { | ||
9191 | name = "workbox_strategies___workbox_strategies_4.3.1.tgz"; | ||
9192 | url = "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz"; | ||
9193 | sha1 = "d2be03c4ef214c115e1ab29c9c759c9fe3e9e646"; | ||
9194 | }; | ||
9195 | } | ||
9196 | { | ||
9197 | name = "workbox_streams___workbox_streams_4.3.1.tgz"; | ||
9198 | path = fetchurl { | ||
9199 | name = "workbox_streams___workbox_streams_4.3.1.tgz"; | ||
9200 | url = "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz"; | ||
9201 | sha1 = "0b57da70e982572de09c8742dd0cb40a6b7c2cc3"; | ||
9202 | }; | ||
9203 | } | ||
9204 | { | ||
9205 | name = "workbox_sw___workbox_sw_4.3.1.tgz"; | ||
9206 | path = fetchurl { | ||
9207 | name = "workbox_sw___workbox_sw_4.3.1.tgz"; | ||
9208 | url = "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz"; | ||
9209 | sha1 = "df69e395c479ef4d14499372bcd84c0f5e246164"; | ||
9210 | }; | ||
9211 | } | ||
9212 | { | ||
9213 | name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz"; | ||
9214 | path = fetchurl { | ||
9215 | name = "workbox_webpack_plugin___workbox_webpack_plugin_4.3.1.tgz"; | ||
9216 | url = "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz"; | ||
9217 | sha1 = "47ff5ea1cc074b6c40fb5a86108863a24120d4bd"; | ||
9218 | }; | ||
9219 | } | ||
9220 | { | ||
9221 | name = "workbox_window___workbox_window_4.3.1.tgz"; | ||
9222 | path = fetchurl { | ||
9223 | name = "workbox_window___workbox_window_4.3.1.tgz"; | ||
9224 | url = "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz"; | ||
9225 | sha1 = "ee6051bf10f06afa5483c9b8dfa0531994ede0f3"; | ||
9226 | }; | ||
9227 | } | ||
9228 | { | ||
9229 | name = "worker_farm___worker_farm_1.7.0.tgz"; | ||
9230 | path = fetchurl { | ||
9231 | name = "worker_farm___worker_farm_1.7.0.tgz"; | ||
9232 | url = "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz"; | ||
9233 | sha1 = "26a94c5391bbca926152002f69b84a4bf772e5a8"; | ||
9234 | }; | ||
9235 | } | ||
9236 | { | ||
9237 | name = "wrap_ansi___wrap_ansi_5.1.0.tgz"; | ||
9238 | path = fetchurl { | ||
9239 | name = "wrap_ansi___wrap_ansi_5.1.0.tgz"; | ||
9240 | url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz"; | ||
9241 | sha1 = "1fd1f67235d5b6d0fee781056001bfb694c03b09"; | ||
9242 | }; | ||
9243 | } | ||
9244 | { | ||
9245 | name = "wrap_ansi___wrap_ansi_6.2.0.tgz"; | ||
9246 | path = fetchurl { | ||
9247 | name = "wrap_ansi___wrap_ansi_6.2.0.tgz"; | ||
9248 | url = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz"; | ||
9249 | sha1 = "e9393ba07102e6c91a3b221478f0257cd2856e53"; | ||
9250 | }; | ||
9251 | } | ||
9252 | { | ||
9253 | name = "wrappy___wrappy_1.0.2.tgz"; | ||
9254 | path = fetchurl { | ||
9255 | name = "wrappy___wrappy_1.0.2.tgz"; | ||
9256 | url = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz"; | ||
9257 | sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"; | ||
9258 | }; | ||
9259 | } | ||
9260 | { | ||
9261 | name = "write___write_1.0.3.tgz"; | ||
9262 | path = fetchurl { | ||
9263 | name = "write___write_1.0.3.tgz"; | ||
9264 | url = "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz"; | ||
9265 | sha1 = "0800e14523b923a387e415123c865616aae0f5c3"; | ||
9266 | }; | ||
9267 | } | ||
9268 | { | ||
9269 | name = "ws___ws_6.2.1.tgz"; | ||
9270 | path = fetchurl { | ||
9271 | name = "ws___ws_6.2.1.tgz"; | ||
9272 | url = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz"; | ||
9273 | sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb"; | ||
9274 | }; | ||
9275 | } | ||
9276 | { | ||
9277 | name = "xtend___xtend_4.0.2.tgz"; | ||
9278 | path = fetchurl { | ||
9279 | name = "xtend___xtend_4.0.2.tgz"; | ||
9280 | url = "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz"; | ||
9281 | sha1 = "bb72779f5fa465186b1f438f674fa347fdb5db54"; | ||
9282 | }; | ||
9283 | } | ||
9284 | { | ||
9285 | name = "y18n___y18n_4.0.0.tgz"; | ||
9286 | path = fetchurl { | ||
9287 | name = "y18n___y18n_4.0.0.tgz"; | ||
9288 | url = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz"; | ||
9289 | sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b"; | ||
9290 | }; | ||
9291 | } | ||
9292 | { | ||
9293 | name = "yallist___yallist_2.1.2.tgz"; | ||
9294 | path = fetchurl { | ||
9295 | name = "yallist___yallist_2.1.2.tgz"; | ||
9296 | url = "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz"; | ||
9297 | sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52"; | ||
9298 | }; | ||
9299 | } | ||
9300 | { | ||
9301 | name = "yallist___yallist_3.1.1.tgz"; | ||
9302 | path = fetchurl { | ||
9303 | name = "yallist___yallist_3.1.1.tgz"; | ||
9304 | url = "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz"; | ||
9305 | sha1 = "dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"; | ||
9306 | }; | ||
9307 | } | ||
9308 | { | ||
9309 | name = "yallist___yallist_4.0.0.tgz"; | ||
9310 | path = fetchurl { | ||
9311 | name = "yallist___yallist_4.0.0.tgz"; | ||
9312 | url = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz"; | ||
9313 | sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72"; | ||
9314 | }; | ||
9315 | } | ||
9316 | { | ||
9317 | name = "yargs_parser___yargs_parser_13.1.2.tgz"; | ||
9318 | path = fetchurl { | ||
9319 | name = "yargs_parser___yargs_parser_13.1.2.tgz"; | ||
9320 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz"; | ||
9321 | sha1 = "130f09702ebaeef2650d54ce6e3e5706f7a4fb38"; | ||
9322 | }; | ||
9323 | } | ||
9324 | { | ||
9325 | name = "yargs_parser___yargs_parser_18.1.3.tgz"; | ||
9326 | path = fetchurl { | ||
9327 | name = "yargs_parser___yargs_parser_18.1.3.tgz"; | ||
9328 | url = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz"; | ||
9329 | sha1 = "be68c4975c6b2abf469236b0c870362fab09a7b0"; | ||
9330 | }; | ||
9331 | } | ||
9332 | { | ||
9333 | name = "yargs___yargs_13.3.2.tgz"; | ||
9334 | path = fetchurl { | ||
9335 | name = "yargs___yargs_13.3.2.tgz"; | ||
9336 | url = "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz"; | ||
9337 | sha1 = "ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"; | ||
9338 | }; | ||
9339 | } | ||
9340 | { | ||
9341 | name = "yargs___yargs_15.3.1.tgz"; | ||
9342 | path = fetchurl { | ||
9343 | name = "yargs___yargs_15.3.1.tgz"; | ||
9344 | url = "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz"; | ||
9345 | sha1 = "9505b472763963e54afe60148ad27a330818e98b"; | ||
9346 | }; | ||
9347 | } | ||
9348 | { | ||
9349 | name = "yorkie___yorkie_2.0.0.tgz"; | ||
9350 | path = fetchurl { | ||
9351 | name = "yorkie___yorkie_2.0.0.tgz"; | ||
9352 | url = "https://registry.yarnpkg.com/yorkie/-/yorkie-2.0.0.tgz"; | ||
9353 | sha1 = "92411912d435214e12c51c2ae1093e54b6bb83d9"; | ||
9354 | }; | ||
9355 | } | ||
9356 | ]; | ||
9357 | } | ||
diff --git a/systems/eldiron/websites/tools/ldap.nix b/systems/eldiron/websites/tools/ldap.nix new file mode 100644 index 0000000..9509169 --- /dev/null +++ b/systems/eldiron/websites/tools/ldap.nix | |||
@@ -0,0 +1,77 @@ | |||
1 | { lib, php, env, writeText, phpldapadmin, config }: | ||
2 | rec { | ||
3 | keys."webapps/tools-ldap" = { | ||
4 | user = apache.user; | ||
5 | group = apache.group; | ||
6 | permissions = "0400"; | ||
7 | text = '' | ||
8 | <?php | ||
9 | $config->custom->appearance['show_clear_password'] = true; | ||
10 | $config->custom->appearance['hide_template_warning'] = true; | ||
11 | $config->custom->appearance['theme'] = "tango"; | ||
12 | $config->custom->appearance['minimalMode'] = false; | ||
13 | $config->custom->appearance['tree'] = 'AJAXTree'; | ||
14 | |||
15 | $servers = new Datastore(); | ||
16 | |||
17 | $servers->newServer('ldap_pla'); | ||
18 | $servers->setValue('server','name','Immae’s LDAP'); | ||
19 | $servers->setValue('server','host','ldaps://${env.ldap.host}'); | ||
20 | $servers->setValue('login','auth_type','cookie'); | ||
21 | $servers->setValue('login','bind_id','${env.ldap.dn}'); | ||
22 | $servers->setValue('login','bind_pass','${env.ldap.password}'); | ||
23 | $servers->setValue('appearance','pla_password_hash','ssha'); | ||
24 | $servers->setValue('login','attr','uid'); | ||
25 | $servers->setValue('login','fallback_dn',true); | ||
26 | ''; | ||
27 | }; | ||
28 | webRoot = phpldapadmin.override { config = config.secrets.fullPaths."webapps/tools-ldap"; }; | ||
29 | apache = rec { | ||
30 | user = "wwwrun"; | ||
31 | group = "wwwrun"; | ||
32 | modules = [ "proxy_fcgi" ]; | ||
33 | root = "${webRoot}/htdocs"; | ||
34 | vhostConf = socket: '' | ||
35 | Alias /ldap "${root}" | ||
36 | <Directory "${root}"> | ||
37 | DirectoryIndex index.php | ||
38 | <FilesMatch "\.php$"> | ||
39 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
40 | </FilesMatch> | ||
41 | |||
42 | AllowOverride None | ||
43 | Require all granted | ||
44 | </Directory> | ||
45 | ''; | ||
46 | }; | ||
47 | phpFpm = rec { | ||
48 | serviceDeps = [ "openldap.service" ]; | ||
49 | basedir = builtins.concatStringsSep ":" [ webRoot config.secrets.fullPaths."webapps/tools-ldap" ]; | ||
50 | pool = { | ||
51 | "listen.owner" = apache.user; | ||
52 | "listen.group" = apache.group; | ||
53 | "pm" = "ondemand"; | ||
54 | "pm.max_children" = "60"; | ||
55 | "pm.process_idle_timeout" = "60"; | ||
56 | |||
57 | # Needed to avoid clashes in browser cookies (same domain) | ||
58 | "php_value[session.name]" = "LdapPHPSESSID"; | ||
59 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
60 | "php_admin_value[session.save_handler]" = "redis"; | ||
61 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:PhpLDAPAdmin:'"; | ||
62 | }; | ||
63 | }; | ||
64 | monitoringPlugins = [ "http" ]; | ||
65 | monitoringObjects.service = [ | ||
66 | { | ||
67 | service_description = "ldap website is running on tools.immae.eu"; | ||
68 | host_name = config.hostEnv.fqdn; | ||
69 | use = "external-web-service"; | ||
70 | check_command = ["check_https" "tools.immae.eu" "/ldap/" "<title>phpLDAPadmin"]; | ||
71 | |||
72 | servicegroups = "webstatus-webapps"; | ||
73 | _webstatus_name = "LDAP"; | ||
74 | _webstatus_url = "https://tools.immae.eu/ldap/"; | ||
75 | } | ||
76 | ]; | ||
77 | } | ||
diff --git a/systems/eldiron/websites/tools/phpbb.nix b/systems/eldiron/websites/tools/phpbb.nix new file mode 100644 index 0000000..c1cbd6f --- /dev/null +++ b/systems/eldiron/websites/tools/phpbb.nix | |||
@@ -0,0 +1,69 @@ | |||
1 | { lib, phpbb, gnused }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/phpbb"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | if [ ! -d ${varDir} ]; then | ||
8 | install -m 0755 -o ${apache.user} -g ${apache.user} -d ${varDir} | ||
9 | cp -a ${phpbb}/vars/* ${varDir} | ||
10 | chown -R ${apache.user}:${apache.user} ${varDir} | ||
11 | fi | ||
12 | ''; | ||
13 | }; | ||
14 | chatonsHostingProperties = { | ||
15 | file.datetime = "2022-08-21T22:50:00"; | ||
16 | hosting = { | ||
17 | name = "phpBB"; | ||
18 | description = "Forum software"; | ||
19 | website = "https://tools.immae.eu/forum"; | ||
20 | logo = "https://www.phpbb.com/favicon.ico"; | ||
21 | type = "INSTANCE"; | ||
22 | status.level = "OK"; | ||
23 | status.description = "OK"; | ||
24 | registration.load = "OPEN"; | ||
25 | install.type = "PACKAGE"; | ||
26 | }; | ||
27 | }; | ||
28 | webRoot = phpbb; | ||
29 | apache = rec { | ||
30 | user = "wwwrun"; | ||
31 | group = "wwwrun"; | ||
32 | modules = [ "proxy_fcgi" ]; | ||
33 | root = webRoot; | ||
34 | vhostConf = socket: '' | ||
35 | Alias /forum "${root}" | ||
36 | <Directory "${root}"> | ||
37 | DirectoryIndex index.php | ||
38 | <FilesMatch "\.php$"> | ||
39 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
40 | </FilesMatch> | ||
41 | |||
42 | AllowOverride All | ||
43 | Options FollowSymlinks | ||
44 | Require all granted | ||
45 | </Directory> | ||
46 | # add instal to the list after install | ||
47 | <LocationMatch "^/(cache|files|install|store)> | ||
48 | Require all denied | ||
49 | </LocationMatch> | ||
50 | ''; | ||
51 | }; | ||
52 | phpFpm = rec { | ||
53 | serviceDeps = [ "postgresql.service" ]; | ||
54 | basedir = builtins.concatStringsSep ":" [ "/run/wrappers/bin/sendmail" phpbb varDir ]; | ||
55 | pool = { | ||
56 | "listen.owner" = apache.user; | ||
57 | "listen.group" = apache.group; | ||
58 | "pm" = "ondemand"; | ||
59 | "pm.max_children" = "60"; | ||
60 | "pm.process_idle_timeout" = "60"; | ||
61 | |||
62 | # Needed to avoid clashes in browser cookies (same domain) | ||
63 | "php_value[session.name]" = "PhpBBPHPSESSID"; | ||
64 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
65 | "php_admin_value[session.save_handler]" = "redis"; | ||
66 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:PhpBB:'"; | ||
67 | }; | ||
68 | }; | ||
69 | } | ||
diff --git a/systems/eldiron/websites/tools/rompr.nix b/systems/eldiron/websites/tools/rompr.nix new file mode 100644 index 0000000..a7308ce --- /dev/null +++ b/systems/eldiron/websites/tools/rompr.nix | |||
@@ -0,0 +1,86 @@ | |||
1 | { lib, env, rompr, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/rompr"; | ||
4 | activationScript = '' | ||
5 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
6 | ${varDir}/prefs ${varDir}/albumart | ||
7 | ''; | ||
8 | webRoot = rompr; | ||
9 | apache = rec { | ||
10 | user = "wwwrun"; | ||
11 | group = "wwwrun"; | ||
12 | modules = [ "headers" "mime" "proxy_fcgi" ]; | ||
13 | root = webRoot; | ||
14 | vhostConf = socket: '' | ||
15 | Alias /rompr ${root} | ||
16 | |||
17 | <Directory ${root}> | ||
18 | Options Indexes FollowSymLinks | ||
19 | DirectoryIndex index.php | ||
20 | AllowOverride all | ||
21 | Require all granted | ||
22 | Order allow,deny | ||
23 | Allow from all | ||
24 | ErrorDocument 404 /rompr/404.php | ||
25 | AddType image/x-icon .ico | ||
26 | |||
27 | <FilesMatch "\.php$"> | ||
28 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
29 | </FilesMatch> | ||
30 | </Directory> | ||
31 | |||
32 | <Directory ${root}/albumart/small> | ||
33 | Header Set Cache-Control "max-age=0, no-store" | ||
34 | Header Set Cache-Control "no-cache, must-revalidate" | ||
35 | </Directory> | ||
36 | |||
37 | <Directory ${root}/albumart/asdownloaded> | ||
38 | Header Set Cache-Control "max-age=0, no-store" | ||
39 | Header Set Cache-Control "no-cache, must-revalidate" | ||
40 | </Directory> | ||
41 | |||
42 | <LocationMatch "^/rompr"> | ||
43 | Use LDAPConnect | ||
44 | Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu | ||
45 | </LocationMatch> | ||
46 | ''; | ||
47 | }; | ||
48 | phpFpm = rec { | ||
49 | basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; | ||
50 | pool = { | ||
51 | "listen.owner" = apache.user; | ||
52 | "listen.group" = apache.group; | ||
53 | "pm" = "ondemand"; | ||
54 | "pm.max_children" = "60"; | ||
55 | "pm.process_idle_timeout" = "60"; | ||
56 | |||
57 | # Needed to avoid clashes in browser cookies (same domain) | ||
58 | "php_value[session.name]" = "RomprPHPSESSID"; | ||
59 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
60 | "php_admin_value[session.save_handler]" = "redis"; | ||
61 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Rompr:'"; | ||
62 | "php_flag[magic_quotes_gpc]" = "Off"; | ||
63 | "php_flag[track_vars]" = "On"; | ||
64 | "php_flag[register_globals]" = "Off"; | ||
65 | "php_admin_flag[allow_url_fopen]" = "On"; | ||
66 | "php_value[include_path]" = "${webRoot}"; | ||
67 | "php_admin_value[upload_tmp_dir]" = "${varDir}/prefs"; | ||
68 | "php_admin_value[post_max_size]" = "32M"; | ||
69 | "php_admin_value[upload_max_filesize]" = "32M"; | ||
70 | "php_admin_value[memory_limit]" = "256M"; | ||
71 | }; | ||
72 | }; | ||
73 | monitoringPlugins = [ "http" ]; | ||
74 | monitoringObjects.service = [ | ||
75 | { | ||
76 | service_description = "rompr mpd website is running on tools.immae.eu"; | ||
77 | host_name = config.hostEnv.fqdn; | ||
78 | use = "external-web-service"; | ||
79 | check_command = ["check_https_auth" "tools.immae.eu" "/rompr/" "<title>RompЯ"]; | ||
80 | |||
81 | servicegroups = "webstatus-webapps"; | ||
82 | _webstatus_name = "MPD (ROMPR)"; | ||
83 | _webstatus_url = "https://tools.immae.eu/rompr/"; | ||
84 | } | ||
85 | ]; | ||
86 | } | ||
diff --git a/systems/eldiron/websites/tools/shaarli.nix b/systems/eldiron/websites/tools/shaarli.nix new file mode 100644 index 0000000..35f1edb --- /dev/null +++ b/systems/eldiron/websites/tools/shaarli.nix | |||
@@ -0,0 +1,102 @@ | |||
1 | { lib, env, stdenv, fetchurl, shaarli, config }: | ||
2 | let | ||
3 | varDir = "/var/lib/shaarli"; | ||
4 | in rec { | ||
5 | activationScript = '' | ||
6 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
7 | ${varDir}/cache ${varDir}/pagecache ${varDir}/tmp ${varDir}/data | ||
8 | ''; | ||
9 | webRoot = shaarli.override { inherit varDir; }; | ||
10 | apache = rec { | ||
11 | user = "wwwrun"; | ||
12 | group = "wwwrun"; | ||
13 | modules = [ "proxy_fcgi" "rewrite" "env" ]; | ||
14 | root = webRoot; | ||
15 | vhostConf = socket: '' | ||
16 | Alias /Shaarli "${root}" | ||
17 | |||
18 | Include ${config.secrets.fullPaths."webapps/tools-shaarli"} | ||
19 | <Location /Shaarli> | ||
20 | Header set Access-Control-Allow-Origin "*" | ||
21 | Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS" | ||
22 | Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization, Client-Security-Token, Accept-Encoding" | ||
23 | </Location> | ||
24 | <Directory "${root}"> | ||
25 | DirectoryIndex index.php index.htm index.html | ||
26 | Options Indexes FollowSymLinks MultiViews Includes | ||
27 | AllowOverride All | ||
28 | Require all granted | ||
29 | <FilesMatch "\.php$"> | ||
30 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
31 | </FilesMatch> | ||
32 | </Directory> | ||
33 | ''; | ||
34 | }; | ||
35 | chatonsProperties = { | ||
36 | file.datetime = "2022-08-21T22:50:00"; | ||
37 | service = { | ||
38 | name = "Shaarli"; | ||
39 | description = "The personal, minimalist, super-fast, database free, bookmarking service - community repo"; | ||
40 | website = "https://tools.immae.eu/Shaarli/"; | ||
41 | logo = "https://tools.immae.eu/Shaarli/tpl/default/img/apple-touch-icon.png"; | ||
42 | status.level = "OK"; | ||
43 | status.description = "OK"; | ||
44 | registration."" = ["MEMBER" "CLIENT"]; | ||
45 | registration.load = "OPEN"; | ||
46 | install.type = "PACKAGE"; | ||
47 | }; | ||
48 | software = { | ||
49 | name = "Shaarli"; | ||
50 | website = "https://shaarli.readthedocs.io/"; | ||
51 | license.url = "https://github.com/shaarli/Shaarli/blob/master/COPYING"; | ||
52 | license.name = "GNU General Public License Version 3"; | ||
53 | version = webRoot.version; | ||
54 | source.url = "https://github.com/shaarli/Shaarli"; | ||
55 | modules = "ldap-connection-patch"; | ||
56 | }; | ||
57 | }; | ||
58 | keys."webapps/tools-shaarli" = { | ||
59 | user = apache.user; | ||
60 | group = apache.group; | ||
61 | permissions = "0400"; | ||
62 | text = '' | ||
63 | SetEnv SHAARLI_LDAP_PASSWORD "${env.ldap.password}" | ||
64 | SetEnv SHAARLI_LDAP_DN "${env.ldap.dn}" | ||
65 | SetEnv SHAARLI_LDAP_HOST "ldaps://${env.ldap.host}" | ||
66 | SetEnv SHAARLI_LDAP_BASE "${env.ldap.base}" | ||
67 | SetEnv SHAARLI_LDAP_FILTER "${env.ldap.filter}" | ||
68 | ''; | ||
69 | }; | ||
70 | phpFpm = rec { | ||
71 | serviceDeps = [ "openldap.service" ]; | ||
72 | basedir = builtins.concatStringsSep ":" [ webRoot varDir ]; | ||
73 | pool = { | ||
74 | "listen.owner" = apache.user; | ||
75 | "listen.group" = apache.group; | ||
76 | "pm" = "ondemand"; | ||
77 | "pm.max_children" = "60"; | ||
78 | "pm.process_idle_timeout" = "60"; | ||
79 | |||
80 | # Needed to avoid clashes in browser cookies (same domain) | ||
81 | "php_value[session.name]" = "ShaarliPHPSESSID"; | ||
82 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
83 | "php_admin_value[session.save_handler]" = "redis"; | ||
84 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Shaarli:'"; | ||
85 | "php_admin_value[upload_max_filesize]" = "200M"; | ||
86 | "php_admin_value[post_max_size]" = "200M"; | ||
87 | }; | ||
88 | }; | ||
89 | monitoringPlugins = [ "http" ]; | ||
90 | monitoringObjects.service = [ | ||
91 | { | ||
92 | service_description = "shaarli website is running on tools.immae.eu"; | ||
93 | host_name = config.hostEnv.fqdn; | ||
94 | use = "external-web-service"; | ||
95 | check_command = ["check_https" "tools.immae.eu" "/Shaarli/immae" "<title>Immae"]; | ||
96 | |||
97 | servicegroups = "webstatus-webapps"; | ||
98 | _webstatus_name = "Shaarli"; | ||
99 | _webstatus_url = "https://tools.immae.eu/Shaarli/"; | ||
100 | } | ||
101 | ]; | ||
102 | } | ||
diff --git a/systems/eldiron/websites/tools/ttrss.nix b/systems/eldiron/websites/tools/ttrss.nix new file mode 100644 index 0000000..6393256 --- /dev/null +++ b/systems/eldiron/websites/tools/ttrss.nix | |||
@@ -0,0 +1,167 @@ | |||
1 | { php, env, ttrss, ttrss-plugins, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/ttrss"; | ||
4 | activationScript = { | ||
5 | deps = [ "wrappers" ]; | ||
6 | text = '' | ||
7 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
8 | ${varDir}/lock ${varDir}/cache ${varDir}/feed-icons | ||
9 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir}/cache/export/ \ | ||
10 | ${varDir}/cache/feeds/ \ | ||
11 | ${varDir}/cache/images/ \ | ||
12 | ${varDir}/cache/js/ \ | ||
13 | ${varDir}/cache/simplepie/ \ | ||
14 | ${varDir}/cache/upload/ | ||
15 | touch ${varDir}/feed-icons/index.html | ||
16 | ''; | ||
17 | }; | ||
18 | chatonsProperties = { | ||
19 | file.datetime = "2022-08-21T22:50:00"; | ||
20 | service = { | ||
21 | name = "RSS"; | ||
22 | description = "Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator"; | ||
23 | website = "https://tools.immae.eu/ttrss/"; | ||
24 | logo = "https://tools.immae.eu/ttrss/images/favicon.png"; | ||
25 | status.level = "OK"; | ||
26 | status.description = "OK"; | ||
27 | registration."" = ["MEMBER" "CLIENT"]; | ||
28 | registration.load = "OPEN"; | ||
29 | install.type = "PACKAGE"; | ||
30 | }; | ||
31 | software = { | ||
32 | name = "Tiny Tiny RSS"; | ||
33 | website = "https://tt-rss.org/"; | ||
34 | license.url = "https://www.gnu.org/copyleft/gpl.html"; | ||
35 | license.name = "GNU General Public License Version 3"; | ||
36 | version = webRoot.version; | ||
37 | source.url = "https://git.tt-rss.org/fox/tt-rss.git/"; | ||
38 | modules = map (p: p.pluginName) webRoot.plugins; | ||
39 | }; | ||
40 | }; | ||
41 | keys."webapps/tools-ttrss" = { | ||
42 | user = apache.user; | ||
43 | group = apache.group; | ||
44 | permissions = "0400"; | ||
45 | keyDependencies = [ php ]; | ||
46 | text = '' | ||
47 | <?php | ||
48 | |||
49 | define('PHP_EXECUTABLE', '${php}/bin/php'); | ||
50 | |||
51 | define('LOCK_DIRECTORY', 'lock'); | ||
52 | define('CACHE_DIR', 'cache'); | ||
53 | define('ICONS_DIR', 'feed-icons'); | ||
54 | define('ICONS_URL', 'feed-icons'); | ||
55 | define('SELF_URL_PATH', 'https://tools.immae.eu/ttrss/'); | ||
56 | |||
57 | define('MYSQL_CHARSET', 'UTF8'); | ||
58 | |||
59 | define('DB_TYPE', 'pgsql'); | ||
60 | define('DB_HOST', '${env.postgresql.socket}'); | ||
61 | define('DB_USER', '${env.postgresql.user}'); | ||
62 | define('DB_NAME', '${env.postgresql.database}'); | ||
63 | define('DB_PASS', '${env.postgresql.password}'); | ||
64 | define('DB_PORT', '${env.postgresql.port}'); | ||
65 | |||
66 | define('AUTH_AUTO_CREATE', true); | ||
67 | define('AUTH_AUTO_LOGIN', true); | ||
68 | |||
69 | define('SINGLE_USER_MODE', false); | ||
70 | |||
71 | define('SIMPLE_UPDATE_MODE', false); | ||
72 | define('CHECK_FOR_UPDATES', true); | ||
73 | |||
74 | define('FORCE_ARTICLE_PURGE', 0); | ||
75 | define('SESSION_COOKIE_LIFETIME', 60*60*24*120); | ||
76 | define('ENABLE_GZIP_OUTPUT', false); | ||
77 | |||
78 | define('PLUGINS', 'auth_ldap, note, instances'); | ||
79 | |||
80 | define('LOG_DESTINATION', '''); | ||
81 | define('CONFIG_VERSION', 26); | ||
82 | |||
83 | define('DAEMON_UPDATE_LOGIN_LIMIT', 0); | ||
84 | |||
85 | define('SPHINX_SERVER', 'localhost:9312'); | ||
86 | define('SPHINX_INDEX', 'ttrss, delta'); | ||
87 | |||
88 | define('ENABLE_REGISTRATION', false); | ||
89 | define('REG_NOTIFY_ADDRESS', 'ttrss@tools.immae.eu'); | ||
90 | define('REG_MAX_USERS', 10); | ||
91 | |||
92 | define('SMTP_FROM_NAME', 'Tiny Tiny RSS'); | ||
93 | define('SMTP_FROM_ADDRESS', 'ttrss@tools.immae.eu'); | ||
94 | define('DIGEST_SUBJECT', '[tt-rss] New headlines for last 24 hours'); | ||
95 | |||
96 | define('LDAP_AUTH_SERVER_URI', 'ldap://${env.ldap.host}:389/'); | ||
97 | define('LDAP_AUTH_USETLS', TRUE); | ||
98 | define('LDAP_AUTH_ALLOW_UNTRUSTED_CERT', TRUE); | ||
99 | define('LDAP_AUTH_BASEDN', '${env.ldap.base}'); | ||
100 | define('LDAP_AUTH_ANONYMOUSBEFOREBIND', FALSE); | ||
101 | define('LDAP_AUTH_SEARCHFILTER', '${env.ldap.filter}'); | ||
102 | |||
103 | define('LDAP_AUTH_BINDDN', '${env.ldap.dn}'); | ||
104 | define('LDAP_AUTH_BINDPW', '${env.ldap.password}'); | ||
105 | define('LDAP_AUTH_LOGIN_ATTRIB', 'immaeTtrssLogin'); | ||
106 | |||
107 | define('LDAP_AUTH_LOG_ATTEMPTS', FALSE); | ||
108 | define('LDAP_AUTH_DEBUG', FALSE); | ||
109 | ''; | ||
110 | }; | ||
111 | webRoot = (ttrss.override { ttrss_config = config.secrets.fullPaths."webapps/tools-ttrss"; }).withPlugins (p: [ | ||
112 | p.auth_ldap p.ff_instagram p.tumblr_gdpr_ua | ||
113 | (p.af_feedmod.override { patched = true; }) | ||
114 | (p.feediron.override { patched = true; }) | ||
115 | ]); | ||
116 | apache = rec { | ||
117 | user = "wwwrun"; | ||
118 | group = "wwwrun"; | ||
119 | modules = [ "proxy_fcgi" ]; | ||
120 | root = webRoot; | ||
121 | vhostConf = socket: '' | ||
122 | Alias /ttrss "${root}" | ||
123 | <Directory "${root}"> | ||
124 | DirectoryIndex index.php | ||
125 | <FilesMatch "\.php$"> | ||
126 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
127 | </FilesMatch> | ||
128 | |||
129 | AllowOverride All | ||
130 | Options FollowSymlinks | ||
131 | Require all granted | ||
132 | </Directory> | ||
133 | ''; | ||
134 | }; | ||
135 | phpFpm = rec { | ||
136 | serviceDeps = [ "postgresql.service" "openldap.service" ]; | ||
137 | basedir = builtins.concatStringsSep ":" ( | ||
138 | [ webRoot config.secrets.fullPaths."webapps/tools-ttrss" varDir ] | ||
139 | ++ webRoot.plugins); | ||
140 | pool = { | ||
141 | "listen.owner" = apache.user; | ||
142 | "listen.group" = apache.group; | ||
143 | "pm" = "ondemand"; | ||
144 | "pm.max_children" = "60"; | ||
145 | "pm.process_idle_timeout" = "60"; | ||
146 | |||
147 | # Needed to avoid clashes in browser cookies (same domain) | ||
148 | "php_value[session.name]" = "TtrssPHPSESSID"; | ||
149 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
150 | "php_admin_value[session.save_handler]" = "redis"; | ||
151 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:TTRSS:'"; | ||
152 | }; | ||
153 | }; | ||
154 | monitoringPlugins = [ "http" ]; | ||
155 | monitoringObjects.service = [ | ||
156 | { | ||
157 | service_description = "ttrss website is running on tools.immae.eu"; | ||
158 | host_name = config.hostEnv.fqdn; | ||
159 | use = "external-web-service"; | ||
160 | check_command = ["check_https" "tools.immae.eu" "/ttrss/" "<title>Tiny Tiny RSS"]; | ||
161 | |||
162 | servicegroups = "webstatus-webapps"; | ||
163 | _webstatus_name = "TT-RSS"; | ||
164 | _webstatus_url = "https://tools.immae.eu/ttrss/"; | ||
165 | } | ||
166 | ]; | ||
167 | } | ||
diff --git a/systems/eldiron/websites/tools/wallabag.nix b/systems/eldiron/websites/tools/wallabag.nix new file mode 100644 index 0000000..0a5750d --- /dev/null +++ b/systems/eldiron/websites/tools/wallabag.nix | |||
@@ -0,0 +1,180 @@ | |||
1 | { env, wallabag, mylibs, config }: | ||
2 | rec { | ||
3 | varDir = "/var/lib/wallabag"; | ||
4 | keys."webapps/tools-wallabag" = { | ||
5 | user = apache.user; | ||
6 | group = apache.group; | ||
7 | permissions = "0400"; | ||
8 | text = '' | ||
9 | # This file is auto-generated during the composer install | ||
10 | parameters: | ||
11 | database_driver: pdo_pgsql | ||
12 | database_driver_class: Wallabag\CoreBundle\Doctrine\DBAL\Driver\CustomPostgreSQLDriver | ||
13 | database_host: ${env.postgresql.socket} | ||
14 | database_port: ${env.postgresql.port} | ||
15 | database_name: ${env.postgresql.database} | ||
16 | database_user: ${env.postgresql.user} | ||
17 | database_password: ${env.postgresql.password} | ||
18 | database_path: null | ||
19 | database_table_prefix: wallabag_ | ||
20 | database_socket: null | ||
21 | database_charset: utf8 | ||
22 | domain_name: https://tools.immae.eu/wallabag | ||
23 | mailer_transport: sendmail | ||
24 | mailer_host: 127.0.0.1 | ||
25 | mailer_user: null | ||
26 | mailer_password: null | ||
27 | locale: fr | ||
28 | secret: ${env.secret} | ||
29 | twofactor_auth: true | ||
30 | twofactor_sender: wallabag@tools.immae.eu | ||
31 | fosuser_registration: false | ||
32 | fosuser_confirmation: true | ||
33 | from_email: wallabag@tools.immae.eu | ||
34 | rss_limit: 50 | ||
35 | rabbitmq_host: localhost | ||
36 | rabbitmq_port: 5672 | ||
37 | rabbitmq_user: guest | ||
38 | rabbitmq_password: guest | ||
39 | rabbitmq_prefetch_count: 10 | ||
40 | redis_scheme: unix | ||
41 | redis_host: null | ||
42 | redis_port: null | ||
43 | redis_path: ${env.redis.socket} | ||
44 | redis_password: null | ||
45 | sites_credentials: { } | ||
46 | ldap_enabled: true | ||
47 | ldap_host: ${env.ldap.host} | ||
48 | ldap_port: 636 | ||
49 | ldap_tls: false | ||
50 | ldap_ssl: true | ||
51 | ldap_bind_requires_dn: true | ||
52 | ldap_base: '${env.ldap.base}' | ||
53 | ldap_manager_dn: '${env.ldap.dn}' | ||
54 | ldap_manager_pw: ${env.ldap.password} | ||
55 | ldap_filter: '${env.ldap.filter}' | ||
56 | ldap_admin_filter: '${env.ldap.admin_filter}' | ||
57 | ldap_username_attribute: uid | ||
58 | ldap_email_attribute: mail | ||
59 | ldap_name_attribute: cn | ||
60 | ldap_enabled_attribute: null | ||
61 | services: | ||
62 | swiftmailer.mailer.default.transport: | ||
63 | class: Swift_SendmailTransport | ||
64 | arguments: ['/run/wrappers/bin/sendmail -bs'] | ||
65 | ''; | ||
66 | }; | ||
67 | chatonsProperties = { | ||
68 | file.datetime = "2022-08-21T22:50:00"; | ||
69 | service = { | ||
70 | name = "Wallabag"; | ||
71 | description = "wallabag is a self hostable application for saving web pages: Save and classify articles. Read them later. Freely."; | ||
72 | website = "https://tools.immae.eu/wallabag/"; | ||
73 | logo = "https://tools.immae.eu/wallabag/wallassets/themes/_global/img/appicon/apple-touch-icon-120.png"; | ||
74 | status.level = "OK"; | ||
75 | status.description = "OK"; | ||
76 | registration."" = ["MEMBER" "CLIENT"]; | ||
77 | registration.load = "OPEN"; | ||
78 | install.type = "PACKAGE"; | ||
79 | }; | ||
80 | software = { | ||
81 | name = "Wallabag"; | ||
82 | website = "https://wallabag.org/en"; | ||
83 | license.url = "https://github.com/wallabag/wallabag/blob/master/COPYING.md"; | ||
84 | license.name = "MIT License"; | ||
85 | version = webappDir.version; | ||
86 | source.url = "https://github.com/wallabag/wallabag"; | ||
87 | modules = "ldap-patch"; | ||
88 | }; | ||
89 | }; | ||
90 | webappDir = wallabag.override { ldap = true; wallabag_config = config.secrets.fullPaths."webapps/tools-wallabag"; }; | ||
91 | activationScript = '' | ||
92 | install -m 0755 -o ${apache.user} -g ${apache.group} -d ${varDir} \ | ||
93 | ${varDir}/var ${varDir}/data/db ${varDir}/assets/images | ||
94 | ''; | ||
95 | webRoot = "${webappDir}/web"; | ||
96 | # Domain migration: Table wallabag_entry contains whole | ||
97 | # https://tools.immae.eu/wallabag domain name in preview_picture | ||
98 | apache = rec { | ||
99 | user = "wwwrun"; | ||
100 | group = "wwwrun"; | ||
101 | modules = [ "proxy_fcgi" ]; | ||
102 | root = webRoot; | ||
103 | vhostConf = socket: '' | ||
104 | Alias /wallabag "${root}" | ||
105 | <Directory "${root}"> | ||
106 | AllowOverride None | ||
107 | Require all granted | ||
108 | # For OAuth (apps) | ||
109 | CGIPassAuth On | ||
110 | |||
111 | <FilesMatch "\.php$"> | ||
112 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
113 | </FilesMatch> | ||
114 | |||
115 | <IfModule mod_rewrite.c> | ||
116 | Options -MultiViews | ||
117 | RewriteEngine On | ||
118 | RewriteCond %{REQUEST_FILENAME} !-f | ||
119 | RewriteRule ^(.*)$ app.php [QSA,L] | ||
120 | </IfModule> | ||
121 | </Directory> | ||
122 | <Directory "${root}/bundles"> | ||
123 | <IfModule mod_rewrite.c> | ||
124 | RewriteEngine Off | ||
125 | </IfModule> | ||
126 | </Directory> | ||
127 | <Directory "${varDir}/assets"> | ||
128 | AllowOverride None | ||
129 | Require all granted | ||
130 | </Directory> | ||
131 | ''; | ||
132 | }; | ||
133 | phpFpm = rec { | ||
134 | preStart = '' | ||
135 | if [ ! -f "${varDir}/currentWebappDir" -o \ | ||
136 | ! -f "${varDir}/currentKey" -o \ | ||
137 | "${webappDir}" != "$(cat ${varDir}/currentWebappDir 2>/dev/null)" ] \ | ||
138 | || ! sha512sum -c --status ${varDir}/currentKey; then | ||
139 | pushd ${webappDir} > /dev/null | ||
140 | /run/wrappers/bin/sudo -u wwwrun ./bin/console --env=prod cache:clear | ||
141 | rm -rf /var/lib/wallabag/var/cache/pro_ | ||
142 | /run/wrappers/bin/sudo -u wwwrun ./bin/console --env=prod doctrine:migrations:migrate --no-interaction | ||
143 | popd > /dev/null | ||
144 | echo -n "${webappDir}" > ${varDir}/currentWebappDir | ||
145 | sha512sum ${config.secrets.fullPaths."webapps/tools-wallabag"} > ${varDir}/currentKey | ||
146 | fi | ||
147 | ''; | ||
148 | serviceDeps = [ "postgresql.service" "openldap.service" ]; | ||
149 | basedir = builtins.concatStringsSep ":" [ webappDir config.secrets.fullPaths."webapps/tools-wallabag" varDir ]; | ||
150 | pool = { | ||
151 | "listen.owner" = apache.user; | ||
152 | "listen.group" = apache.group; | ||
153 | "pm" = "dynamic"; | ||
154 | "pm.max_children" = "60"; | ||
155 | "pm.start_servers" = "2"; | ||
156 | "pm.min_spare_servers" = "1"; | ||
157 | "pm.max_spare_servers" = "10"; | ||
158 | |||
159 | # Needed to avoid clashes in browser cookies (same domain) | ||
160 | "php_value[session.name]" = "WallabagPHPSESSID"; | ||
161 | "php_admin_value[session.save_handler]" = "redis"; | ||
162 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Wallabag:'"; | ||
163 | "php_admin_value[open_basedir]" = "/run/wrappers/bin/sendmail:${basedir}:/tmp"; | ||
164 | "php_value[max_execution_time]" = "300"; | ||
165 | }; | ||
166 | }; | ||
167 | monitoringPlugins = [ "http" ]; | ||
168 | monitoringObjects.service = [ | ||
169 | { | ||
170 | service_description = "wallabag website is running on tools.immae.eu"; | ||
171 | host_name = config.hostEnv.fqdn; | ||
172 | use = "external-web-service"; | ||
173 | check_command = ["check_https" "tools.immae.eu" "/wallabag/" "<title>Bienvenue sur wallabag"]; | ||
174 | |||
175 | servicegroups = "webstatus-webapps"; | ||
176 | _webstatus_name = "Wallabag"; | ||
177 | _webstatus_url = "https://tools.immae.eu/wallabag/"; | ||
178 | } | ||
179 | ]; | ||
180 | } | ||
diff --git a/systems/eldiron/websites/tools/webhooks.nix b/systems/eldiron/websites/tools/webhooks.nix new file mode 100644 index 0000000..337c8f8 --- /dev/null +++ b/systems/eldiron/websites/tools/webhooks.nix | |||
@@ -0,0 +1,25 @@ | |||
1 | { lib, env, binEnv }: | ||
2 | { | ||
3 | keys = lib.attrsets.mapAttrs' (k: v: | ||
4 | lib.nameValuePair "webapps/webhooks/${k}.php" { | ||
5 | user = "wwwrun"; | ||
6 | group = "wwwrun"; | ||
7 | permissions = "0400"; | ||
8 | text = builtins.replaceStrings ["{{webhooks-bin-env}}"] [ "${binEnv}" ] v; | ||
9 | keyDependencies = [ binEnv ]; | ||
10 | }) env // lib.attrsets.mapAttrs' (k: v: | ||
11 | lib.nameValuePair "webapps/webhooks/${k}/index.php" { | ||
12 | user = "wwwrun"; | ||
13 | group = "wwwrun"; | ||
14 | permissions = "0400"; | ||
15 | text = builtins.replaceStrings ["{{webhooks-bin-env}}"] [ "${binEnv}" ] v; | ||
16 | keyDependencies = [ binEnv ]; | ||
17 | }) env // { | ||
18 | "webapps/webhooks" = { | ||
19 | isDir = true; | ||
20 | user = "wwwrun"; | ||
21 | group = "wwwrun"; | ||
22 | permissions = "0500"; | ||
23 | }; | ||
24 | }; | ||
25 | } | ||
diff --git a/systems/eldiron/websites/tools/ympd.nix b/systems/eldiron/websites/tools/ympd.nix new file mode 100644 index 0000000..0d8d41d --- /dev/null +++ b/systems/eldiron/websites/tools/ympd.nix | |||
@@ -0,0 +1,54 @@ | |||
1 | { env, config }: | ||
2 | let | ||
3 | ympd = rec { | ||
4 | config = { | ||
5 | webPort = "localhost:${toString env.listenPort}"; | ||
6 | host = env.mpd.host; | ||
7 | port = env.mpd.port; | ||
8 | }; | ||
9 | apache = { | ||
10 | modules = [ | ||
11 | "proxy_wstunnel" | ||
12 | ]; | ||
13 | vhostConf = '' | ||
14 | <LocationMatch "^/mpd(?!/music.(mp3|ogg))"> | ||
15 | Use LDAPConnect | ||
16 | Require ldap-group cn=users,cn=mpd,ou=services,dc=immae,dc=eu | ||
17 | </LocationMatch> | ||
18 | |||
19 | RedirectMatch permanent "^/mpd$" "/mpd/" | ||
20 | <Location "/mpd/"> | ||
21 | ProxyPass http://${config.webPort}/ | ||
22 | ProxyPassReverse http://${config.webPort}/ | ||
23 | ProxyPreserveHost on | ||
24 | </Location> | ||
25 | <Location "/mpd/ws"> | ||
26 | ProxyPass ws://${config.webPort}/ws | ||
27 | </Location> | ||
28 | <Location "/mpd/music.mp3"> | ||
29 | ProxyPass unix:///run/mpd/mp3.sock|http://tools.immae.eu/mpd/mp3 | ||
30 | ProxyPassReverse unix:///run/mpd/mp3.sock|http://tools.immae.eu/mpd/mp3 | ||
31 | </Location> | ||
32 | <Location "/mpd/music.ogg"> | ||
33 | ProxyPass unix:///run/mpd/ogg.sock|http://tools.immae.eu/mpd/ogg | ||
34 | ProxyPassReverse unix:///run/mpd/ogg.sock|http://tools.immae.eu/mpd/ogg | ||
35 | </Location> | ||
36 | ''; | ||
37 | }; | ||
38 | }; | ||
39 | in | ||
40 | ympd // { | ||
41 | monitoringPlugins = [ "http" ]; | ||
42 | monitoringObjects.service = [ | ||
43 | { | ||
44 | service_description = "mpd website is running on tools.immae.eu"; | ||
45 | host_name = config.hostEnv.fqdn; | ||
46 | use = "external-web-service"; | ||
47 | check_command = ["check_https_auth" "tools.immae.eu" "/mpd/" "<title>ympd"]; | ||
48 | |||
49 | servicegroups = "webstatus-webapps"; | ||
50 | _webstatus_name = "MPD (YMPD)"; | ||
51 | _webstatus_url = "https://tools.immae.eu/mpd/"; | ||
52 | } | ||
53 | ]; | ||
54 | } | ||
diff --git a/systems/eldiron/websites/tools/yourls.nix b/systems/eldiron/websites/tools/yourls.nix new file mode 100644 index 0000000..9e54b0d --- /dev/null +++ b/systems/eldiron/websites/tools/yourls.nix | |||
@@ -0,0 +1,118 @@ | |||
1 | { env, yourls, yourls-plugins, config }: | ||
2 | rec { | ||
3 | keys."webapps/tools-yourls" = { | ||
4 | user = apache.user; | ||
5 | group = apache.group; | ||
6 | permissions = "0400"; | ||
7 | text = '' | ||
8 | <?php | ||
9 | define( 'YOURLS_DB_USER', '${env.mysql.user}' ); | ||
10 | define( 'YOURLS_DB_PASS', '${env.mysql.password}' ); | ||
11 | define( 'YOURLS_DB_NAME', '${env.mysql.database}' ); | ||
12 | define( 'YOURLS_DB_HOST', '${env.mysql.host}' ); | ||
13 | define( 'YOURLS_DB_PREFIX', 'yourls_' ); | ||
14 | define( 'YOURLS_SITE', 'https://tools.immae.eu/url' ); | ||
15 | define( 'YOURLS_HOURS_OFFSET', 0 ); | ||
16 | define( 'YOURLS_LANG', ''' ); | ||
17 | define( 'YOURLS_UNIQUE_URLS', true ); | ||
18 | define( 'YOURLS_PRIVATE', true ); | ||
19 | define( 'YOURLS_COOKIEKEY', '${env.cookieKey}' ); | ||
20 | $yourls_user_passwords = array(); | ||
21 | define( 'YOURLS_DEBUG', false ); | ||
22 | define( 'YOURLS_URL_CONVERT', 36 ); | ||
23 | $yourls_reserved_URL = array(); | ||
24 | define( 'LDAPAUTH_HOST', 'ldaps://${env.ldap.host}' ); | ||
25 | define( 'LDAPAUTH_PORT', '636' ); | ||
26 | define( 'LDAPAUTH_BASE', '${env.ldap.base}' ); | ||
27 | define( 'LDAPAUTH_SEARCH_USER', '${env.ldap.dn}' ); | ||
28 | define( 'LDAPAUTH_SEARCH_PASS', '${env.ldap.password}' ); | ||
29 | |||
30 | define( 'LDAPAUTH_GROUP_ATTR', 'memberof' ); | ||
31 | define( 'LDAPAUTH_GROUP_REQ', 'cn=admin,cn=yourls,ou=services,dc=immae,dc=eu'); | ||
32 | |||
33 | define( 'LDAPAUTH_USERCACHE_TYPE', 0); | ||
34 | ''; | ||
35 | }; | ||
36 | chatonsProperties = { | ||
37 | file.datetime = "2022-08-27T18:00:00"; | ||
38 | service = { | ||
39 | name = "Yourls"; | ||
40 | description = "Your own URL shortener"; | ||
41 | website = "https://tools.immae.eu/url/admin/"; | ||
42 | logo = "https://tools.immae.eu/url/images/favicon.gif"; | ||
43 | status.level = "OK"; | ||
44 | status.description = "OK"; | ||
45 | registration."" = ["MEMBER" "CLIENT"]; | ||
46 | registration.load = "FULL"; | ||
47 | install.type = "PACKAGE"; | ||
48 | }; | ||
49 | software = { | ||
50 | name = "YOURLS"; | ||
51 | website = "http://yourls.org/"; | ||
52 | license.url = "https://github.com/YOURLS/YOURLS/blob/master/LICENSE"; | ||
53 | license.name = "MIT License"; | ||
54 | version = webRoot.version; | ||
55 | source.url = "https://github.com/YOURLS/YOURLS"; | ||
56 | modules = map (a: a.pluginName) webRoot.plugins; | ||
57 | }; | ||
58 | }; | ||
59 | webRoot = (yourls.override { yourls_config = config.secrets.fullPaths."webapps/tools-yourls"; }).withPlugins (p: [p.ldap]); | ||
60 | apache = rec { | ||
61 | user = "wwwrun"; | ||
62 | group = "wwwrun"; | ||
63 | modules = [ "proxy_fcgi" ]; | ||
64 | root = webRoot; | ||
65 | vhostConf = socket: '' | ||
66 | Alias /url "${root}" | ||
67 | <Directory "${root}"> | ||
68 | <FilesMatch "\.php$"> | ||
69 | SetHandler "proxy:unix:${socket}|fcgi://localhost" | ||
70 | </FilesMatch> | ||
71 | |||
72 | AllowOverride None | ||
73 | Require all granted | ||
74 | <IfModule mod_rewrite.c> | ||
75 | RewriteEngine On | ||
76 | RewriteBase /url/ | ||
77 | RewriteCond %{REQUEST_FILENAME} !-f | ||
78 | RewriteCond %{REQUEST_FILENAME} !-d | ||
79 | RewriteRule ^.*$ /url/yourls-loader.php [L] | ||
80 | </IfModule> | ||
81 | DirectoryIndex index.php | ||
82 | </Directory> | ||
83 | ''; | ||
84 | }; | ||
85 | phpFpm = rec { | ||
86 | serviceDeps = [ "mysql.service" "openldap.service" ]; | ||
87 | basedir = builtins.concatStringsSep ":" ( | ||
88 | [ webRoot config.secrets.fullPaths."webapps/tools-yourls" ] | ||
89 | ++ webRoot.plugins); | ||
90 | pool = { | ||
91 | "listen.owner" = apache.user; | ||
92 | "listen.group" = apache.group; | ||
93 | "pm" = "ondemand"; | ||
94 | "pm.max_children" = "60"; | ||
95 | "pm.process_idle_timeout" = "60"; | ||
96 | |||
97 | # Needed to avoid clashes in browser cookies (same domain) | ||
98 | "php_value[session.name]" = "YourlsPHPSESSID"; | ||
99 | "php_admin_value[session.save_handler]" = "redis"; | ||
100 | "php_admin_value[session.save_path]" = "'unix:///run/redis-php-sessions/redis.sock?persistent=1&prefix=Tools:Yourls:'"; | ||
101 | "php_admin_value[open_basedir]" = "${basedir}:/tmp"; | ||
102 | }; | ||
103 | }; | ||
104 | monitoringPlugins = [ "http" ]; | ||
105 | monitoringObjects.service = [ | ||
106 | { | ||
107 | service_description = "yourl website is running on tools.immae.eu"; | ||
108 | host_name = config.hostEnv.fqdn; | ||
109 | use = "external-web-service"; | ||
110 | check_command = ["check_https" "tools.immae.eu" "/url/admin/" "<title>YOURLS"]; | ||
111 | |||
112 | servicegroups = "webstatus-webapps"; | ||
113 | _webstatus_name = "YOURLS"; | ||
114 | _webstatus_url = "https://tools.immae.eu/url/admin/"; | ||
115 | } | ||
116 | |||
117 | ]; | ||
118 | } | ||
diff --git a/systems/eldiron/websites/visio/default.nix b/systems/eldiron/websites/visio/default.nix new file mode 100644 index 0000000..76d1960 --- /dev/null +++ b/systems/eldiron/websites/visio/default.nix | |||
@@ -0,0 +1,63 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | port = config.myEnv.ports.galene_port; | ||
4 | cfg = config.myServices.websites.tools.visio; | ||
5 | in { | ||
6 | options.myServices.websites.tools.visio = { | ||
7 | enable = lib.mkEnableOption "enable visio website"; | ||
8 | }; | ||
9 | |||
10 | config = lib.mkIf cfg.enable { | ||
11 | myServices.dns.zones."immae.eu".subdomains.visio = | ||
12 | with config.myServices.dns.helpers; ips servers.eldiron.ips.main; | ||
13 | |||
14 | myServices.chatonsProperties.services.galene = { | ||
15 | file.datetime = "2022-08-21T22:45:00"; | ||
16 | service = { | ||
17 | name = "Galene"; | ||
18 | description = "The Galène videoconference server"; | ||
19 | website = "https://visio.immae.eu/"; | ||
20 | status.level = "OK"; | ||
21 | status.description = "OK"; | ||
22 | registration."" = ["NONE"]; | ||
23 | registration.load = "OPEN"; | ||
24 | install.type = "PACKAGE"; | ||
25 | }; | ||
26 | software = { | ||
27 | name = "Galene"; | ||
28 | website = "https://galene.org/"; | ||
29 | license.url = "https://github.com/jech/galene/blob/master/LICENCE"; | ||
30 | license.name = "MIT License"; | ||
31 | version = pkgs.galene.version; | ||
32 | source.url = "https://github.com/jech/galene"; | ||
33 | }; | ||
34 | }; | ||
35 | services.galene = { | ||
36 | enable = true; | ||
37 | httpPort = port; | ||
38 | insecure = true; | ||
39 | # hack to bypass module's limitations | ||
40 | dataDir = "/var/lib/galene/data -http localhost:${builtins.toString port}"; | ||
41 | }; | ||
42 | systemd.services.galene.serviceConfig.RestrictAddressFamilies = lib.mkForce [ "AF_INET" "AF_INET6" "AF_NETLINK" ]; | ||
43 | security.acme.certs.eldiron.extraDomainNames = [ "visio.immae.eu" ]; | ||
44 | services.websites.env.tools.vhostConfs.visio = { | ||
45 | certName = "eldiron"; | ||
46 | hosts = ["visio.immae.eu" ]; | ||
47 | root = null; | ||
48 | extraConfig = [ | ||
49 | '' | ||
50 | ProxyPass /ws ws://localhost:${builtins.toString port}/ws | ||
51 | ProxyPassReverse /ws ws://localhost:${builtins.toString port}/ws | ||
52 | |||
53 | ProxyPass / http://localhost:${builtins.toString port}/ | ||
54 | ProxyPassReverse / http://localhost:${builtins.toString port}/ | ||
55 | |||
56 | ProxyPreserveHost On | ||
57 | '' | ||
58 | ]; | ||
59 | }; | ||
60 | |||
61 | }; | ||
62 | } | ||
63 | |||
diff --git a/systems/eldiron/websites/vpn/default.nix b/systems/eldiron/websites/vpn/default.nix new file mode 100644 index 0000000..ea54691 --- /dev/null +++ b/systems/eldiron/websites/vpn/default.nix | |||
@@ -0,0 +1,13 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | cfg = config.myServices.vpn; | ||
4 | in { | ||
5 | config = lib.mkIf cfg.enable { | ||
6 | security.acme.certs.eldiron.extraDomainNames = [ "vpn.immae.eu" ]; | ||
7 | services.websites.env.tools.vhostConfs.vpn = { | ||
8 | certName = "eldiron"; | ||
9 | hosts = [ "vpn.immae.eu" ]; | ||
10 | root = ./www; | ||
11 | }; | ||
12 | }; | ||
13 | } | ||
diff --git a/systems/eldiron/websites/vpn/www/index.html b/systems/eldiron/websites/vpn/www/index.html new file mode 100644 index 0000000..fc2618a --- /dev/null +++ b/systems/eldiron/websites/vpn/www/index.html | |||
@@ -0,0 +1,91 @@ | |||
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | ||
2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
3 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
4 | <head> | ||
5 | <title>VPN configuration</title> | ||
6 | <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'> | ||
7 | <link rel="stylesheet" href="style.css" type="text/css" /> | ||
8 | <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
9 | </head> | ||
10 | <body> | ||
11 | <div class="instructions"> | ||
12 | <h2>Installation</h2> | ||
13 | <ul> | ||
14 | <li>Installer tinc</li> | ||
15 | <li>Créer un fichier /etc/tinc/Immae/tinc.conf sur ce modèle, en remplaçant la ligne <code>A choisir</code> par un nom de la forme DomaineMachine. La machine sera accessible par <code>machine.domaine.immae.eu</code> par la suite | ||
16 | <pre> | ||
17 | Name = A choisir | ||
18 | Mode = switch | ||
19 | Interface = vpn6 | ||
20 | ConnectTo = ImmaeEu | ||
21 | |||
22 | # The tap device tinc will use. | ||
23 | # Default is /dev/tap0 for ethertap or FreeBSD, | ||
24 | # /dev/tun0 for Solaris and OpenBSD, | ||
25 | # and /dev/net/tun for Linux tun/tap device. | ||
26 | Device = /dev/net/tun | ||
27 | LocalDiscovery = yes | ||
28 | </pre> | ||
29 | </li> | ||
30 | <li>Vérifier l'existence du device indiqué à la ligne "<code>Device</code>" dans le système. | ||
31 | <pre>ls /dev/net/tun</pre> | ||
32 | </li> | ||
33 | <li><em class="important">Si tinc tourne déjà, l'arrêter !!</em></li> | ||
34 | <li>Générer les clés : | ||
35 | <pre>tincd -K -n Immae</pre> | ||
36 | Stocker la clé privée dans <code>/etc/tinc/Immae/rsa_key.priv</code> et la clé publique dans un autre dossier<br /> | ||
37 | (<em>pas <code>/etc/tinc/Immae/hosts/</code> comme proposé par défaut</em>).<br /> | ||
38 | L'endroit importe peu, elle ne sera pas conservée.</li> | ||
39 | <li>M'envoyer le nom choisi dans <code>tinc.conf</code>, et la clé publique</li> | ||
40 | <li>Cloner le dépôt des hôtes du réseau | ||
41 | <pre> | ||
42 | cd /etc/tinc/Immae | ||
43 | git clone https://git.immae.eu/perso/Immae/Config/tinc/hosts | ||
44 | </pre> | ||
45 | </li> | ||
46 | <li>Une fois que j'ai confirmé avoir reçu la clé : | ||
47 | <pre> | ||
48 | cd /etc/tinc/Immae/hosts | ||
49 | git pull origin master | ||
50 | </pre> | ||
51 | </li> | ||
52 | <li>Uniquement pour Debian/Ubuntu: Ajouter <code>Immae</code> dans <code>/etc/tinc/nets.boot</code> (créer le fichier si nécessaire).</li> | ||
53 | <li>Selon le système, démarrer tinc : | ||
54 | <pre> | ||
55 | /etc/init.d/tinc start | ||
56 | </pre> | ||
57 | ou | ||
58 | <pre> | ||
59 | systemctl enable tincd@Immae.service | ||
60 | systemctl start tincd@Immae.service | ||
61 | </pre> | ||
62 | </li> | ||
63 | </ul> | ||
64 | |||
65 | <h2>Choix d'ip</h2> | ||
66 | <ul> | ||
67 | <li>Choisir une ip : <code>2001:aaaa:b:cccc:d::xxxx:yyyy/96</code> (le préfixe <code>2001:aaaa:b:cccc:d</code> est imposé). Choix uniquement sur le <code>yyyy</code> (n'importe quel nombre entre <code>1</code> et <code>ffff</code>), le <code>xxxx</code> est dépendant du domaine</li> | ||
68 | <li>M'envoyer le choix de l'ip</li> | ||
69 | |||
70 | <li>Si on veut éviter de passer systématiquement par le serveur immae.eu (Par | ||
71 | défaut linux préfère l'ipv6 dès qu'il en a possibilité), modifier le fichier | ||
72 | <code>/etc/gai.conf</code>. Quelques lignes à décommenter, tout est déjà dans le fichier : | ||
73 | <pre> | ||
74 | (...) | ||
75 | # | ||
76 | precedence ::1/128 50 | ||
77 | precedence ::/0 40 | ||
78 | precedence 2002::/16 30 | ||
79 | precedence ::/96 20 | ||
80 | #precedence ::ffff:0:0/96 10 | ||
81 | # | ||
82 | # For sites which prefer IPv4 connections change the last line to | ||
83 | # | ||
84 | precedence ::ffff:0:0/96 100 | ||
85 | (...) | ||
86 | </pre> | ||
87 | </li> | ||
88 | </ul> | ||
89 | </div> | ||
90 | </body> | ||
91 | </html> | ||
diff --git a/systems/eldiron/websites/vpn/www/style.css b/systems/eldiron/websites/vpn/www/style.css new file mode 100644 index 0000000..b177fec --- /dev/null +++ b/systems/eldiron/websites/vpn/www/style.css | |||
@@ -0,0 +1,61 @@ | |||
1 | * { | ||
2 | margin:0; | ||
3 | padding:0; | ||
4 | -webkit-box-sizing:border-box; | ||
5 | -moz-box-sizing:border-box; | ||
6 | box-sizing: border-box; | ||
7 | } | ||
8 | |||
9 | html { | ||
10 | min-height:100%; | ||
11 | border-top:10px solid #ECEEF1; | ||
12 | border-bottom:10px solid #ECEEF1; | ||
13 | color:#61666c; | ||
14 | font-weight:400; | ||
15 | font-size:1em; | ||
16 | font-family:'Open Sans', sans-serif; | ||
17 | line-height:2em; | ||
18 | } | ||
19 | body { | ||
20 | padding:20px; | ||
21 | -webkit-backface-visibility:hidden; | ||
22 | } | ||
23 | code { | ||
24 | font-family:consolas,monospace; | ||
25 | } | ||
26 | a { | ||
27 | color:#61666c; | ||
28 | text-decoration:none; | ||
29 | } | ||
30 | a, img { | ||
31 | border:none; | ||
32 | outline:none | ||
33 | } | ||
34 | a:hover { | ||
35 | color:#2a2a2a; | ||
36 | } | ||
37 | |||
38 | .instructions { | ||
39 | margin:0 auto; | ||
40 | padding-top:20px; | ||
41 | max-width:80%; | ||
42 | } | ||
43 | |||
44 | .instructions a { | ||
45 | text-decoration: underline; | ||
46 | } | ||
47 | |||
48 | .instructions h2 { | ||
49 | margin-top: 10px; | ||
50 | } | ||
51 | .instructions em.important:before { | ||
52 | content: "⚠ Important ⚠ "; | ||
53 | color: red; | ||
54 | } | ||
55 | .instructions pre { | ||
56 | width: 50em; | ||
57 | padding: 10px 15px; | ||
58 | display: table; | ||
59 | border: 1px inset black; | ||
60 | line-height: 1em; | ||
61 | } | ||
diff --git a/systems/eldiron/webstats/default.nix b/systems/eldiron/webstats/default.nix new file mode 100644 index 0000000..0057f64 --- /dev/null +++ b/systems/eldiron/webstats/default.nix | |||
@@ -0,0 +1,80 @@ | |||
1 | { lib, pkgs, config, ... }: | ||
2 | let | ||
3 | name = "goaccess"; | ||
4 | cfg = config.services.webstats; | ||
5 | in { | ||
6 | options.services.webstats = { | ||
7 | dataDir = lib.mkOption { | ||
8 | type = lib.types.path; | ||
9 | default = "/var/lib/${name}"; | ||
10 | description = '' | ||
11 | The directory where Goaccess stores its data. | ||
12 | ''; | ||
13 | }; | ||
14 | sites = lib.mkOption { | ||
15 | type = lib.types.listOf (lib.types.submodule { | ||
16 | options = { | ||
17 | conf = lib.mkOption { | ||
18 | type = lib.types.nullOr lib.types.path; | ||
19 | default = null; | ||
20 | description = '' | ||
21 | use custom goaccess configuration file instead of the | ||
22 | default one. | ||
23 | ''; | ||
24 | }; | ||
25 | name = lib.mkOption { | ||
26 | type = lib.types.str; | ||
27 | description = '' | ||
28 | Domain name. Corresponds to the Apache file name and the | ||
29 | folder name in which the state will be saved. | ||
30 | ''; | ||
31 | }; | ||
32 | }; | ||
33 | }); | ||
34 | default = []; | ||
35 | description = "Sites to generate stats"; | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | config = lib.mkIf (builtins.length cfg.sites > 0) { | ||
40 | environment.systemPackages = [ | ||
41 | pkgs.goaccess | ||
42 | ]; | ||
43 | |||
44 | services.cron = { | ||
45 | enable = true; | ||
46 | systemCronJobs = let | ||
47 | stats = domain: conf: let | ||
48 | config = if builtins.isNull conf | ||
49 | then pkgs.runCommand "goaccess.conf" { | ||
50 | dbPath = "${cfg.dataDir}/${domain}"; | ||
51 | } "substituteAll ${./goaccess.conf} $out" | ||
52 | else conf; | ||
53 | d = pkgs.writeScriptBin "stats-${domain}" '' | ||
54 | #!${pkgs.stdenv.shell} | ||
55 | set -e | ||
56 | shopt -s nullglob | ||
57 | TMPFILE=$(mktemp) | ||
58 | trap "rm -f $TMPFILE" EXIT | ||
59 | |||
60 | mkdir -p ${cfg.dataDir}/${domain} | ||
61 | for i in /var/log/httpd/access-${domain}*.gz /var/log/httpd/*/access-${domain}*.gz; do | ||
62 | zcat "$i" >> $TMPFILE | ||
63 | done | ||
64 | cat /var/log/httpd/*access-${domain}.log /var/log/httpd/*/access-${domain}.log > $TMPFILE | ||
65 | ${pkgs.goaccess}/bin/goaccess $TMPFILE --no-progress -o ${cfg.dataDir}/${domain}/index.html -p ${config} | ||
66 | ''; | ||
67 | in "${d}/bin/stats-${domain}"; | ||
68 | allStats = sites: pkgs.writeScript "stats" '' | ||
69 | #!${pkgs.stdenv.shell} | ||
70 | |||
71 | mkdir -p ${cfg.dataDir} | ||
72 | ${builtins.concatStringsSep "\n" (map (v: stats v.name v.conf) sites)} | ||
73 | ''; | ||
74 | in | ||
75 | [ | ||
76 | "5 0 * * * root ${allStats cfg.sites}" | ||
77 | ]; | ||
78 | }; | ||
79 | }; | ||
80 | } | ||
diff --git a/systems/eldiron/webstats/goaccess.conf b/systems/eldiron/webstats/goaccess.conf new file mode 100644 index 0000000..c6c244a --- /dev/null +++ b/systems/eldiron/webstats/goaccess.conf | |||
@@ -0,0 +1,100 @@ | |||
1 | time-format %H:%M:%S | ||
2 | date-format %d/%b/%Y | ||
3 | |||
4 | log-format VCOMBINED | ||
5 | #= %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u" | ||
6 | |||
7 | html-prefs {"theme":"bright","layout":"vertical"} | ||
8 | |||
9 | # old | ||
10 | exclude-ip 188.165.209.148 | ||
11 | exclude-ip 178.33.252.96 | ||
12 | exclude-ip 2001:41d0:2:9c94::1 | ||
13 | exclude-ip 2001:41d0:2:9c94:: | ||
14 | # eldiron | ||
15 | exclude-ip 176.9.151.89 | ||
16 | exclude-ip 2a01:4f8:160:3445:: | ||
17 | # monitoring-1 | ||
18 | exclude-ip 95.216.164.150 | ||
19 | exclude-ip 2a01:4f9:c010:1c95:: | ||
20 | |||
21 | no-query-string true | ||
22 | |||
23 | persist true | ||
24 | restore true | ||
25 | db-path @dbPath@ | ||
26 | |||
27 | ignore-panel REFERRERS | ||
28 | ignore-panel KEYPHRASES | ||
29 | |||
30 | static-file .css | ||
31 | static-file .js | ||
32 | static-file .jpg | ||
33 | static-file .png | ||
34 | static-file .gif | ||
35 | static-file .ico | ||
36 | static-file .jpeg | ||
37 | static-file .pdf | ||
38 | static-file .csv | ||
39 | static-file .mpeg | ||
40 | static-file .mpg | ||
41 | static-file .swf | ||
42 | static-file .woff | ||
43 | static-file .woff2 | ||
44 | static-file .xls | ||
45 | static-file .xlsx | ||
46 | static-file .doc | ||
47 | static-file .docx | ||
48 | static-file .ppt | ||
49 | static-file .pptx | ||
50 | static-file .txt | ||
51 | static-file .zip | ||
52 | static-file .ogg | ||
53 | static-file .mp3 | ||
54 | static-file .mp4 | ||
55 | static-file .exe | ||
56 | static-file .iso | ||
57 | static-file .gz | ||
58 | static-file .rar | ||
59 | static-file .svg | ||
60 | static-file .bmp | ||
61 | static-file .tar | ||
62 | static-file .tgz | ||
63 | static-file .tiff | ||
64 | static-file .tif | ||
65 | static-file .ttf | ||
66 | static-file .flv | ||
67 | #static-file .less | ||
68 | #static-file .ac3 | ||
69 | #static-file .avi | ||
70 | #static-file .bz2 | ||
71 | #static-file .class | ||
72 | #static-file .cue | ||
73 | #static-file .dae | ||
74 | #static-file .dat | ||
75 | #static-file .dts | ||
76 | #static-file .ejs | ||
77 | #static-file .eot | ||
78 | #static-file .eps | ||
79 | #static-file .img | ||
80 | #static-file .jar | ||
81 | #static-file .map | ||
82 | #static-file .mid | ||
83 | #static-file .midi | ||
84 | #static-file .ogv | ||
85 | #static-file .webm | ||
86 | #static-file .mkv | ||
87 | #static-file .odp | ||
88 | #static-file .ods | ||
89 | #static-file .odt | ||
90 | #static-file .otf | ||
91 | #static-file .pict | ||
92 | #static-file .pls | ||
93 | #static-file .ps | ||
94 | #static-file .qt | ||
95 | #static-file .rm | ||
96 | #static-file .svgz | ||
97 | #static-file .wav | ||
98 | #static-file .webp | ||
99 | |||
100 | |||