Dashboard › craft › Session 15mdHHbwk0H2
15mdHHbwk0H2GUcknSearch the Craft codebase thoroughly for all usage of the shell-quote package. I need:
shell-quote — show the exact import lines and surrounding context (5 lines before/after)shell-quote in any way (package.json, type definitions, etc.)package.json (it should be 1.7.3)pnpm-lock.yaml for the resolved version of shell-quotepnpm.overrides already set for shell-quoteshell-quote is a direct dependency or transitive, and which packages depend on itBe very thorough — check src/, tests, and any config files. Return exact file paths and line numbers for every reference.
I'll conduct a thorough search for all shell-quote references across the entire codebase. Let me run multiple searches in parallel.
Found 11 matches
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.ts:
Line 4: import * as shellQuote from 'shell-quote';
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/publish.ts:
Line 7: import shellQuote from 'shell-quote';
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml:
Line 98: '@types/shell-quote':
Line 176: shell-quote:
Line 1736: '@types/shell-quote@1.7.5':
Line 2879: shell-quote@1.7.3:
Line 5021: '@types/shell-quote@1.7.5': {}
Line 6258: shell-quote@1.7.3: {}
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/package.json:
Line 35: "@types/shell-quote": "^1.6.0",
Line 61: "shell-quote": ...
Found 11 matches
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml:
Line 98: '@types/shell-quote':
Line 176: shell-quote:
Line 1736: '@types/shell-quote@1.7.5':
Line 2879: shell-quote@1.7.3:
Line 5021: '@types/shell-quote@1.7.5': {}
Line 6258: shell-quote@1.7.3: {}
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/package.json:
Line 35: "@types/shell-quote": "^1.6.0",
Line 61: "shell-quote": "1.7.3",
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/CHANGELOG.md:
Line 1028: - build(deps-dev): bump shell-quote from 1.6.1 to 1.7.3 (#401) by @dependabot
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.ts:
Line 4: import * as shellQuote from ...
Found 6 matches /home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.ts: Line 4: import * as shellQuote from 'shell-quote'; Line 444: [sysCommand, ...args] = shellQuote.parse(preReleaseCommand) as string[]; /home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/publish.ts: Line 7: import shellQuote from 'shell-quote'; Line 530: let sysCommand: shellQuote.ParseEntry; Line 531: let args: shellQuote.ParseEntry[]; Line 537: [sysCommand, ...args] = shellQuote.parse(postReleaseCommand);
No files found
No files found
Good, I have all the references. Now let me read the detailed context around each usage and the relevant package.json / lockfile sections.
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.ts</path>
<type>file</type>
<content>
1: import { existsSync, promises as fsPromises } from 'fs';
2: import { join, relative } from 'path';
3:
4: import * as shellQuote from 'shell-quote';
5: import type { SimpleGit, StatusResult } from 'simple-git';
6: import type { Arguments, Argv, CommandBuilder } from 'yargs';
7: import { createDryRunIsolation, safeFs } from '../utils/dryRun';
8:
9: import {
10: CONFIG_FILE_NAME,
(Showing lines 1-10 of 1039. Use offset=11 to continue.)
</content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.ts</path>
<type>file</type>
<content>
439: // avoid breaking the pre-release command as most scripts expect a non-empty
440: // version string.
441: const nonEmptyOldVersion = oldVersion || '0.0.0';
442:
443: if (preReleaseCommand) {
444: [sysCommand, ...args] = shellQuote.parse(preReleaseCommand) as string[];
445: } else {
446: sysCommand = '/bin/bash';
447: args = [DEFAULT_BUMP_VERSION_PATH];
448: }
449:
450: args = [...args, nonEmptyOldVersion, newVersion];
451: logger.info('Running the pre-release command...');
452:
453: // The pre-release command comes from .craft.yml, which is
(Showing lines 439-453 of 1039. Use offset=454 to continue.)
</content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/publish.ts</path>
<type>file</type>
<content>
1: import { Arguments, Argv, CommandBuilder } from 'yargs';
2: import chalk from 'chalk';
3: import { existsSync, mkdirSync, readFileSync } from 'fs';
4:
5: import { safeFs } from '../utils/dryRun';
6: import { dirname, join } from 'path';
7: import shellQuote from 'shell-quote';
8: import stringLength from 'string-length';
9:
10: import {
11: getConfiguration,
12: getStatusProviderFromConfig,
13: getArtifactProviderFromConfig,
14: DEFAULT_RELEASE_BRANCH_NAME,
15: getGlobalGitHubConfig,
(Showing lines 1-15 of 904. Use offset=16 to continue.)
</content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/publish.ts</path>
<type>file</type>
<content>
525: */
526: export async function runPostReleaseCommand(
527: newVersion: string,
528: postReleaseCommand?: string,
529: ): Promise<boolean> {
530: let sysCommand: shellQuote.ParseEntry;
531: let args: shellQuote.ParseEntry[];
532: if (postReleaseCommand !== undefined && postReleaseCommand.length === 0) {
533: // Not running post-release command
534: logger.debug('Not running the post-release command: no command specified');
535: return false;
536: } else if (postReleaseCommand) {
537: [sysCommand, ...args] = shellQuote.parse(postReleaseCommand);
538: } else if (hasExecutable(DEFAULT_POST_RELEASE_SCRIPT_PATH)) {
539: sysCommand = '/bin/bash';
540: args = [DEFAULT_POST_RELEASE_SCRIPT_PATH];
541: } else {
542: // Not running post-release command
543: logger.info(
544: `Not ...
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/package.json</path> <type>file</type> <content> 25: "@types/extract-zip": "^2.0.1", 26: "@types/git-url-parse": "^9.0.0", 27: "@types/is-ci": "^2.0.0", 28: "@types/js-yaml": "^4.0.5", 29: "@types/mkdirp": "^1.0.0", 30: "@types/node": "^22.10.1", 31: "@types/node-fetch": "^2.5.10", 32: "@types/ora": "^1.3.4", 33: "@types/prompts": "^2.0.11", 34: "@types/semver": "^7.7.1", 35: "@types/shell-quote": "^1.6.0", 36: "@types/tar": "^4.0.0", 37: "@types/tmp": "^0.0.33", 38: "@types/yargs": "^17", 39: "async": "3.2.2", 40: "aws4": "^1.11.0", 41: "chalk": "4.1.1", 42: "cli-table": "0.3.1", 43: "consola": "2.15.3", 44: "esbuild": "^0.25.0", 45: "eslint": "^9.17.0", 46: "eslint-config-prettier": "^9.1.0", 47: "eslint-formatter-github-annotations": "^0.1.0", 48: "extract-zip": "^2.0.1", 49: ...
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path> <type>file</type> <content> 93: specifier: ^2.0.11 94: version: 2.4.9 95: '@types/semver': 96: specifier: ^7.7.1 97: version: 7.7.1 98: '@types/shell-quote': 99: specifier: ^1.6.0 100: version: 1.7.5 101: '@types/tar': 102: specifier: ^4.0.0 103: version: 4.0.5 104: '@types/tmp': 105: specifier: ^0.0.33 106: version: 0.0.33 107: '@types/yargs': (Showing lines 93-107 of 6603. Use offset=108 to continue.) </content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path> <type>file</type> <content> 171: specifier: ^3.4.2 172: version: 3.7.4 173: prompts: 174: specifier: 2.4.1 175: version: 2.4.1 176: shell-quote: 177: specifier: 1.7.3 178: version: 1.7.3 179: simple-git: 180: specifier: ^3.33.0 181: version: 3.33.0 182: source-map-support: 183: specifier: ^0.5.20 184: version: 0.5.21 185: split: (Showing lines 171-185 of 6603. Use offset=186 to continue.) </content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path>
<type>file</type>
<content>
1731: resolution: {integrity: sha512-FGJ6udDNUCjd19pp0Q3iTiDkwhYup7J8hpMW9c4k53NrccQFFWKRho6hvtPPEhnXWKvukfwAlB6DbDz4yhH5Gg==}
1732:
1733: '@types/semver@7.7.1':
1734: resolution: {integrity: sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==}
1735:
1736: '@types/shell-quote@1.7.5':
1737: resolution: {integrity: sha512-+UE8GAGRPbJVQDdxi16dgadcBfQ+KG2vgZhV1+3A1XmHbmwcdwhCUwIdy+d3pAGrbvgRoVSjeI9vOWyq376Yzw==}
1738:
1739: '@types/tar@4.0.5':
1740: resolution: {integrity: sha512-cgwPhNEabHaZcYIy5xeMtux2EmYBitfqEceBUi2t5+ETy4dW6kswt6WX4+HqLeiiKOo42EXbGiDmVJ2x+vi37Q==}
1741:
1742: '@types/tedious@4.0.14':
1743: resolution: {integrity: sha512-KHPsfX/FoVbUGbyYvk1q9MMQHLPeRZhRJZdO45Q4YjvFkv4hMNghCWTvy7rdKessBsmtz4euWCWAB6/tVpI1Iw==}
1744:
1745: ...
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path>
<type>file</type>
<content>
2874:
2875: shebang-regex@3.0.0:
2876: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2877: engines: {node: '>=8'}
2878:
2879: shell-quote@1.7.3:
2880: resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==}
2881:
2882: siginfo@2.0.0:
2883: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
2884:
2885: signal-exit@3.0.7:
2886: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
2887:
2888: signal-exit@4.1.0:
(Showing lines 2874-2888 of 6603. Use offset=2889 to continue.)
</content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path>
<type>file</type>
<content>
5016: '@types/tough-cookie': 4.0.5
5017: form-data: 2.5.5
5018:
5019: '@types/semver@7.7.1': {}
5020:
5021: '@types/shell-quote@1.7.5': {}
5022:
5023: '@types/tar@4.0.5':
5024: dependencies:
5025: '@types/minipass': 3.3.5
5026: '@types/node': 22.19.1
5027:
5028: '@types/tedious@4.0.14':
5029: dependencies:
5030: '@types/node': 22.19.1
(Showing lines 5016-5030 of 6603. Use offset=5031 to continue.)
</content>
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml</path>
<type>file</type>
<content>
6253: dependencies:
6254: shebang-regex: 3.0.0
6255:
6256: shebang-regex@3.0.0: {}
6257:
6258: shell-quote@1.7.3: {}
6259:
6260: siginfo@2.0.0: {}
6261:
6262: signal-exit@3.0.7: {}
6263:
6264: signal-exit@4.1.0: {}
6265:
6266: simple-git@3.33.0:
6267: dependencies:
(Showing lines 6253-6267 of 6603. Use offset=6268 to continue.)
</content>
Now let me check for any pnpm.overrides in package.json and also check if any other packages depend on shell-quote transitively.
Found 2 matches
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/package.json:
Line 104: "overrides": {
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/docs/package.json:
Line 16: "overrides": {
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/package.json</path>
<type>file</type>
<content>
75: "scripts": {
76: "build:fat": "tsc -p tsconfig.build.json",
77: "build:watch": "tsc -p tsconfig.build.json --watch",
78: "build": "node build.mjs",
79: "precli": "pnpm build",
80: "cli": "node -r source-map-support/register dist/craft",
81: "clean": "rm -rf dist coverage",
82: "lint": "eslint --cache --cache-strategy content",
83: "fix": "pnpm lint --fix",
84: "format": "prettier --write .",
85: "format:check": "prettier --check .",
86: "test": "vitest run",
87: "test:watch": "vitest",
88: "typecheck": "tsc --noEmit",
89: "docs:dev": "cd docs && pnpm dev",
90: "docs:build": "cd docs && pnpm build"
91: },
92: "volta": {
93: "node": "22.12.0",
94: "pnpm": "10.27.0"
95: },
96: "dependencies": {
97: "fastest-levenshtein": "^1.0.16",
98: "ignore": ...
Found 6 matches
/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/pnpm-lock.yaml:
Line 98: '@types/shell-quote':
Line 176: shell-quote:
Line 1736: '@types/shell-quote@1.7.5':
Line 2879: shell-quote@1.7.3:
Line 5021: '@types/shell-quote@1.7.5': {}
Line 6258: shell-quote@1.7.3: {}
Now let me check the CHANGELOG reference and also verify there are no test files referencing shell-quote:
<path>/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/CHANGELOG.md</path> <type>file</type> <content> 1023: - bump dotnet 6 (#408) by @bruno-garcia 1024: - ref: actually upgrade node-fetch (#407) by @asottile-sentry 1025: - ref: upgrade yarn dependencies to resolve github security notices (#406) by @asottile-sentry 1026: - build(deps): bump parse-url from 5.0.3 to 7.0.2 (#403) by @dependabot 1027: - build(deps): bump jsdom from 16.4.0 to 16.7.0 (#402) by @dependabot 1028: - build(deps-dev): bump shell-quote from 1.6.1 to 1.7.3 (#401) by @dependabot 1029: 1030: ## 0.33.2 1031: 1032: ### Various fixes & improvements 1033: 1034: - fix: re-open asset when retrying asset upload (#398) by @asottile-sentry (Showing lines 1023-1034 of 1680. Use offset=1035 to continue.) </content>
No files found
No files found
No files found
No files found
Here is the complete, thorough report on all shell-quote usage in the Craft codebase.
shell-quote (with context)/home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/prepare.tsImport (line 4):
1: import { existsSync, promises as fsPromises } from 'fs';
2: import { join, relative } from 'path';
3:
4: import * as shellQuote from 'shell-quote'; // <-- IMPORT
5: import type { SimpleGit, StatusResult } from 'simple-git';
6: import type { Arguments, Argv, CommandBuilder } from 'yargs';
7: import { createDryRunIsolation, safeFs } from '../utils/dryRun';
8:
9: import {
10: CONFIG_FILE_NAME,
Usage (line 444):
439: // avoid breaking the pre-release command as most scripts expect a non-empty
440: // version string.
441: const nonEmptyOldVersion = oldVersion || '0.0.0';
442:
443: if (preReleaseCommand) {
444: [sysCommand, ...args] = shellQuote.parse(preReleaseCommand) as string[]; // <-- USAGE
445: } else {
446: sysCommand = '/bin/bash';
447: args = [DEFAULT_BUMP_VERSION_PATH];
448: }
449:
450: args = [...args, nonEmptyOldVersion, newVersion];
451: logger.info('Running the pre-release command...');
452:
453: // The pre-release command comes from .craft.yml, which is
import * as shellQuote (namespace import)shellQuote.parse() -- parses the preReleaseCommand string (from .craft.yml) into an array of shell tokens (command + arguments). The result is cast to string[]./home/byk/.local/share/opencode/worktree/55fa901aca64a01fa4b5c2abce1c85c1c27475e7/stellar-falcon/src/commands/publish.tsImport (line 7):
1: import { Arguments, Argv, CommandBuilder } from 'yargs';
2: import chalk from 'chalk';
3: import { existsSync, mkdirSync, readFileSync } from 'fs';
4:
5: import { safeFs } from ...