@ifunny/ifunny-api-types 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.devenv/bootstrap/bootstrapLib.nix +21 -1
- package/.devenv/bootstrap/lock-sources.nix +123 -0
- package/.devenv/bootstrap/resolve-input-paths.nix +34 -0
- package/.devenv/bootstrap/resolve-lock.nix +5 -79
- package/.devenv/changelog-cache.json +7 -3
- package/.devenv/devenv.fish +13 -13
- package/.devenv/input-paths.txt +2 -4
- package/.devenv/nix-eval-cache.db +0 -0
- package/.devenv/shell-env.sh +1601 -1589
- package/.devenv/state/files.json +5 -1
- package/.devenv/state/git-hooks-install/hooks +1 -0
- package/.devenv/state/git-hooks-install/key +4 -0
- package/.devenv/state/prek/.lock +0 -0
- package/.devenv/state/prek/README +2 -0
- package/.devenv/state/prek/config-tracking.json +3 -0
- package/.devenv/state/prek/patches/1793595918715-562072.patch +26 -0
- package/.devenv/state/prek/patches/1793596283854-574354.patch +22881 -0
- package/.devenv/state/prek/patches/1793596332255-574728.patch +22870 -0
- package/.devenv/state/prek/patches/1793597557669-617911.patch +284 -0
- package/.devenv/state/prek/patches/1793856046749-331249.patch +2906 -0
- package/.devenv/state/prek/patches/1793856096552-331868.patch +2998 -0
- package/.devenv/state/prek/patches/1793856146786-332328.patch +3009 -0
- package/.devenv/state/prek/patches/1793856181490-332981.patch +11401 -0
- package/.devenv/state/prek/patches/1793856203087-333510.patch +11388 -0
- package/.devenv/state/prek/patches/1793856277935-334258.patch +11372 -0
- package/.devenv/state/prek/patches/1793856646955-337912.patch +8488 -0
- package/.devenv/state/prek/patches/1793856682905-338572.patch +8260 -0
- package/.devenv/state/prek/patches/1793857035751-356215.patch +8295 -0
- package/.devenv/state/tasks.db +0 -0
- package/.devenv/task-names.txt +3 -1
- package/.prettierignore +9 -0
- package/CHANGELOG.md +476 -8272
- package/devenv.lock +47 -9
- package/devenv.nix +10 -13
- package/devenv.yaml +5 -0
- package/dist/errors/bad_request.js +8 -0
- package/dist/errors/bad_request.js.map +1 -0
- package/dist/errors/captcha_required.js +19 -0
- package/dist/errors/captcha_required.js.map +1 -0
- package/dist/errors/email_exists.js +8 -0
- package/dist/errors/email_exists.js.map +1 -0
- package/dist/errors/error.js +3 -0
- package/dist/errors/error.js.map +1 -0
- package/dist/errors/error_base.js +43 -0
- package/dist/errors/error_base.js.map +1 -0
- package/dist/errors/index.js +29 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/invalid_client.js +8 -0
- package/dist/errors/invalid_client.js.map +1 -0
- package/dist/errors/invalid_email.js +8 -0
- package/dist/errors/invalid_email.js.map +1 -0
- package/dist/errors/invalid_grant.js +8 -0
- package/dist/errors/invalid_grant.js.map +1 -0
- package/dist/errors/not_found.js +3 -0
- package/dist/errors/not_found.js.map +1 -0
- package/dist/errors/permission_denied.js +8 -0
- package/dist/errors/permission_denied.js.map +1 -0
- package/dist/errors/unauthorized.js +8 -0
- package/dist/errors/unauthorized.js.map +1 -0
- package/dist/errors/wrong_params.js +8 -0
- package/dist/errors/wrong_params.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/payloads/activity.js +50 -0
- package/dist/payloads/activity.js.map +1 -0
- package/dist/payloads/app.js +3 -0
- package/dist/payloads/app.js.map +1 -0
- package/dist/payloads/appeal.js +14 -0
- package/dist/payloads/appeal.js.map +1 -0
- package/dist/payloads/ban.js +36 -0
- package/dist/payloads/ban.js.map +1 -0
- package/dist/payloads/base.js +3 -0
- package/dist/payloads/base.js.map +1 -0
- package/dist/payloads/chat.js +37 -0
- package/dist/payloads/chat.js.map +1 -0
- package/dist/payloads/client.js +13 -0
- package/dist/payloads/client.js.map +1 -0
- package/dist/payloads/comment.js +42 -0
- package/dist/payloads/comment.js.map +1 -0
- package/dist/payloads/content.js +176 -0
- package/dist/payloads/content.js.map +1 -0
- package/dist/payloads/index.js +29 -0
- package/dist/payloads/index.js.map +1 -0
- package/dist/payloads/strike.js +3 -0
- package/dist/payloads/strike.js.map +1 -0
- package/dist/payloads/topics.js +72 -0
- package/dist/payloads/topics.js.map +1 -0
- package/dist/payloads/user.js +215 -0
- package/dist/payloads/user.js.map +1 -0
- package/dist/rest/account.js +3 -0
- package/dist/rest/account.js.map +1 -0
- package/dist/rest/content.js +54 -0
- package/dist/rest/content.js.map +1 -0
- package/dist/rest/counters.js +3 -0
- package/dist/rest/counters.js.map +1 -0
- package/dist/rest/endpoints.js +199 -0
- package/dist/rest/endpoints.js.map +1 -0
- package/dist/rest/explore.js +82 -0
- package/dist/rest/explore.js.map +1 -0
- package/dist/rest/feeds.js +3 -0
- package/dist/rest/feeds.js.map +1 -0
- package/dist/rest/index.js +25 -0
- package/dist/rest/index.js.map +1 -0
- package/dist/rest/issues.js +3 -0
- package/dist/rest/issues.js.map +1 -0
- package/dist/rest/oauth2.js +9 -0
- package/dist/rest/oauth2.js.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/rest.js +3 -0
- package/dist/utils/rest.js.map +1 -0
- package/dist/utils/util.js +3 -0
- package/dist/utils/util.js.map +1 -0
- package/package.json +15 -8
- package/tag-check.sh +111 -0
- package/types/errors/bad_request.d.ts +12 -0
- package/types/errors/bad_request.d.ts.map +1 -0
- package/types/errors/captcha_required.d.ts +33 -0
- package/types/errors/captcha_required.d.ts.map +1 -0
- package/types/errors/email_exists.d.ts +15 -0
- package/types/errors/email_exists.d.ts.map +1 -0
- package/types/errors/error.d.ts +29 -0
- package/types/errors/error.d.ts.map +1 -0
- package/types/errors/error_base.d.ts +61 -0
- package/types/errors/error_base.d.ts.map +1 -0
- package/types/errors/index.d.ts +13 -0
- package/types/errors/index.d.ts.map +1 -0
- package/types/errors/invalid_client.d.ts +15 -0
- package/types/errors/invalid_client.d.ts.map +1 -0
- package/types/errors/invalid_email.d.ts +15 -0
- package/types/errors/invalid_email.d.ts.map +1 -0
- package/types/errors/invalid_grant.d.ts +12 -0
- package/types/errors/invalid_grant.d.ts.map +1 -0
- package/types/errors/not_found.d.ts +8 -0
- package/types/errors/not_found.d.ts.map +1 -0
- package/types/errors/permission_denied.d.ts +12 -0
- package/types/errors/permission_denied.d.ts.map +1 -0
- package/types/errors/unauthorized.d.ts +12 -0
- package/types/errors/unauthorized.d.ts.map +1 -0
- package/types/errors/wrong_params.d.ts +11 -0
- package/types/errors/wrong_params.d.ts.map +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -0
- package/types/payloads/activity.d.ts +114 -0
- package/types/payloads/activity.d.ts.map +1 -0
- package/types/payloads/app.d.ts +266 -0
- package/types/payloads/app.d.ts.map +1 -0
- package/types/payloads/appeal.d.ts +22 -0
- package/types/payloads/appeal.d.ts.map +1 -0
- package/types/payloads/ban.d.ts +85 -0
- package/types/payloads/ban.d.ts.map +1 -0
- package/types/payloads/base.d.ts +5 -0
- package/types/payloads/base.d.ts.map +1 -0
- package/types/payloads/chat.d.ts +117 -0
- package/types/payloads/chat.d.ts.map +1 -0
- package/types/payloads/client.d.ts +108 -0
- package/types/payloads/client.d.ts.map +1 -0
- package/types/payloads/comment.d.ts +124 -0
- package/types/payloads/comment.d.ts.map +1 -0
- package/types/payloads/content.d.ts +677 -0
- package/types/payloads/content.d.ts.map +1 -0
- package/types/payloads/index.d.ts +13 -0
- package/types/payloads/index.d.ts.map +1 -0
- package/types/payloads/strike.d.ts +15 -0
- package/types/payloads/strike.d.ts.map +1 -0
- package/types/payloads/topics.d.ts +45 -0
- package/types/payloads/topics.d.ts.map +1 -0
- package/types/payloads/user.d.ts +523 -0
- package/types/payloads/user.d.ts.map +1 -0
- package/types/rest/account.d.ts +4 -0
- package/types/rest/account.d.ts.map +1 -0
- package/types/rest/content.d.ts +96 -0
- package/types/rest/content.d.ts.map +1 -0
- package/types/rest/counters.d.ts +10 -0
- package/types/rest/counters.d.ts.map +1 -0
- package/types/rest/endpoints.d.ts +153 -0
- package/types/rest/endpoints.d.ts.map +1 -0
- package/types/rest/explore.d.ts +113 -0
- package/types/rest/explore.d.ts.map +1 -0
- package/types/rest/feeds.d.ts +17 -0
- package/types/rest/feeds.d.ts.map +1 -0
- package/types/rest/index.d.ts +9 -0
- package/types/rest/index.d.ts.map +1 -0
- package/types/rest/issues.d.ts +16 -0
- package/types/rest/issues.d.ts.map +1 -0
- package/types/rest/oauth2.d.ts +37 -0
- package/types/rest/oauth2.d.ts.map +1 -0
- package/types/utils/index.d.ts +3 -0
- package/types/utils/index.d.ts.map +1 -0
- package/types/utils/rest.d.ts +50 -0
- package/types/utils/rest.d.ts.map +1 -0
- package/types/utils/util.d.ts +80 -0
- package/types/utils/util.d.ts.map +1 -0
- package/.devenv/nix-eval-cache.db-shm +0 -0
- package/.devenv/nix-eval-cache.db-wal +0 -0
- package/.devenv/state/tasks.db-shm +0 -0
- package/.devenv/state/tasks.db-wal +0 -0
|
@@ -489,9 +489,16 @@ rec {
|
|
|
489
489
|
options: config:
|
|
490
490
|
lib.concatMapAttrs (
|
|
491
491
|
name: option:
|
|
492
|
-
|
|
492
|
+
# Skip invisible options (e.g. renamed aliases from
|
|
493
|
+
# `mkRenamedOptionModule`, which forward reads to their target and
|
|
494
|
+
# trigger deprecation warnings).
|
|
495
|
+
if lib.isOption option && (option.visible or true) == false then
|
|
496
|
+
{ }
|
|
497
|
+
else if lib.isOption option then
|
|
493
498
|
let
|
|
494
499
|
typeName = option.type.name or "";
|
|
500
|
+
elemType = option.type.nestedTypes.elemType or null;
|
|
501
|
+
elemTypeName = elemType.name or "";
|
|
495
502
|
in
|
|
496
503
|
if
|
|
497
504
|
builtins.elem typeName [
|
|
@@ -502,6 +509,19 @@ rec {
|
|
|
502
509
|
{
|
|
503
510
|
${name} = config.${name};
|
|
504
511
|
}
|
|
512
|
+
# Recurse into `attrsOf submodule` options (e.g. `machines`) so
|
|
513
|
+
# that output-typed sub-options inside each submodule entry become
|
|
514
|
+
# build targets under `build.<name>.<entry>.<sub>`. Without this,
|
|
515
|
+
# a `mkOption { type = attrsOf submodule; }` is opaque to the
|
|
516
|
+
# walker and none of its nested outputs are ever collected.
|
|
517
|
+
else if typeName == "attrsOf" && elemTypeName == "submodule" then
|
|
518
|
+
let
|
|
519
|
+
subOptions = elemType.getSubOptions [ ];
|
|
520
|
+
entries = config.${name} or { };
|
|
521
|
+
perEntry = lib.mapAttrs (_entryName: entryConfig: build subOptions entryConfig) entries;
|
|
522
|
+
filtered = lib.filterAttrs (_: v: v != { }) perEntry;
|
|
523
|
+
in
|
|
524
|
+
if filtered != { } then { ${name} = filtered; } else { }
|
|
505
525
|
else
|
|
506
526
|
{ }
|
|
507
527
|
else if builtins.isAttrs option && !lib.isDerivation option then
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Source resolution shared by YAML discovery and full flake evaluation.
|
|
2
|
+
{
|
|
3
|
+
src,
|
|
4
|
+
lockFile,
|
|
5
|
+
rootSrc ? {
|
|
6
|
+
outPath = src;
|
|
7
|
+
},
|
|
8
|
+
}:
|
|
9
|
+
let
|
|
10
|
+
sourceInfo =
|
|
11
|
+
key: node:
|
|
12
|
+
if key == lockFile.root then
|
|
13
|
+
rootSrc
|
|
14
|
+
# Path inputs pointing to project root (path = ".") should use rootSrc
|
|
15
|
+
# to avoid fetchTree hashing the entire project directory
|
|
16
|
+
else if node.locked.type or null == "path" && node.locked.path or null == "." then
|
|
17
|
+
rootSrc
|
|
18
|
+
else
|
|
19
|
+
let
|
|
20
|
+
locked = node.locked;
|
|
21
|
+
isRelativePath =
|
|
22
|
+
p: p != null && (builtins.substring 0 2 p == "./" || builtins.substring 0 3 p == "../");
|
|
23
|
+
# Resolve relative paths against src
|
|
24
|
+
resolvedLocked =
|
|
25
|
+
locked
|
|
26
|
+
// (
|
|
27
|
+
if locked.type or null == "path" && isRelativePath (locked.path or null) then
|
|
28
|
+
{ path = toString src + "/${locked.path}"; }
|
|
29
|
+
else
|
|
30
|
+
{ }
|
|
31
|
+
)
|
|
32
|
+
// (
|
|
33
|
+
if locked.type or null == "git" && isRelativePath (locked.url or null) then
|
|
34
|
+
{ url = toString src + "/${locked.url}"; }
|
|
35
|
+
else
|
|
36
|
+
{ }
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
# Local path inputs without a pinned narHash resolve to the live
|
|
40
|
+
# filesystem path instead of a fetchTree store copy. The lock file
|
|
41
|
+
# never carries a narHash for them (Nix strips volatile attributes
|
|
42
|
+
# from local inputs), so a store copy would hide edits from the
|
|
43
|
+
# eval cache: nothing in the cache key changes when the directory
|
|
44
|
+
# content changes. Evaluating from the live path makes the eval
|
|
45
|
+
# cache track every file that is read, so edits invalidate it.
|
|
46
|
+
isLivePath =
|
|
47
|
+
locked.type or null == "path"
|
|
48
|
+
&& !(locked ? narHash)
|
|
49
|
+
&& builtins.substring 0 1 (resolvedLocked.path or "") == "/";
|
|
50
|
+
|
|
51
|
+
sourceAttrs = node.info or { } // removeAttrs resolvedLocked [ "dir" ];
|
|
52
|
+
# Final fetches trust the lock's metadata and can substitute the
|
|
53
|
+
# source from a binary cache. Keep ordinary fetches for inputs
|
|
54
|
+
# whose missing metadata still needs to be supplied by the fetcher.
|
|
55
|
+
hasLockedMetadata =
|
|
56
|
+
sourceAttrs ? narHash
|
|
57
|
+
&& (
|
|
58
|
+
sourceAttrs.type == "file"
|
|
59
|
+
|| (
|
|
60
|
+
builtins.elem sourceAttrs.type [
|
|
61
|
+
"git"
|
|
62
|
+
"github"
|
|
63
|
+
"gitlab"
|
|
64
|
+
"sourcehut"
|
|
65
|
+
"tarball"
|
|
66
|
+
]
|
|
67
|
+
&& sourceAttrs ? lastModified
|
|
68
|
+
&& (sourceAttrs.type == "tarball" || sourceAttrs ? rev)
|
|
69
|
+
&& (sourceAttrs.type != "git" || (sourceAttrs.shallow or true) || sourceAttrs ? revCount)
|
|
70
|
+
)
|
|
71
|
+
);
|
|
72
|
+
fetchTree =
|
|
73
|
+
if hasLockedMetadata then builtins.fetchFinalTree or builtins.fetchTree else builtins.fetchTree;
|
|
74
|
+
fetchedSource = fetchTree sourceAttrs;
|
|
75
|
+
in
|
|
76
|
+
if isLivePath then
|
|
77
|
+
{
|
|
78
|
+
# Keep fetchTree's public metadata available to flakes that use
|
|
79
|
+
# self.narHash or self.lastModified. These inherited values stay
|
|
80
|
+
# lazy, so the live input is only hashed if metadata is read.
|
|
81
|
+
inherit (fetchedSource) lastModified lastModifiedDate narHash;
|
|
82
|
+
outPath = /. + resolvedLocked.path;
|
|
83
|
+
}
|
|
84
|
+
else
|
|
85
|
+
fetchedSource;
|
|
86
|
+
|
|
87
|
+
# Resolve a input spec into a node name. An input spec is
|
|
88
|
+
# either a node name, or a 'follows' path from the root
|
|
89
|
+
# node.
|
|
90
|
+
resolveInput =
|
|
91
|
+
inputSpec: if builtins.isList inputSpec then getInputByPath lockFile.root inputSpec else inputSpec;
|
|
92
|
+
|
|
93
|
+
# Follow an input path (e.g. ["dwarffs" "nixpkgs"]) from the
|
|
94
|
+
# root node, returning the final node.
|
|
95
|
+
getInputByPath =
|
|
96
|
+
nodeName: path:
|
|
97
|
+
if path == [ ] then
|
|
98
|
+
nodeName
|
|
99
|
+
else
|
|
100
|
+
getInputByPath
|
|
101
|
+
# Since this could be a 'follows' input, call resolveInput.
|
|
102
|
+
(resolveInput lockFile.nodes.${nodeName}.inputs.${builtins.head path})
|
|
103
|
+
(builtins.tail path);
|
|
104
|
+
|
|
105
|
+
nodeSource =
|
|
106
|
+
key:
|
|
107
|
+
let
|
|
108
|
+
node = lockFile.nodes.${key};
|
|
109
|
+
in
|
|
110
|
+
{
|
|
111
|
+
repository_root = (sourceInfo key node).outPath;
|
|
112
|
+
dir = if key == lockFile.root then "" else node.locked.dir or "";
|
|
113
|
+
};
|
|
114
|
+
in
|
|
115
|
+
{
|
|
116
|
+
inherit sourceInfo resolveInput nodeSource;
|
|
117
|
+
nodePath =
|
|
118
|
+
key:
|
|
119
|
+
let
|
|
120
|
+
source = nodeSource key;
|
|
121
|
+
in
|
|
122
|
+
source.repository_root + (if source.dir == "" then "" else "/${source.dir}");
|
|
123
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
src,
|
|
3
|
+
names,
|
|
4
|
+
lockFileJSON,
|
|
5
|
+
sourceResolver ? import ./lock-sources.nix,
|
|
6
|
+
}:
|
|
7
|
+
let
|
|
8
|
+
lockFilePath = src + "/devenv.lock";
|
|
9
|
+
lockFile = builtins.fromJSON lockFileJSON;
|
|
10
|
+
sources = sourceResolver { inherit src lockFile; };
|
|
11
|
+
rootInputs = lockFile.nodes.${lockFile.root}.inputs or { };
|
|
12
|
+
in
|
|
13
|
+
if lockFile.version < 5 || lockFile.version > 7 then
|
|
14
|
+
throw "lock file '${lockFilePath}' has unsupported version ${toString lockFile.version}"
|
|
15
|
+
else
|
|
16
|
+
builtins.listToAttrs (
|
|
17
|
+
map (
|
|
18
|
+
name:
|
|
19
|
+
if !(builtins.hasAttr name rootInputs) then
|
|
20
|
+
throw "input '${name}' is missing from ${lockFilePath}"
|
|
21
|
+
else
|
|
22
|
+
{
|
|
23
|
+
inherit name;
|
|
24
|
+
value =
|
|
25
|
+
let
|
|
26
|
+
source = sources.nodeSource (sources.resolveInput rootInputs.${name});
|
|
27
|
+
in
|
|
28
|
+
{
|
|
29
|
+
repository_root = toString source.repository_root;
|
|
30
|
+
inherit (source) dir;
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
) names
|
|
34
|
+
)
|
|
@@ -43,88 +43,14 @@ let
|
|
|
43
43
|
in
|
|
44
44
|
"${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}${pad (toString minutes)}${pad (toString seconds)}";
|
|
45
45
|
|
|
46
|
+
sources = import ./lock-sources.nix { inherit src lockFile rootSrc; };
|
|
47
|
+
|
|
46
48
|
allNodes = builtins.mapAttrs (
|
|
47
49
|
key: node:
|
|
48
50
|
let
|
|
49
|
-
sourceInfo =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
# Path inputs pointing to project root (path = ".") should use rootSrc
|
|
53
|
-
# to avoid fetchTree hashing the entire project directory
|
|
54
|
-
else if node.locked.type or null == "path" && node.locked.path or null == "." then
|
|
55
|
-
rootSrc
|
|
56
|
-
else
|
|
57
|
-
let
|
|
58
|
-
locked = node.locked;
|
|
59
|
-
isRelativePath =
|
|
60
|
-
p: p != null && (builtins.substring 0 2 p == "./" || builtins.substring 0 3 p == "../");
|
|
61
|
-
# Resolve relative paths against src
|
|
62
|
-
resolvedLocked =
|
|
63
|
-
locked
|
|
64
|
-
// (
|
|
65
|
-
if locked.type or null == "path" && isRelativePath (locked.path or null) then
|
|
66
|
-
{ path = toString src + "/${locked.path}"; }
|
|
67
|
-
else
|
|
68
|
-
{ }
|
|
69
|
-
)
|
|
70
|
-
// (
|
|
71
|
-
if locked.type or null == "git" && isRelativePath (locked.url or null) then
|
|
72
|
-
{ url = toString src + "/${locked.url}"; }
|
|
73
|
-
else
|
|
74
|
-
{ }
|
|
75
|
-
);
|
|
76
|
-
|
|
77
|
-
# Local path inputs without a pinned narHash resolve to the live
|
|
78
|
-
# filesystem path instead of a fetchTree store copy. The lock file
|
|
79
|
-
# never carries a narHash for them (Nix strips volatile attributes
|
|
80
|
-
# from local inputs), so a store copy would hide edits from the
|
|
81
|
-
# eval cache: nothing in the cache key changes when the directory
|
|
82
|
-
# content changes. Evaluating from the live path makes the eval
|
|
83
|
-
# cache track every file that is read, so edits invalidate it.
|
|
84
|
-
isLivePath =
|
|
85
|
-
locked.type or null == "path"
|
|
86
|
-
&& !(locked ? narHash)
|
|
87
|
-
&& builtins.substring 0 1 (resolvedLocked.path or "") == "/";
|
|
88
|
-
|
|
89
|
-
fetchedSource = builtins.fetchTree (node.info or { } // removeAttrs resolvedLocked [ "dir" ]);
|
|
90
|
-
in
|
|
91
|
-
if isLivePath then
|
|
92
|
-
{
|
|
93
|
-
# Keep fetchTree's public metadata available to flakes that use
|
|
94
|
-
# self.narHash or self.lastModified. These inherited values stay
|
|
95
|
-
# lazy, so the live input is only hashed if metadata is read.
|
|
96
|
-
inherit (fetchedSource) lastModified lastModifiedDate narHash;
|
|
97
|
-
outPath = /. + resolvedLocked.path;
|
|
98
|
-
}
|
|
99
|
-
else
|
|
100
|
-
fetchedSource;
|
|
101
|
-
|
|
102
|
-
subdir = if key == lockFile.root then "" else node.locked.dir or "";
|
|
103
|
-
|
|
104
|
-
# Concatenate on sourceInfo.outPath directly (not the attrset, whose
|
|
105
|
-
# string coercion would turn live path values into context-free
|
|
106
|
-
# strings) so live path inputs keep a path-typed outPath. Path values
|
|
107
|
-
# copy to the store on string interpolation, which keeps derivation
|
|
108
|
-
# references to input files working.
|
|
109
|
-
outPath = sourceInfo.outPath + ((if subdir == "" then "" else "/") + subdir);
|
|
110
|
-
|
|
111
|
-
# Resolve a input spec into a node name. An input spec is
|
|
112
|
-
# either a node name, or a 'follows' path from the root
|
|
113
|
-
# node.
|
|
114
|
-
resolveInput =
|
|
115
|
-
inputSpec: if builtins.isList inputSpec then getInputByPath lockFile.root inputSpec else inputSpec;
|
|
116
|
-
|
|
117
|
-
# Follow an input path (e.g. ["dwarffs" "nixpkgs"]) from the
|
|
118
|
-
# root node, returning the final node.
|
|
119
|
-
getInputByPath =
|
|
120
|
-
nodeName: path:
|
|
121
|
-
if path == [ ] then
|
|
122
|
-
nodeName
|
|
123
|
-
else
|
|
124
|
-
getInputByPath
|
|
125
|
-
# Since this could be a 'follows' input, call resolveInput.
|
|
126
|
-
(resolveInput lockFile.nodes.${nodeName}.inputs.${builtins.head path})
|
|
127
|
-
(builtins.tail path);
|
|
51
|
+
sourceInfo = sources.sourceInfo key node;
|
|
52
|
+
outPath = sources.nodePath key;
|
|
53
|
+
inherit (sources) resolveInput;
|
|
128
54
|
|
|
129
55
|
inputs = builtins.mapAttrs (inputName: inputSpec: allNodes.${resolveInput inputSpec}) (
|
|
130
56
|
node.inputs or { }
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"shown_hashes": [
|
|
3
|
-
"053d92e6228a113aaf85e8f544485eb3f64cc8b4ed6ec52abf21847cbc637b53",
|
|
4
|
-
"97c8d967408d5e8dbaefb984ff368930aa96af9c3655e6d867154992052f5881",
|
|
5
3
|
"c40a016aca4dd81dcdca91ff004d81492328aa4b5c49912d6b83a945c2feff84",
|
|
4
|
+
"8839032c01350edeedfc4b3a2a745aa492e52c72f312cea40001db7ddd425a0c",
|
|
6
5
|
"e6825d4a5422d776d0eb3054f874bf73d8e32e9259f2d7be3a633cbce6bccdcd",
|
|
7
|
-
"
|
|
6
|
+
"97c8d967408d5e8dbaefb984ff368930aa96af9c3655e6d867154992052f5881",
|
|
7
|
+
"c676d28e6e161c0158c0f01f391da5d29a407d0a84fca705572b092ef839ee04",
|
|
8
|
+
"053d92e6228a113aaf85e8f544485eb3f64cc8b4ed6ec52abf21847cbc637b53",
|
|
9
|
+
"7e644d0388477d89d10f791e1509430c333b9585ad4215f913f292e10e248575",
|
|
10
|
+
"5a589290b7df7d37070a19af3adb407d66ebcfeaa9cd6b628ea0c1998d7a6cde",
|
|
11
|
+
"b81b889e24497f586305db7e9d9f0a4cfc0f802a8ef0a4c72b367ae6a70e5047"
|
|
8
12
|
]
|
|
9
13
|
}
|
package/.devenv/devenv.fish
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
# devenv fish init
|
|
2
2
|
|
|
3
|
-
# If this shell was spawned by the devenv hook
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# cannot leak into further descendants
|
|
9
|
-
|
|
10
|
-
# they too are hook-spawned.
|
|
11
|
-
if set -q _DEVENV_HOOK_DIR
|
|
3
|
+
# If this shell was spawned by the devenv hook, `exit` when the user `cd`s
|
|
4
|
+
# outside the project so the parent shell can follow. The user's config.fish
|
|
5
|
+
# may already have moved `_DEVENV_HOOK_DIR` to the non-exported
|
|
6
|
+
# `_devenv_hook_dir` before this init file runs. Accept either marker so the
|
|
7
|
+
# exit happens on PWD change, before prompt handlers can query the terminal.
|
|
8
|
+
# Erase the exported marker so it cannot leak into further descendants.
|
|
9
|
+
if set -q _DEVENV_HOOK_DIR; or set -q _devenv_hook_dir
|
|
12
10
|
set -e _DEVENV_HOOK_DIR
|
|
13
11
|
function _devenv_shell_exit_on_cd_out --on-variable PWD
|
|
14
12
|
switch $PWD
|
|
@@ -44,7 +42,7 @@ end
|
|
|
44
42
|
|
|
45
43
|
function __devenv_reload_apply
|
|
46
44
|
# Source new environment if a reload is pending
|
|
47
|
-
if test -f "/tmp/devenv-reload-
|
|
45
|
+
if test -f "/tmp/devenv-reload-283714.sh"
|
|
48
46
|
# Shell out to bash to handle the env diff (bash syntax).
|
|
49
47
|
# The bash subprocess inherits our current environment, reverses
|
|
50
48
|
# the previous diff, sources the new devenv env, computes a new
|
|
@@ -173,6 +171,8 @@ __devenv_apply_reverse_diff() {
|
|
|
173
171
|
}
|
|
174
172
|
|
|
175
173
|
|
|
174
|
+
|
|
175
|
+
|
|
176
176
|
# Reverse previous diff
|
|
177
177
|
__devenv_apply_reverse_diff
|
|
178
178
|
|
|
@@ -190,15 +190,15 @@ else
|
|
|
190
190
|
fi
|
|
191
191
|
|
|
192
192
|
# Source new devenv environment
|
|
193
|
-
source "/tmp/devenv-reload-
|
|
194
|
-
rm -f "/tmp/devenv-reload-
|
|
193
|
+
source "/tmp/devenv-reload-283714.sh" >"$_devenv_reload_out" 2>"$_devenv_reload_out"
|
|
194
|
+
rm -f "/tmp/devenv-reload-283714.sh"
|
|
195
195
|
unset _devenv_reload_out
|
|
196
196
|
|
|
197
197
|
# Compute new diff
|
|
198
198
|
__devenv_compute_diff "$_before"
|
|
199
199
|
rm -f "$_before"
|
|
200
200
|
|
|
201
|
-
# Output
|
|
201
|
+
# Output environment data for the calling shell to apply
|
|
202
202
|
export -p
|
|
203
203
|
' 2>/dev/null)
|
|
204
204
|
|
package/.devenv/input-paths.txt
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
/home/shift/.config/nixpkgs/overlays
|
|
2
2
|
/home/shift/.config/nixpkgs/overlays.nix
|
|
3
|
-
/media/Code/@Open-iFunny/ifunny-api-types/.devenv/bootstrap/bootstrapLib.nix
|
|
4
|
-
/media/Code/@Open-iFunny/ifunny-api-types/.devenv/bootstrap/default.nix
|
|
5
|
-
/media/Code/@Open-iFunny/ifunny-api-types/.devenv/bootstrap/resolve-lock.nix
|
|
6
3
|
/media/Code/@Open-iFunny/ifunny-api-types/.env
|
|
7
4
|
/media/Code/@Open-iFunny/ifunny-api-types/devenv.local.nix
|
|
8
5
|
/media/Code/@Open-iFunny/ifunny-api-types/devenv.lock
|
|
9
6
|
/media/Code/@Open-iFunny/ifunny-api-types/devenv.nix
|
|
10
|
-
/media/Code/@Open-iFunny/ifunny-api-types/devenv.yaml
|
|
7
|
+
/media/Code/@Open-iFunny/ifunny-api-types/devenv.yaml
|
|
8
|
+
/run/user/1000/devenv-02bb315/processes/native-manager.pid
|
|
Binary file
|