summaryrefslogtreecommitdiff
path: root/tests/registry
diff options
context:
space:
mode:
authorNathan Whitaker <17734409+nathanwhit@users.noreply.github.com>2024-11-12 09:23:39 -0800
committerGitHub <noreply@github.com>2024-11-12 09:23:39 -0800
commitc371b2a492c60f47ce6b96b4df129c5d01706e1b (patch)
treee61641ac48950014d2f3207cb5175c580f5243f3 /tests/registry
parent15b6baff33bb2405b174c5eaa919f9219421d513 (diff)
fix(install): re-setup bin entries after running lifecycle scripts (#26752)
Fixes #26677 Some packages (like supabase) declare bin entries that don't exist until lifecycle scripts are run. For instance, the lifecycle script downloads a binary file which serves as a bin entrypoint. Unfortunately you can't just defer setting up the bin entries until after lifecycle scripts have run, because the scripts may rely on them. I looked into this, and PNPM just re-links bin entries after running lifecycle scripts. I think that's about the best we can do as well. Note that we'll only re-setup bin entries for packages whose lifecycle scripts we run. This should limit the performance cost, as typically a given project will not have many lifecycle scripts (and of those, many of them probably don't have bin entries to set up).
Diffstat (limited to 'tests/registry')
-rw-r--r--tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/install.mjs3
-rw-r--r--tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/package.json10
2 files changed, 13 insertions, 0 deletions
diff --git a/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/install.mjs b/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/install.mjs
new file mode 100644
index 000000000..31020fcdf
--- /dev/null
+++ b/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/install.mjs
@@ -0,0 +1,3 @@
+import * as fs from "node:fs";
+
+fs.writeFileSync("./testbin.js", "#!/usr/bin/env node\nconsole.log('run testbin');"); \ No newline at end of file
diff --git a/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/package.json b/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/package.json
new file mode 100644
index 000000000..ad8dea002
--- /dev/null
+++ b/tests/registry/npm/@denotest/bin-created-by-lifecycle/1.0.0/package.json
@@ -0,0 +1,10 @@
+{
+ "name": "@denotest/bin-created-by-lifecycle",
+ "version": "1.0.0",
+ "scripts": {
+ "install": "node install.mjs"
+ },
+ "bin": {
+ "testbin": "testbin.js"
+ }
+} \ No newline at end of file