diff --git a/library/packaging/npm b/library/packaging/npm index c5cc7fa510..3bcbde12d9 100644 --- a/library/packaging/npm +++ b/library/packaging/npm @@ -50,6 +50,13 @@ options: - The executable location for npm. - This is useful if you are using a version manager, such as nvm required: false + ignore_scripts: + description: + - Use the --ignore-scripts flag when installing. + required: false + choices: [ "yes", "no" ] + default: no + version_added: "1.8" production: description: - Install dependencies in production mode, excluding devDependencies @@ -111,6 +118,7 @@ class Npm(object): self.path = kwargs['path'] self.registry = kwargs['registry'] self.production = kwargs['production'] + self.ignore_scripts = kwargs['ignore_scripts'] if kwargs['executable']: self.executable = kwargs['executable'].split(' ') @@ -130,6 +138,8 @@ class Npm(object): cmd.append('--global') if self.production: cmd.append('--production') + if self.ignore_scripts: + cmd.append('--ignore-scripts') if self.name: cmd.append(self.name_version) if self.registry: @@ -217,6 +227,7 @@ def main(): executable = module.params['executable'] registry = module.params['registry'] state = module.params['state'] + ignore_scripts = module.params['ignore_scripts'] if not path and not glbl: module.fail_json(msg='path must be specified when not using global') @@ -224,7 +235,7 @@ def main(): module.fail_json(msg='uninstalling a package is only available for named packages') npm = Npm(module, name=name, path=path, version=version, glbl=glbl, production=production, \ - executable=executable, registry=registry) + executable=executable, registry=registry, ignore_scripts=ignore_scripts) changed = False if state == 'present':