diff --git a/.gitignore b/.gitignore index bcc75c6..acae695 100644 --- a/.gitignore +++ b/.gitignore @@ -138,4 +138,9 @@ dist # Vite logs files vite.config.js.timestamp-* -vite.config.ts.timestamp-* \ No newline at end of file +vite.config.ts.timestamp-* + +# AI +Claude.md +.claude +.reference \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js index b210b69..3db1b7f 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -22,5 +22,5 @@ export default defineConfig([ }, rules: {}, }, - globalIgnores(['test/e2e']), + globalIgnores(['test/e2e', 'node_modules']), ]); diff --git a/package-lock.json b/package-lock.json index a75c233..6a3ac4c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,29 +1,15 @@ { - "name": "@aikidosec/safe-chain", + "name": "aikido-safe-chain-workspace", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "@aikidosec/safe-chain", - "version": "1.0.0", + "name": "aikido-safe-chain-workspace", "license": "AGPL-3.0-or-later", - "dependencies": { - "@inquirer/prompts": "^7.4.1", - "abbrev": "^3.0.1", - "chalk": "^5.4.1", - "npm-registry-fetch": "^18.0.2", - "ora": "^8.2.0", - "semver": "^7.7.2" - }, - "bin": { - "aikido-npm": "bin/aikido-npm.js", - "aikido-npx": "bin/aikido-npx.js", - "aikido-pnpm": "bin/aikido-pnpm.js", - "aikido-pnpx": "bin/aikido-pnpx.js", - "aikido-yarn": "bin/aikido-yarn.js", - "safe-chain": "bin/safe-chain.js" - }, + "workspaces": [ + "packages/*" + ], "devDependencies": { "@eslint/js": "^9.26.0", "eslint": "^9.26.0", @@ -32,6 +18,10 @@ "typescript-eslint": "^8.32.0" } }, + "node_modules/@aikidosec/safe-chain": { + "resolved": "packages/safe-chain", + "link": true + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", @@ -5764,6 +5754,27 @@ "peerDependencies": { "zod": "^3.24.1" } + }, + "packages/safe-chain": { + "name": "@aikidosec/safe-chain", + "version": "1.0.0", + "license": "AGPL-3.0-or-later", + "dependencies": { + "@inquirer/prompts": "^7.4.1", + "abbrev": "^3.0.1", + "chalk": "^5.4.1", + "npm-registry-fetch": "^18.0.2", + "ora": "^8.2.0", + "semver": "^7.7.2" + }, + "bin": { + "aikido-npm": "bin/aikido-npm.js", + "aikido-npx": "bin/aikido-npx.js", + "aikido-pnpm": "bin/aikido-pnpm.js", + "aikido-pnpx": "bin/aikido-pnpx.js", + "aikido-yarn": "bin/aikido-yarn.js", + "safe-chain": "bin/safe-chain.js" + } } } } diff --git a/package.json b/package.json index 9c4dea9..ec26a3e 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,26 @@ { - "name": "@aikidosec/safe-chain", - "version": "1.0.0", + "name": "aikido-safe-chain-workspace", + "private": true, + "type": "module", + "workspaces": ["packages/*"], "scripts": { - "test": "node --test --experimental-test-module-mocks 'src/**/*.spec.js'", - "test:watch": "node --test --watch --experimental-test-module-mocks 'src/**/*.spec.js'", - "lint": "eslint ." + "test": "npm run test --workspace=packages/safe-chain", + "lint": "npm run lint --workspace=packages/safe-chain" }, "repository": { "type": "git", "url": "git+https://github.com/AikidoSec/safe-chain.git" }, - "bin": { - "aikido-npm": "bin/aikido-npm.js", - "aikido-npx": "bin/aikido-npx.js", - "aikido-yarn": "bin/aikido-yarn.js", - "aikido-pnpm": "bin/aikido-pnpm.js", - "aikido-pnpx": "bin/aikido-pnpx.js", - "safe-chain": "bin/safe-chain.js" - }, - "type": "module", - "keywords": [], "author": "Aikido Security", "license": "AGPL-3.0-or-later", - "description": "The Aikido Safe Chain wraps around the [npm cli](https://github.com/npm/cli), [npx](https://github.com/npm/cli/blob/latest/docs/content/commands/npx.md), [yarn](https://yarnpkg.com/), [pnpm](https://pnpm.io/), and [pnpx](https://pnpm.io/cli/dlx) to provide extra checks before installing new packages. This tool will detect when a package contains malware and prompt you to exit, preventing npm, npx, yarn, pnpm, or pnpx from downloading or running the malware.", - "dependencies": { - "@inquirer/prompts": "^7.4.1", - "abbrev": "^3.0.1", - "chalk": "^5.4.1", - "npm-registry-fetch": "^18.0.2", - "ora": "^8.2.0", - "semver": "^7.7.2" - }, "devDependencies": { "@eslint/js": "^9.26.0", "eslint": "^9.26.0", - "eslint-plugin-import": "^2.31.0", + "eslint-plugin-import": "^2.31.0", "globals": "^16.1.0", "typescript-eslint": "^8.32.0" }, - "main": "eslint.config.js", - "bugs": { - "url": "https://github.com/AikidoSec/safe-chain/issues" - }, - "homepage": "https://github.com/AikidoSec/safe-chain#readme", "overrides": { "brace-expansion@<=2.0.2": "2.0.2" } -} +} \ No newline at end of file diff --git a/bin/aikido-npm.js b/packages/safe-chain/bin/aikido-npm.js similarity index 100% rename from bin/aikido-npm.js rename to packages/safe-chain/bin/aikido-npm.js diff --git a/bin/aikido-npx.js b/packages/safe-chain/bin/aikido-npx.js similarity index 100% rename from bin/aikido-npx.js rename to packages/safe-chain/bin/aikido-npx.js diff --git a/bin/aikido-pnpm.js b/packages/safe-chain/bin/aikido-pnpm.js similarity index 100% rename from bin/aikido-pnpm.js rename to packages/safe-chain/bin/aikido-pnpm.js diff --git a/bin/aikido-pnpx.js b/packages/safe-chain/bin/aikido-pnpx.js similarity index 100% rename from bin/aikido-pnpx.js rename to packages/safe-chain/bin/aikido-pnpx.js diff --git a/bin/aikido-yarn.js b/packages/safe-chain/bin/aikido-yarn.js similarity index 100% rename from bin/aikido-yarn.js rename to packages/safe-chain/bin/aikido-yarn.js diff --git a/bin/safe-chain.js b/packages/safe-chain/bin/safe-chain.js similarity index 100% rename from bin/safe-chain.js rename to packages/safe-chain/bin/safe-chain.js diff --git a/packages/safe-chain/package.json b/packages/safe-chain/package.json new file mode 100644 index 0000000..a59d4ac --- /dev/null +++ b/packages/safe-chain/package.json @@ -0,0 +1,40 @@ +{ + "name": "@aikidosec/safe-chain", + "version": "1.0.0", + "scripts": { + "test": "node --test --experimental-test-module-mocks 'src/**/*.spec.js'", + "test:watch": "node --test --watch --experimental-test-module-mocks 'src/**/*.spec.js'", + "lint": "eslint ." + }, + "bin": { + "aikido-npm": "bin/aikido-npm.js", + "aikido-npx": "bin/aikido-npx.js", + "aikido-yarn": "bin/aikido-yarn.js", + "aikido-pnpm": "bin/aikido-pnpm.js", + "aikido-pnpx": "bin/aikido-pnpx.js", + "safe-chain": "bin/safe-chain.js" + }, + "type": "module", + "keywords": [], + "author": "Aikido Security", + "license": "AGPL-3.0-or-later", + "description": "The Aikido Safe Chain wraps around the [npm cli](https://github.com/npm/cli), [npx](https://github.com/npm/cli/blob/latest/docs/content/commands/npx.md), [yarn](https://yarnpkg.com/), [pnpm](https://pnpm.io/), and [pnpx](https://pnpm.io/cli/dlx) to provide extra checks before installing new packages. This tool will detect when a package contains malware and prompt you to exit, preventing npm, npx, yarn, pnpm, or pnpx from downloading or running the malware.", + "dependencies": { + "@inquirer/prompts": "^7.4.1", + "abbrev": "^3.0.1", + "chalk": "^5.4.1", + "npm-registry-fetch": "^18.0.2", + "ora": "^8.2.0", + "semver": "^7.7.2" + }, + "main": "src/main.js", + "bugs": { + "url": "https://github.com/AikidoSec/safe-chain/issues" + }, + "homepage": "https://github.com/AikidoSec/safe-chain#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/AikidoSec/safe-chain.git", + "directory": "packages/safe-chain" + } +} diff --git a/src/api/aikido.js b/packages/safe-chain/src/api/aikido.js similarity index 100% rename from src/api/aikido.js rename to packages/safe-chain/src/api/aikido.js diff --git a/src/api/npmApi.js b/packages/safe-chain/src/api/npmApi.js similarity index 100% rename from src/api/npmApi.js rename to packages/safe-chain/src/api/npmApi.js diff --git a/src/config/configFile.js b/packages/safe-chain/src/config/configFile.js similarity index 100% rename from src/config/configFile.js rename to packages/safe-chain/src/config/configFile.js diff --git a/src/environment/environment.js b/packages/safe-chain/src/environment/environment.js similarity index 100% rename from src/environment/environment.js rename to packages/safe-chain/src/environment/environment.js diff --git a/src/environment/userInteraction.js b/packages/safe-chain/src/environment/userInteraction.js similarity index 100% rename from src/environment/userInteraction.js rename to packages/safe-chain/src/environment/userInteraction.js diff --git a/src/main.js b/packages/safe-chain/src/main.js similarity index 100% rename from src/main.js rename to packages/safe-chain/src/main.js diff --git a/src/packagemanager/_shared/matchesCommand.js b/packages/safe-chain/src/packagemanager/_shared/matchesCommand.js similarity index 100% rename from src/packagemanager/_shared/matchesCommand.js rename to packages/safe-chain/src/packagemanager/_shared/matchesCommand.js diff --git a/src/packagemanager/currentPackageManager.js b/packages/safe-chain/src/packagemanager/currentPackageManager.js similarity index 100% rename from src/packagemanager/currentPackageManager.js rename to packages/safe-chain/src/packagemanager/currentPackageManager.js diff --git a/src/packagemanager/npm/createPackageManager.js b/packages/safe-chain/src/packagemanager/npm/createPackageManager.js similarity index 100% rename from src/packagemanager/npm/createPackageManager.js rename to packages/safe-chain/src/packagemanager/npm/createPackageManager.js diff --git a/src/packagemanager/npm/dependencyScanner/commandArgumentScanner.js b/packages/safe-chain/src/packagemanager/npm/dependencyScanner/commandArgumentScanner.js similarity index 100% rename from src/packagemanager/npm/dependencyScanner/commandArgumentScanner.js rename to packages/safe-chain/src/packagemanager/npm/dependencyScanner/commandArgumentScanner.js diff --git a/src/packagemanager/npm/dependencyScanner/dryRunScanner.js b/packages/safe-chain/src/packagemanager/npm/dependencyScanner/dryRunScanner.js similarity index 100% rename from src/packagemanager/npm/dependencyScanner/dryRunScanner.js rename to packages/safe-chain/src/packagemanager/npm/dependencyScanner/dryRunScanner.js diff --git a/src/packagemanager/npm/dependencyScanner/nullScanner.js b/packages/safe-chain/src/packagemanager/npm/dependencyScanner/nullScanner.js similarity index 100% rename from src/packagemanager/npm/dependencyScanner/nullScanner.js rename to packages/safe-chain/src/packagemanager/npm/dependencyScanner/nullScanner.js diff --git a/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.js b/packages/safe-chain/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.js similarity index 100% rename from src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.js rename to packages/safe-chain/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.js diff --git a/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.spec.js b/packages/safe-chain/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.spec.js similarity index 100% rename from src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.spec.js rename to packages/safe-chain/src/packagemanager/npm/parsing/parseNpmInstallDryRunOutput.spec.js diff --git a/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.js b/packages/safe-chain/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.js similarity index 100% rename from src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.js rename to packages/safe-chain/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.js diff --git a/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.spec.js b/packages/safe-chain/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.spec.js similarity index 100% rename from src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.spec.js rename to packages/safe-chain/src/packagemanager/npm/parsing/parsePackagesFromInstallArgs.spec.js diff --git a/src/packagemanager/npm/runNpmCommand.js b/packages/safe-chain/src/packagemanager/npm/runNpmCommand.js similarity index 100% rename from src/packagemanager/npm/runNpmCommand.js rename to packages/safe-chain/src/packagemanager/npm/runNpmCommand.js diff --git a/src/packagemanager/npm/utils/cmd-list.js b/packages/safe-chain/src/packagemanager/npm/utils/cmd-list.js similarity index 100% rename from src/packagemanager/npm/utils/cmd-list.js rename to packages/safe-chain/src/packagemanager/npm/utils/cmd-list.js diff --git a/src/packagemanager/npm/utils/npmCommands.js b/packages/safe-chain/src/packagemanager/npm/utils/npmCommands.js similarity index 100% rename from src/packagemanager/npm/utils/npmCommands.js rename to packages/safe-chain/src/packagemanager/npm/utils/npmCommands.js diff --git a/src/packagemanager/npx/createPackageManager.js b/packages/safe-chain/src/packagemanager/npx/createPackageManager.js similarity index 100% rename from src/packagemanager/npx/createPackageManager.js rename to packages/safe-chain/src/packagemanager/npx/createPackageManager.js diff --git a/src/packagemanager/npx/dependencyScanner/commandArgumentScanner.js b/packages/safe-chain/src/packagemanager/npx/dependencyScanner/commandArgumentScanner.js similarity index 100% rename from src/packagemanager/npx/dependencyScanner/commandArgumentScanner.js rename to packages/safe-chain/src/packagemanager/npx/dependencyScanner/commandArgumentScanner.js diff --git a/src/packagemanager/npx/parsing/parsePackagesFromArguments.js b/packages/safe-chain/src/packagemanager/npx/parsing/parsePackagesFromArguments.js similarity index 100% rename from src/packagemanager/npx/parsing/parsePackagesFromArguments.js rename to packages/safe-chain/src/packagemanager/npx/parsing/parsePackagesFromArguments.js diff --git a/src/packagemanager/npx/parsing/parsePackagesFromArguments.spec.js b/packages/safe-chain/src/packagemanager/npx/parsing/parsePackagesFromArguments.spec.js similarity index 100% rename from src/packagemanager/npx/parsing/parsePackagesFromArguments.spec.js rename to packages/safe-chain/src/packagemanager/npx/parsing/parsePackagesFromArguments.spec.js diff --git a/src/packagemanager/npx/runNpxCommand.js b/packages/safe-chain/src/packagemanager/npx/runNpxCommand.js similarity index 100% rename from src/packagemanager/npx/runNpxCommand.js rename to packages/safe-chain/src/packagemanager/npx/runNpxCommand.js diff --git a/src/packagemanager/pnpm/createPackageManager.js b/packages/safe-chain/src/packagemanager/pnpm/createPackageManager.js similarity index 100% rename from src/packagemanager/pnpm/createPackageManager.js rename to packages/safe-chain/src/packagemanager/pnpm/createPackageManager.js diff --git a/src/packagemanager/pnpm/dependencyScanner/commandArgumentScanner.js b/packages/safe-chain/src/packagemanager/pnpm/dependencyScanner/commandArgumentScanner.js similarity index 100% rename from src/packagemanager/pnpm/dependencyScanner/commandArgumentScanner.js rename to packages/safe-chain/src/packagemanager/pnpm/dependencyScanner/commandArgumentScanner.js diff --git a/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.js b/packages/safe-chain/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.js similarity index 100% rename from src/packagemanager/pnpm/parsing/parsePackagesFromArguments.js rename to packages/safe-chain/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.js diff --git a/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.spec.js b/packages/safe-chain/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.spec.js similarity index 100% rename from src/packagemanager/pnpm/parsing/parsePackagesFromArguments.spec.js rename to packages/safe-chain/src/packagemanager/pnpm/parsing/parsePackagesFromArguments.spec.js diff --git a/src/packagemanager/pnpm/runPnpmCommand.js b/packages/safe-chain/src/packagemanager/pnpm/runPnpmCommand.js similarity index 100% rename from src/packagemanager/pnpm/runPnpmCommand.js rename to packages/safe-chain/src/packagemanager/pnpm/runPnpmCommand.js diff --git a/src/packagemanager/yarn/createPackageManager.js b/packages/safe-chain/src/packagemanager/yarn/createPackageManager.js similarity index 100% rename from src/packagemanager/yarn/createPackageManager.js rename to packages/safe-chain/src/packagemanager/yarn/createPackageManager.js diff --git a/src/packagemanager/yarn/dependencyScanner/commandArgumentScanner.js b/packages/safe-chain/src/packagemanager/yarn/dependencyScanner/commandArgumentScanner.js similarity index 100% rename from src/packagemanager/yarn/dependencyScanner/commandArgumentScanner.js rename to packages/safe-chain/src/packagemanager/yarn/dependencyScanner/commandArgumentScanner.js diff --git a/src/packagemanager/yarn/parsing/parsePackagesFromArguments.js b/packages/safe-chain/src/packagemanager/yarn/parsing/parsePackagesFromArguments.js similarity index 100% rename from src/packagemanager/yarn/parsing/parsePackagesFromArguments.js rename to packages/safe-chain/src/packagemanager/yarn/parsing/parsePackagesFromArguments.js diff --git a/src/packagemanager/yarn/parsing/parsePackagesFromArguments.spec.js b/packages/safe-chain/src/packagemanager/yarn/parsing/parsePackagesFromArguments.spec.js similarity index 100% rename from src/packagemanager/yarn/parsing/parsePackagesFromArguments.spec.js rename to packages/safe-chain/src/packagemanager/yarn/parsing/parsePackagesFromArguments.spec.js diff --git a/src/packagemanager/yarn/runYarnCommand.js b/packages/safe-chain/src/packagemanager/yarn/runYarnCommand.js similarity index 100% rename from src/packagemanager/yarn/runYarnCommand.js rename to packages/safe-chain/src/packagemanager/yarn/runYarnCommand.js diff --git a/src/scanning/audit/index.js b/packages/safe-chain/src/scanning/audit/index.js similarity index 100% rename from src/scanning/audit/index.js rename to packages/safe-chain/src/scanning/audit/index.js diff --git a/src/scanning/index.js b/packages/safe-chain/src/scanning/index.js similarity index 100% rename from src/scanning/index.js rename to packages/safe-chain/src/scanning/index.js diff --git a/src/scanning/index.scanCommand.spec.js b/packages/safe-chain/src/scanning/index.scanCommand.spec.js similarity index 100% rename from src/scanning/index.scanCommand.spec.js rename to packages/safe-chain/src/scanning/index.scanCommand.spec.js diff --git a/src/scanning/index.shouldScanCommand.spec.js b/packages/safe-chain/src/scanning/index.shouldScanCommand.spec.js similarity index 100% rename from src/scanning/index.shouldScanCommand.spec.js rename to packages/safe-chain/src/scanning/index.shouldScanCommand.spec.js diff --git a/src/scanning/malwareDatabase.js b/packages/safe-chain/src/scanning/malwareDatabase.js similarity index 100% rename from src/scanning/malwareDatabase.js rename to packages/safe-chain/src/scanning/malwareDatabase.js diff --git a/src/shell-integration/helpers.js b/packages/safe-chain/src/shell-integration/helpers.js similarity index 100% rename from src/shell-integration/helpers.js rename to packages/safe-chain/src/shell-integration/helpers.js diff --git a/src/shell-integration/helpers.spec.js b/packages/safe-chain/src/shell-integration/helpers.spec.js similarity index 100% rename from src/shell-integration/helpers.spec.js rename to packages/safe-chain/src/shell-integration/helpers.spec.js diff --git a/src/shell-integration/setup.js b/packages/safe-chain/src/shell-integration/setup.js similarity index 100% rename from src/shell-integration/setup.js rename to packages/safe-chain/src/shell-integration/setup.js diff --git a/src/shell-integration/shellDetection.js b/packages/safe-chain/src/shell-integration/shellDetection.js similarity index 100% rename from src/shell-integration/shellDetection.js rename to packages/safe-chain/src/shell-integration/shellDetection.js diff --git a/src/shell-integration/startup-scripts/init-fish.fish b/packages/safe-chain/src/shell-integration/startup-scripts/init-fish.fish similarity index 100% rename from src/shell-integration/startup-scripts/init-fish.fish rename to packages/safe-chain/src/shell-integration/startup-scripts/init-fish.fish diff --git a/src/shell-integration/startup-scripts/init-posix.sh b/packages/safe-chain/src/shell-integration/startup-scripts/init-posix.sh similarity index 100% rename from src/shell-integration/startup-scripts/init-posix.sh rename to packages/safe-chain/src/shell-integration/startup-scripts/init-posix.sh diff --git a/src/shell-integration/startup-scripts/init-pwsh.ps1 b/packages/safe-chain/src/shell-integration/startup-scripts/init-pwsh.ps1 similarity index 100% rename from src/shell-integration/startup-scripts/init-pwsh.ps1 rename to packages/safe-chain/src/shell-integration/startup-scripts/init-pwsh.ps1 diff --git a/src/shell-integration/supported-shells/bash.js b/packages/safe-chain/src/shell-integration/supported-shells/bash.js similarity index 100% rename from src/shell-integration/supported-shells/bash.js rename to packages/safe-chain/src/shell-integration/supported-shells/bash.js diff --git a/src/shell-integration/supported-shells/bash.spec.js b/packages/safe-chain/src/shell-integration/supported-shells/bash.spec.js similarity index 100% rename from src/shell-integration/supported-shells/bash.spec.js rename to packages/safe-chain/src/shell-integration/supported-shells/bash.spec.js diff --git a/src/shell-integration/supported-shells/fish.js b/packages/safe-chain/src/shell-integration/supported-shells/fish.js similarity index 100% rename from src/shell-integration/supported-shells/fish.js rename to packages/safe-chain/src/shell-integration/supported-shells/fish.js diff --git a/src/shell-integration/supported-shells/fish.spec.js b/packages/safe-chain/src/shell-integration/supported-shells/fish.spec.js similarity index 100% rename from src/shell-integration/supported-shells/fish.spec.js rename to packages/safe-chain/src/shell-integration/supported-shells/fish.spec.js diff --git a/src/shell-integration/supported-shells/powershell.js b/packages/safe-chain/src/shell-integration/supported-shells/powershell.js similarity index 100% rename from src/shell-integration/supported-shells/powershell.js rename to packages/safe-chain/src/shell-integration/supported-shells/powershell.js diff --git a/src/shell-integration/supported-shells/powershell.spec.js b/packages/safe-chain/src/shell-integration/supported-shells/powershell.spec.js similarity index 100% rename from src/shell-integration/supported-shells/powershell.spec.js rename to packages/safe-chain/src/shell-integration/supported-shells/powershell.spec.js diff --git a/src/shell-integration/supported-shells/windowsPowershell.js b/packages/safe-chain/src/shell-integration/supported-shells/windowsPowershell.js similarity index 100% rename from src/shell-integration/supported-shells/windowsPowershell.js rename to packages/safe-chain/src/shell-integration/supported-shells/windowsPowershell.js diff --git a/src/shell-integration/supported-shells/windowsPowershell.spec.js b/packages/safe-chain/src/shell-integration/supported-shells/windowsPowershell.spec.js similarity index 100% rename from src/shell-integration/supported-shells/windowsPowershell.spec.js rename to packages/safe-chain/src/shell-integration/supported-shells/windowsPowershell.spec.js diff --git a/src/shell-integration/supported-shells/zsh.js b/packages/safe-chain/src/shell-integration/supported-shells/zsh.js similarity index 100% rename from src/shell-integration/supported-shells/zsh.js rename to packages/safe-chain/src/shell-integration/supported-shells/zsh.js diff --git a/src/shell-integration/supported-shells/zsh.spec.js b/packages/safe-chain/src/shell-integration/supported-shells/zsh.spec.js similarity index 100% rename from src/shell-integration/supported-shells/zsh.spec.js rename to packages/safe-chain/src/shell-integration/supported-shells/zsh.spec.js diff --git a/src/shell-integration/teardown.js b/packages/safe-chain/src/shell-integration/teardown.js similarity index 100% rename from src/shell-integration/teardown.js rename to packages/safe-chain/src/shell-integration/teardown.js