about summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-xmaintainers/scripts/remove-old-aliases.py5
-rw-r--r--pkgs/development/node-packages/aliases.nix38
-rw-r--r--pkgs/development/node-packages/default.nix7
-rw-r--r--pkgs/development/node-packages/main-programs.nix1
-rw-r--r--pkgs/development/node-packages/overrides.nix2
5 files changed, 47 insertions, 6 deletions
diff --git a/maintainers/scripts/remove-old-aliases.py b/maintainers/scripts/remove-old-aliases.py
index c5629c829594d..8f04a9be4f174 100755
--- a/maintainers/scripts/remove-old-aliases.py
+++ b/maintainers/scripts/remove-old-aliases.py
@@ -100,11 +100,12 @@ def convert_to_throw(date_older_list: list[str]) -> list[tuple[str, str]]:
             date_older_list.remove(line)
             continue
 
-        alias = before_equal.strip()
+        alias = before_equal
+        alias_unquoted = before_equal.strip('"')
         after_equal_list = [x.strip(";:") for x in after_equal.split()]
 
         converted = (
-            f"{indent}{alias} = throw \"'{alias}' has been renamed to/replaced by"
+            f"{indent}{alias} = throw \"'{alias_unquoted}' has been renamed to/replaced by"
             f" '{after_equal_list.pop(0)}'\";"
             f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}'
         )
diff --git a/pkgs/development/node-packages/aliases.nix b/pkgs/development/node-packages/aliases.nix
new file mode 100644
index 0000000000000..f5b73e9f352f4
--- /dev/null
+++ b/pkgs/development/node-packages/aliases.nix
@@ -0,0 +1,38 @@
+pkgs: lib: self: super:
+
+### Deprecated aliases - for backward compatibility
+
+with self;
+
+let
+  # Removing recurseForDerivation prevents derivations of aliased attribute
+  # set to appear while listing all the packages available.
+  removeRecurseForDerivations = alias: with lib;
+    if alias.recurseForDerivations or false
+    then removeAttrs alias ["recurseForDerivations"]
+    else alias;
+
+  # Disabling distribution prevents top-level aliases for non-recursed package
+  # sets from building on Hydra.
+  removeDistribute = alias: with lib;
+    if isDerivation alias then
+      dontDistribute alias
+    else alias;
+
+  # Make sure that we are not shadowing something from node-packages.nix.
+  checkInPkgs = n: alias:
+    if builtins.hasAttr n super
+    then throw "Alias ${n} is still in node-packages.nix"
+    else alias;
+
+  mapAliases = aliases:
+    lib.mapAttrs (n: alias:
+      removeDistribute
+        (removeRecurseForDerivations
+          (checkInPkgs n alias)))
+      aliases;
+in
+
+mapAliases ({
+  "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli; # Added 2023-05-02
+})
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 0fcd508012e8a..506dc8a525caa 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, nodejs, stdenv}:
+{ config, pkgs, lib, nodejs, stdenv }:
 
 let
   inherit (lib) composeManyExtensions extends makeExtensible mapAttrs;
@@ -15,7 +15,12 @@ let
       })
     ) (import ./main-programs.nix);
 
+  aliases = final: prev:
+    lib.optionalAttrs config.allowAliases
+      (import ./aliases.nix pkgs lib final prev);
+
   extensions = composeManyExtensions [
+    aliases
     mainProgramOverrides
     (import ./overrides.nix { inherit pkgs nodejs; })
   ];
diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix
index 7fc28c6cdd406..ab425e91ff991 100644
--- a/pkgs/development/node-packages/main-programs.nix
+++ b/pkgs/development/node-packages/main-programs.nix
@@ -20,7 +20,6 @@
   "@commitlint/cli" = "commitlint";
   "@forge/cli" = "forge";
   "@gitbeaker/cli" = "gitbeaker";
-  "@githubnext/github-copilot-cli" = "github-copilot-cli";
   "@google/clasp" = "clasp";
   "@medable/mdctl-cli" = "mdctl";
   "@mermaid-js/mermaid-cli" = "mmdc";
diff --git a/pkgs/development/node-packages/overrides.nix b/pkgs/development/node-packages/overrides.nix
index 10c4e6e6bbc64..11ab1f8b54759 100644
--- a/pkgs/development/node-packages/overrides.nix
+++ b/pkgs/development/node-packages/overrides.nix
@@ -39,8 +39,6 @@ final: prev: {
     ];
   };
 
-  "@githubnext/github-copilot-cli" = pkgs.github-copilot-cli;
-
   "@medable/mdctl-cli" = prev."@medable/mdctl-cli".override (oldAttrs: {
     nativeBuildInputs = with pkgs; with darwin.apple_sdk.frameworks; [
       glib