From 960d9907b276ce92241bb26c6d1468203bb8eef6 Mon Sep 17 00:00:00 2001 From: Ricardo Devis Agullo Date: Wed, 20 Oct 2021 22:19:18 +0200 Subject: [PATCH] allow prefix option depending on who calls it --- .../handle-dependencies/install-compiler.ts | 3 ++- .../install-missing-dependencies.ts | 3 ++- .../domain/init-template/install-template.ts | 3 ++- src/utils/npm-utils.ts | 19 +++++++++++++++++-- ...in-handle-dependencies-install-compiler.js | 3 ++- ...pendencies-install-missing-dependencies.js | 3 ++- ...i-domain-init-template-install-template.js | 3 ++- 7 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/cli/domain/handle-dependencies/install-compiler.ts b/src/cli/domain/handle-dependencies/install-compiler.ts index dc5f7cdbc..31d8a9fcb 100644 --- a/src/cli/domain/handle-dependencies/install-compiler.ts +++ b/src/cli/domain/handle-dependencies/install-compiler.ts @@ -21,7 +21,8 @@ export default function installCompiler( dependency, installPath: componentPath, save: false, - silent: true + silent: true, + usePrefix: false }; npm.installDependency(npmOptions, err => { diff --git a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts index 9241d2634..202977ec2 100644 --- a/src/cli/domain/handle-dependencies/install-missing-dependencies.ts +++ b/src/cli/domain/handle-dependencies/install-missing-dependencies.ts @@ -23,7 +23,8 @@ export default function installMissingDependencies( dependencies: missing, installPath: path.resolve('.'), save: false, - silent: true + silent: true, + usePrefix: true }; npm.installDependencies(npmOptions, err => { diff --git a/src/cli/domain/init-template/install-template.ts b/src/cli/domain/init-template/install-template.ts index f51156dcb..7eaa39ea7 100644 --- a/src/cli/domain/init-template/install-template.ts +++ b/src/cli/domain/init-template/install-template.ts @@ -22,7 +22,8 @@ export default function installTemplate( dependency: compiler, installPath: componentPath, isDev: true, - save: true + save: true, + usePrefix: false }; logger.log(strings.messages.cli.installCompiler(compiler)); diff --git a/src/utils/npm-utils.ts b/src/utils/npm-utils.ts index 84e590301..485b920db 100644 --- a/src/utils/npm-utils.ts +++ b/src/utils/npm-utils.ts @@ -8,9 +8,14 @@ const buildInstallCommand = (options: { installPath: string; save?: boolean; isDev?: boolean; + usePrefix: boolean; }) => { const args = ['install']; + if (options.usePrefix) { + args.push('--prefix', options.installPath); + } + if (options.save) { args.push('--save-exact'); args.push(options.isDev ? '--save-dev' : '--save'); @@ -54,7 +59,12 @@ export const init = ( }; export const installDependencies = ( - options: { dependencies: string[]; installPath: string; silent: boolean }, + options: { + dependencies: string[]; + installPath: string; + silent: boolean; + usePrefix: boolean; + }, callback: Callback<{ dest: string }, string | number> ): void => { const { dependencies, installPath, silent } = options; @@ -75,7 +85,12 @@ export const installDependencies = ( }; export const installDependency = ( - options: { dependency: string; installPath: string; silent?: boolean }, + options: { + dependency: string; + installPath: string; + silent?: boolean; + usePrefix: boolean; + }, callback: Callback<{ dest: string }, string | number> ): void => { const { dependency, installPath, silent } = options; diff --git a/test/unit/cli-domain-handle-dependencies-install-compiler.js b/test/unit/cli-domain-handle-dependencies-install-compiler.js index 5b73d7164..97223171d 100644 --- a/test/unit/cli-domain-handle-dependencies-install-compiler.js +++ b/test/unit/cli-domain-handle-dependencies-install-compiler.js @@ -56,7 +56,8 @@ describe('cli : domain : handle-dependencies : install-compiler', () => { dependency: 'oc-template-react-compiler@1.2.3', installPath: '/path/to/components/component/', save: false, - silent: true + silent: true, + usePrefix: false }); }); diff --git a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js index 50be79f80..cf4f2e40c 100644 --- a/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js +++ b/test/unit/cli-domain-handle-dependencies-install-missing-dependencies.js @@ -82,7 +82,8 @@ describe('cli : domain : handle-dependencies : install-missing-dependencies', () dependencies: ['lodash@1.2.3', 'underscore@latest'], installPath: '/path/to/oc-running', save: false, - silent: true + silent: true, + usePrefix: true }); }); diff --git a/test/unit/cli-domain-init-template-install-template.js b/test/unit/cli-domain-init-template-install-template.js index f113e76b7..43cb4d5e0 100644 --- a/test/unit/cli-domain-init-template-install-template.js +++ b/test/unit/cli-domain-init-template-install-template.js @@ -46,7 +46,8 @@ describe('cli : domain : init-template : install-template', () => { dependency: 'oc-template-jade-compiler', installPath: 'path/to/component', isDev: true, - save: true + save: true, + usePrefix: false }); });