npm

package
v0.0.0-...-40d4f7c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExecRunner

type ExecRunner interface {
	SetEnv(e []string)
	Stdout(out io.Writer)
	Stderr(out io.Writer)
	RunExecutable(executable string, params ...string) error
	RunExecutableInBackground(executable string, params ...string) (command.Execution, error)
}

ExecRunner interface to enable mocking for testing

type Execute

type Execute struct {
	Utils   Utils
	Options ExecutorOptions
}

Execute struct holds utils to enable mocking and common parameters

func (*Execute) CreateBOM

func (exec *Execute) CreateBOM(packageJSONFiles []string) error

CreateBOM generates BOM file using CycloneDX from all package.json files

func (*Execute) FindPackageJSONFiles

func (exec *Execute) FindPackageJSONFiles() []string

FindPackageJSONFiles returns a list of all package.json files of the project excluding node_modules and gen/ directories

func (*Execute) FindPackageJSONFilesWithExcludes

func (exec *Execute) FindPackageJSONFilesWithExcludes(excludeList []string) ([]string, error)

FindPackageJSONFilesWithExcludes returns a list of all package.json files of the project excluding node_modules, gen/ and directories/patterns defined by excludeList

func (*Execute) FindPackageJSONFilesWithScript

func (exec *Execute) FindPackageJSONFilesWithScript(packageJSONFiles []string, script string) ([]string, error)

FindPackageJSONFilesWithScript returns a list of package.json fileUtils that contain the script

func (*Execute) InstallAllDependencies

func (exec *Execute) InstallAllDependencies(packageJSONFiles []string) error

InstallAllDependencies executes npm or yarn Install for all package.json fileUtils defined in packageJSONFiles

func (*Execute) PublishAllPackages

func (exec *Execute) PublishAllPackages(packageJSONFiles []string, registry, username, password string, packBeforePublish bool) error

PublishAllPackages executes npm publish for all package.json files defined in packageJSONFiles list

func (*Execute) RunScriptsInAllPackages

func (exec *Execute) RunScriptsInAllPackages(runScripts []string, runOptions []string, scriptOptions []string, virtualFrameBuffer bool, excludeList []string, packagesList []string) error

RunScriptsInAllPackages runs all scripts defined in ExecuteOptions.RunScripts

func (*Execute) SetNpmRegistries

func (exec *Execute) SetNpmRegistries() error

SetNpmRegistries configures the given npm registries. CAUTION: This will change the npm configuration in the user's home directory.

type Executor

type Executor interface {
	FindPackageJSONFiles() []string
	FindPackageJSONFilesWithExcludes(excludeList []string) ([]string, error)
	FindPackageJSONFilesWithScript(packageJSONFiles []string, script string) ([]string, error)
	RunScriptsInAllPackages(runScripts []string, runOptions []string, scriptOptions []string, virtualFrameBuffer bool, excludeList []string, packagesList []string) error
	InstallAllDependencies(packageJSONFiles []string) error
	PublishAllPackages(packageJSONFiles []string, registry, username, password string, packBeforePublish bool) error
	SetNpmRegistries() error
	CreateBOM(packageJSONFiles []string) error
}

Executor interface to enable mocking for testing

func NewExecutor

func NewExecutor(executorOptions ExecutorOptions) Executor

NewExecutor instantiates Execute struct and sets executeOptions

type ExecutorOptions

type ExecutorOptions struct {
	DefaultNpmRegistry string
	ExecRunner         ExecRunner
}

ExecutorOptions holds common parameters for functions of Executor

type NPMIgnore

type NPMIgnore struct {
	// contains filtered or unexported fields
}

func NewNPMIgnore

func NewNPMIgnore(path string) NPMIgnore

func (*NPMIgnore) Add

func (ignorefile *NPMIgnore) Add(value string)

func (*NPMIgnore) Load

func (ignorefile *NPMIgnore) Load() error

func (*NPMIgnore) Write

func (ignorefile *NPMIgnore) Write() error

type NPMRC

type NPMRC struct {
	// contains filtered or unexported fields
}

func NewNPMRC

func NewNPMRC(path string) NPMRC

func (*NPMRC) Load

func (rc *NPMRC) Load() error

func (*NPMRC) Set

func (rc *NPMRC) Set(key, value string)

func (*NPMRC) Write

func (rc *NPMRC) Write() error

type NpmConfig

type NpmConfig struct {
	Install            bool
	RunScripts         []string
	RunOptions         []string
	ScriptOptions      []string
	VirtualFrameBuffer bool
	ExcludeList        []string
	PackagesList       []string
}

NpmConfig holds the config parameters needed for checking if the function is called with correct parameters

type NpmExecutorMock

type NpmExecutorMock struct {
	Utils  NpmMockUtilsBundle
	Config NpmConfig
}

NpmExecutorMock mocking struct

func (*NpmExecutorMock) CreateBOM

func (n *NpmExecutorMock) CreateBOM(packageJSONFiles []string) error

CreateBOM mock implementation

func (*NpmExecutorMock) FindPackageJSONFiles

func (n *NpmExecutorMock) FindPackageJSONFiles() []string

FindPackageJSONFiles mock implementation

func (*NpmExecutorMock) FindPackageJSONFilesWithExcludes

func (n *NpmExecutorMock) FindPackageJSONFilesWithExcludes(excludeList []string) ([]string, error)

FindPackageJSONFiles mock implementation

func (*NpmExecutorMock) FindPackageJSONFilesWithScript

func (n *NpmExecutorMock) FindPackageJSONFilesWithScript(packageJSONFiles []string, script string) ([]string, error)

FindPackageJSONFilesWithScript mock implementation

func (*NpmExecutorMock) InstallAllDependencies

func (n *NpmExecutorMock) InstallAllDependencies(packageJSONFiles []string) error

InstallAllDependencies mock implementation

func (*NpmExecutorMock) PublishAllPackages

func (n *NpmExecutorMock) PublishAllPackages(packageJSONFiles []string, registry, username, password string, packBeforePublish bool) error

CreateBOM mock implementation

func (*NpmExecutorMock) RunScriptsInAllPackages

func (n *NpmExecutorMock) RunScriptsInAllPackages(runScripts []string, runOptions []string, scriptOptions []string, virtualFrameBuffer bool, excludeList []string, packagesList []string) error

RunScriptsInAllPackages mock implementation

func (*NpmExecutorMock) SetNpmRegistries

func (n *NpmExecutorMock) SetNpmRegistries() error

SetNpmRegistries mock implementation

type NpmMockUtilsBundle

type NpmMockUtilsBundle struct {
	*mock.FilesMock
	ExecRunner *mock.ExecMockRunner
}

NpmMockUtilsBundle for mocking

func NewNpmMockUtilsBundle

func NewNpmMockUtilsBundle() NpmMockUtilsBundle

NewNpmMockUtilsBundle creates an instance of NpmMockUtilsBundle

func (*NpmMockUtilsBundle) GetExecRunner

func (u *NpmMockUtilsBundle) GetExecRunner() ExecRunner

GetExecRunner return the execRunner mock

type Utils

type Utils interface {
	piperutils.FileUtils

	GetExecRunner() ExecRunner
}

Utils interface for mocking

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL