@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.
Files changed (197) hide show
  1. package/.devenv/bootstrap/bootstrapLib.nix +21 -1
  2. package/.devenv/bootstrap/lock-sources.nix +123 -0
  3. package/.devenv/bootstrap/resolve-input-paths.nix +34 -0
  4. package/.devenv/bootstrap/resolve-lock.nix +5 -79
  5. package/.devenv/changelog-cache.json +7 -3
  6. package/.devenv/devenv.fish +13 -13
  7. package/.devenv/input-paths.txt +2 -4
  8. package/.devenv/nix-eval-cache.db +0 -0
  9. package/.devenv/shell-env.sh +1601 -1589
  10. package/.devenv/state/files.json +5 -1
  11. package/.devenv/state/git-hooks-install/hooks +1 -0
  12. package/.devenv/state/git-hooks-install/key +4 -0
  13. package/.devenv/state/prek/.lock +0 -0
  14. package/.devenv/state/prek/README +2 -0
  15. package/.devenv/state/prek/config-tracking.json +3 -0
  16. package/.devenv/state/prek/patches/1793595918715-562072.patch +26 -0
  17. package/.devenv/state/prek/patches/1793596283854-574354.patch +22881 -0
  18. package/.devenv/state/prek/patches/1793596332255-574728.patch +22870 -0
  19. package/.devenv/state/prek/patches/1793597557669-617911.patch +284 -0
  20. package/.devenv/state/prek/patches/1793856046749-331249.patch +2906 -0
  21. package/.devenv/state/prek/patches/1793856096552-331868.patch +2998 -0
  22. package/.devenv/state/prek/patches/1793856146786-332328.patch +3009 -0
  23. package/.devenv/state/prek/patches/1793856181490-332981.patch +11401 -0
  24. package/.devenv/state/prek/patches/1793856203087-333510.patch +11388 -0
  25. package/.devenv/state/prek/patches/1793856277935-334258.patch +11372 -0
  26. package/.devenv/state/prek/patches/1793856646955-337912.patch +8488 -0
  27. package/.devenv/state/prek/patches/1793856682905-338572.patch +8260 -0
  28. package/.devenv/state/prek/patches/1793857035751-356215.patch +8295 -0
  29. package/.devenv/state/tasks.db +0 -0
  30. package/.devenv/task-names.txt +3 -1
  31. package/.prettierignore +9 -0
  32. package/CHANGELOG.md +476 -8272
  33. package/devenv.lock +47 -9
  34. package/devenv.nix +10 -13
  35. package/devenv.yaml +5 -0
  36. package/dist/errors/bad_request.js +8 -0
  37. package/dist/errors/bad_request.js.map +1 -0
  38. package/dist/errors/captcha_required.js +19 -0
  39. package/dist/errors/captcha_required.js.map +1 -0
  40. package/dist/errors/email_exists.js +8 -0
  41. package/dist/errors/email_exists.js.map +1 -0
  42. package/dist/errors/error.js +3 -0
  43. package/dist/errors/error.js.map +1 -0
  44. package/dist/errors/error_base.js +43 -0
  45. package/dist/errors/error_base.js.map +1 -0
  46. package/dist/errors/index.js +29 -0
  47. package/dist/errors/index.js.map +1 -0
  48. package/dist/errors/invalid_client.js +8 -0
  49. package/dist/errors/invalid_client.js.map +1 -0
  50. package/dist/errors/invalid_email.js +8 -0
  51. package/dist/errors/invalid_email.js.map +1 -0
  52. package/dist/errors/invalid_grant.js +8 -0
  53. package/dist/errors/invalid_grant.js.map +1 -0
  54. package/dist/errors/not_found.js +3 -0
  55. package/dist/errors/not_found.js.map +1 -0
  56. package/dist/errors/permission_denied.js +8 -0
  57. package/dist/errors/permission_denied.js.map +1 -0
  58. package/dist/errors/unauthorized.js +8 -0
  59. package/dist/errors/unauthorized.js.map +1 -0
  60. package/dist/errors/wrong_params.js +8 -0
  61. package/dist/errors/wrong_params.js.map +1 -0
  62. package/dist/index.js +21 -0
  63. package/dist/index.js.map +1 -0
  64. package/dist/payloads/activity.js +50 -0
  65. package/dist/payloads/activity.js.map +1 -0
  66. package/dist/payloads/app.js +3 -0
  67. package/dist/payloads/app.js.map +1 -0
  68. package/dist/payloads/appeal.js +14 -0
  69. package/dist/payloads/appeal.js.map +1 -0
  70. package/dist/payloads/ban.js +36 -0
  71. package/dist/payloads/ban.js.map +1 -0
  72. package/dist/payloads/base.js +3 -0
  73. package/dist/payloads/base.js.map +1 -0
  74. package/dist/payloads/chat.js +37 -0
  75. package/dist/payloads/chat.js.map +1 -0
  76. package/dist/payloads/client.js +13 -0
  77. package/dist/payloads/client.js.map +1 -0
  78. package/dist/payloads/comment.js +42 -0
  79. package/dist/payloads/comment.js.map +1 -0
  80. package/dist/payloads/content.js +176 -0
  81. package/dist/payloads/content.js.map +1 -0
  82. package/dist/payloads/index.js +29 -0
  83. package/dist/payloads/index.js.map +1 -0
  84. package/dist/payloads/strike.js +3 -0
  85. package/dist/payloads/strike.js.map +1 -0
  86. package/dist/payloads/topics.js +72 -0
  87. package/dist/payloads/topics.js.map +1 -0
  88. package/dist/payloads/user.js +215 -0
  89. package/dist/payloads/user.js.map +1 -0
  90. package/dist/rest/account.js +3 -0
  91. package/dist/rest/account.js.map +1 -0
  92. package/dist/rest/content.js +54 -0
  93. package/dist/rest/content.js.map +1 -0
  94. package/dist/rest/counters.js +3 -0
  95. package/dist/rest/counters.js.map +1 -0
  96. package/dist/rest/endpoints.js +199 -0
  97. package/dist/rest/endpoints.js.map +1 -0
  98. package/dist/rest/explore.js +82 -0
  99. package/dist/rest/explore.js.map +1 -0
  100. package/dist/rest/feeds.js +3 -0
  101. package/dist/rest/feeds.js.map +1 -0
  102. package/dist/rest/index.js +25 -0
  103. package/dist/rest/index.js.map +1 -0
  104. package/dist/rest/issues.js +3 -0
  105. package/dist/rest/issues.js.map +1 -0
  106. package/dist/rest/oauth2.js +9 -0
  107. package/dist/rest/oauth2.js.map +1 -0
  108. package/dist/utils/index.js +19 -0
  109. package/dist/utils/index.js.map +1 -0
  110. package/dist/utils/rest.js +3 -0
  111. package/dist/utils/rest.js.map +1 -0
  112. package/dist/utils/util.js +3 -0
  113. package/dist/utils/util.js.map +1 -0
  114. package/package.json +15 -8
  115. package/tag-check.sh +111 -0
  116. package/types/errors/bad_request.d.ts +12 -0
  117. package/types/errors/bad_request.d.ts.map +1 -0
  118. package/types/errors/captcha_required.d.ts +33 -0
  119. package/types/errors/captcha_required.d.ts.map +1 -0
  120. package/types/errors/email_exists.d.ts +15 -0
  121. package/types/errors/email_exists.d.ts.map +1 -0
  122. package/types/errors/error.d.ts +29 -0
  123. package/types/errors/error.d.ts.map +1 -0
  124. package/types/errors/error_base.d.ts +61 -0
  125. package/types/errors/error_base.d.ts.map +1 -0
  126. package/types/errors/index.d.ts +13 -0
  127. package/types/errors/index.d.ts.map +1 -0
  128. package/types/errors/invalid_client.d.ts +15 -0
  129. package/types/errors/invalid_client.d.ts.map +1 -0
  130. package/types/errors/invalid_email.d.ts +15 -0
  131. package/types/errors/invalid_email.d.ts.map +1 -0
  132. package/types/errors/invalid_grant.d.ts +12 -0
  133. package/types/errors/invalid_grant.d.ts.map +1 -0
  134. package/types/errors/not_found.d.ts +8 -0
  135. package/types/errors/not_found.d.ts.map +1 -0
  136. package/types/errors/permission_denied.d.ts +12 -0
  137. package/types/errors/permission_denied.d.ts.map +1 -0
  138. package/types/errors/unauthorized.d.ts +12 -0
  139. package/types/errors/unauthorized.d.ts.map +1 -0
  140. package/types/errors/wrong_params.d.ts +11 -0
  141. package/types/errors/wrong_params.d.ts.map +1 -0
  142. package/types/index.d.ts +5 -0
  143. package/types/index.d.ts.map +1 -0
  144. package/types/payloads/activity.d.ts +114 -0
  145. package/types/payloads/activity.d.ts.map +1 -0
  146. package/types/payloads/app.d.ts +266 -0
  147. package/types/payloads/app.d.ts.map +1 -0
  148. package/types/payloads/appeal.d.ts +22 -0
  149. package/types/payloads/appeal.d.ts.map +1 -0
  150. package/types/payloads/ban.d.ts +85 -0
  151. package/types/payloads/ban.d.ts.map +1 -0
  152. package/types/payloads/base.d.ts +5 -0
  153. package/types/payloads/base.d.ts.map +1 -0
  154. package/types/payloads/chat.d.ts +117 -0
  155. package/types/payloads/chat.d.ts.map +1 -0
  156. package/types/payloads/client.d.ts +108 -0
  157. package/types/payloads/client.d.ts.map +1 -0
  158. package/types/payloads/comment.d.ts +124 -0
  159. package/types/payloads/comment.d.ts.map +1 -0
  160. package/types/payloads/content.d.ts +677 -0
  161. package/types/payloads/content.d.ts.map +1 -0
  162. package/types/payloads/index.d.ts +13 -0
  163. package/types/payloads/index.d.ts.map +1 -0
  164. package/types/payloads/strike.d.ts +15 -0
  165. package/types/payloads/strike.d.ts.map +1 -0
  166. package/types/payloads/topics.d.ts +45 -0
  167. package/types/payloads/topics.d.ts.map +1 -0
  168. package/types/payloads/user.d.ts +523 -0
  169. package/types/payloads/user.d.ts.map +1 -0
  170. package/types/rest/account.d.ts +4 -0
  171. package/types/rest/account.d.ts.map +1 -0
  172. package/types/rest/content.d.ts +96 -0
  173. package/types/rest/content.d.ts.map +1 -0
  174. package/types/rest/counters.d.ts +10 -0
  175. package/types/rest/counters.d.ts.map +1 -0
  176. package/types/rest/endpoints.d.ts +153 -0
  177. package/types/rest/endpoints.d.ts.map +1 -0
  178. package/types/rest/explore.d.ts +113 -0
  179. package/types/rest/explore.d.ts.map +1 -0
  180. package/types/rest/feeds.d.ts +17 -0
  181. package/types/rest/feeds.d.ts.map +1 -0
  182. package/types/rest/index.d.ts +9 -0
  183. package/types/rest/index.d.ts.map +1 -0
  184. package/types/rest/issues.d.ts +16 -0
  185. package/types/rest/issues.d.ts.map +1 -0
  186. package/types/rest/oauth2.d.ts +37 -0
  187. package/types/rest/oauth2.d.ts.map +1 -0
  188. package/types/utils/index.d.ts +3 -0
  189. package/types/utils/index.d.ts.map +1 -0
  190. package/types/utils/rest.d.ts +50 -0
  191. package/types/utils/rest.d.ts.map +1 -0
  192. package/types/utils/util.d.ts +80 -0
  193. package/types/utils/util.d.ts.map +1 -0
  194. package/.devenv/nix-eval-cache.db-shm +0 -0
  195. package/.devenv/nix-eval-cache.db-wal +0 -0
  196. package/.devenv/state/tasks.db-shm +0 -0
  197. 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
