@codyswann/lisa 2.325.3 → 2.325.4
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/dist/core/upstream-evidence-manifest.js +2 -2
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/plugins/lisa/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-agy/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh +15 -2
- package/scripts/lisa-remote-env/setup.sh +15 -2
|
@@ -568,7 +568,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
568
568
|
"plugins/src/base/skills/lisa-setup-remote-aws/SKILL.md": "80fbf157f9c562c033886c25a99b37356602edd9e61cd2d492f339769ddcf97e",
|
|
569
569
|
"plugins/src/base/skills/lisa-setup-remote-env/SKILL.md": "77a537460aaa1a7f9da74128161d24fa3bf758ae1fec6f6dcbc47bde9f078750",
|
|
570
570
|
"plugins/src/base/skills/lisa-setup-remote-env/assets/session-start.sh": "cb63d08b14ab7aa2d405e6770e0cf7db5d6588ae1dcb924ea6224b026fcff496",
|
|
571
|
-
"plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh": "
|
|
571
|
+
"plugins/src/base/skills/lisa-setup-remote-env/assets/setup.sh": "c30d98a5645f033fc1d3a723043691b9ad997ae5666df539ff6aa19c563431b2",
|
|
572
572
|
"plugins/src/base/skills/lisa-setup-remote-env/scripts/setup-remote-env.mjs": "eb8017ee2eef5b5b166908e5c2fccf493af283b0a40717688033d65263cf35ce",
|
|
573
573
|
"plugins/src/base/skills/lisa-setup-remote-env/scripts/toolchain.mjs": "341e8058e1d20e7e52276007aae9ceda1504b995615cf8421c9494b60b550ef9",
|
|
574
574
|
"plugins/src/base/skills/lisa-setup-remote-env/scripts/verify-remote-env.mjs": "82bc2a27a0a5afb2ff413a88365c619fd7f0eaada5de3ccabf2000938f0607a4",
|
|
@@ -998,7 +998,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
|
|
|
998
998
|
"scripts/lisa-github-repo-setup.sh": "dc2f1c9d718aa34ba57161120d9319b5f78fe6b0b496d8e3c77226a08795aa36",
|
|
999
999
|
"scripts/lisa-github-rulesets.sh": "920a43ba268421b6fe55096062bd85850468bee9389f6006ad7c671010e7cccb",
|
|
1000
1000
|
"scripts/lisa-remote-env/session-start.sh": "cb63d08b14ab7aa2d405e6770e0cf7db5d6588ae1dcb924ea6224b026fcff496",
|
|
1001
|
-
"scripts/lisa-remote-env/setup.sh": "
|
|
1001
|
+
"scripts/lisa-remote-env/setup.sh": "c30d98a5645f033fc1d3a723043691b9ad997ae5666df539ff6aa19c563431b2",
|
|
1002
1002
|
"scripts/lisa-update-local.sh": "c811f9e10dbcb38499a9791c1ae9051460b347051d04a1d2046925bab9a53c96",
|
|
1003
1003
|
"scripts/lisa-work-item.mjs": "51081847e980f314a764c2e50a7a121b1ced9ef4b980f33898057de4c7b852e6",
|
|
1004
1004
|
"scripts/migrate-deploy-order.sh": "77d909b4cbbfc05169a79168d7868600ea7f56f846feefb7d5121618c54800c3",
|
package/package.json
CHANGED
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"brace-expansion": ">=5.0.9"
|
|
116
116
|
},
|
|
117
117
|
"name": "@codyswann/lisa",
|
|
118
|
-
"version": "2.325.
|
|
118
|
+
"version": "2.325.4",
|
|
119
119
|
"description": "Claude Code governance framework that applies guardrails, guidance, and automated enforcement to projects",
|
|
120
120
|
"main": "dist/index.js",
|
|
121
121
|
"exports": {
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.325.
|
|
3
|
+
"version": "2.325.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.325.
|
|
3
|
+
"version": "2.325.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, across Claude and Codex.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.325.
|
|
3
|
+
"version": "2.325.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.325.
|
|
3
|
+
"version": "2.325.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lisa-openclaw",
|
|
3
|
-
"version": "2.325.
|
|
3
|
+
"version": "2.325.4",
|
|
4
4
|
"description": "Connect staff roles to Telegram or Slack via OpenClaw — facilitator/specialist hub-and-spoke routing and repo-coding topics, for Claude Code and Codex",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cody Swann"
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|
|
@@ -49,7 +49,7 @@ fi
|
|
|
49
49
|
#
|
|
50
50
|
# Skipped when node_modules already exists, which is what makes this cheap on a
|
|
51
51
|
# resumed container and correct to run twice.
|
|
52
|
-
if [
|
|
52
|
+
if [ ! -d node_modules ]; then
|
|
53
53
|
if [ -f bun.lock ] || [ -f bun.lockb ]; then install_cmd="bun install"
|
|
54
54
|
elif [ -f pnpm-lock.yaml ]; then install_cmd="pnpm install --frozen-lockfile"
|
|
55
55
|
elif [ -f yarn.lock ]; then
|
|
@@ -83,7 +83,20 @@ if [ "${LISA_SKIP_INSTALL:-}" != "1" ] && [ ! -d node_modules ]; then
|
|
|
83
83
|
# Without it the bug is cache-dependent, not deterministic: a fresh
|
|
84
84
|
# container installs and dirties the tree, a resumed one skips the install
|
|
85
85
|
# and succeeds. That reads as flakiness rather than a cause.
|
|
86
|
-
|
|
86
|
+
# LISA_SKIP_INSTALL suppresses the INSTALL, not the decision. It used to
|
|
87
|
+
# gate the whole block, so the only way to observe which package manager
|
|
88
|
+
# was chosen was to actually run it — which is why a test asserting the
|
|
89
|
+
# choice ran `yarn install` against a fabricated lockfile, passing on a
|
|
90
|
+
# machine without yarn and doing a real network install on one with it.
|
|
91
|
+
#
|
|
92
|
+
# Reporting the choice and skipping the work is also the more useful
|
|
93
|
+
# behaviour for a caller that installed already: it still says what it
|
|
94
|
+
# would have done.
|
|
95
|
+
if [ "${LISA_SKIP_INSTALL:-}" = "1" ]; then
|
|
96
|
+
echo " LISA_SKIP_INSTALL=1 — not running it."
|
|
97
|
+
else
|
|
98
|
+
CI=1 $install_cmd
|
|
99
|
+
fi
|
|
87
100
|
else
|
|
88
101
|
# Not fatal on its own. A project may carry no lockfile and still have the
|
|
89
102
|
# skill in a checkout directory, so let the resolver below decide.
|