- if lib.isOption option then
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
- if key == lockFile.root then
51
- rootSrc
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
- "5a589290b7df7d37070a19af3adb407d66ebcfeaa9cd6b628ea0c1998d7a6cde"
6
+ "97c8d967408d5e8dbaefb984ff368930aa96af9c3655e6d867154992052f5881",
7
+ "c676d28e6e161c0158c0f01f391da5d29a407d0a84fca705572b092ef839ee04",
8
+ "053d92e6228a113aaf85e8f544485eb3f64cc8b4ed6ec52abf21847cbc637b53",
9
+ "7e644d0388477d89d10f791e1509430c333b9585ad4215f913f292e10e248575",
10
+ "5a589290b7df7d37070a19af3adb407d66ebcfeaa9cd6b628ea0c1998d7a6cde",
11
+ "b81b889e24497f586305db7e9d9f0a4cfc0f802a8ef0a4c72b367ae6a70e5047"
8
12
  ]
9
13
  }
@@ -1,14 +1,12 @@
1
1
  # devenv fish init
2
2
 
3
- # If this shell was spawned by the devenv hook (marked by `_DEVENV_HOOK_DIR`),
4
- # `exit` when the user `cd`s outside the project so the parent shell can
5
- # follow. Handled here (devenv's own init file, not the user's hook.fish) so
6
- # it works regardless of whether the user's config.fish re-sources the hook
7
- # for this non-login shell. Erase the marker as soon as it is read so it
8
- # cannot leak into further descendants (a new tmux/zellij pane, a
9
- # manually started nested shell, ...) which would otherwise wrongly conclude
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-528741.sh"
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-528741.sh" >"$_devenv_reload_out" 2>"$_devenv_reload_out"
194
- rm -f "/tmp/devenv-reload-528741.sh"
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 current environment for the calling shell to parse
201
+ # Output environment data for the calling shell to apply
202
202
  export -p
203
203
  ' 2>/dev/null)
204
204
 
@@ -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