mirror of
https://github.com/drone-plugins/drone-npm.git
synced 2026-06-04 18:23:52 +08:00
Add Settings
This commit is contained in:
+67
-3
@@ -12,18 +12,82 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
// Add all the flag names here as const strings.
|
||||
usernameFlag = "username"
|
||||
passwordFlag = "password"
|
||||
emailFlag = "email"
|
||||
tokenFlag = "token"
|
||||
registryFlag = "registry"
|
||||
folderFlag = "folder"
|
||||
failOnVersionConflictFlag = "fail-on-version-conflict"
|
||||
tagFlag = "tag"
|
||||
accessFlag = "access"
|
||||
)
|
||||
|
||||
// settingsFlags has the cli.Flags for the plugin.Settings.
|
||||
func settingsFlags() []cli.Flag {
|
||||
// Replace below with all the flags required for the plugin's specific
|
||||
// settings.
|
||||
return []cli.Flag{}
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: usernameFlag,
|
||||
Usage: "NPM username",
|
||||
EnvVars: []string{"PLUGIN_USERNAME", "NPM_USERNAME"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: passwordFlag,
|
||||
Usage: "NPM password",
|
||||
EnvVars: []string{"PLUGIN_PASSWORD", "NPM_PASSWORD"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: emailFlag,
|
||||
Usage: "NPM email",
|
||||
EnvVars: []string{"PLUGIN_EMAIL", "NPM_EMAIL"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: tokenFlag,
|
||||
Usage: "NPM deploy token",
|
||||
EnvVars: []string{"PLUGIN_TOKEN", "NPM_TOKEN"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: registryFlag,
|
||||
Usage: "NPM registry",
|
||||
EnvVars: []string{"PLUGIN_REGISTRY", "NPM_REGISTRY"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: folderFlag,
|
||||
Usage: "folder containing package.json",
|
||||
EnvVars: []string{"PLUGIN_FOLDER"},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: failOnVersionConflictFlag,
|
||||
Usage: "fail NPM publish if version already exists in NPM registry",
|
||||
EnvVars: []string{"PLUGIN_FAIL_ON_VERSION_CONFLICT"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: tagFlag,
|
||||
Usage: "NPM publish tag",
|
||||
EnvVars: []string{"PLUGIN_TAG"},
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: accessFlag,
|
||||
Usage: "NPM scoped package access",
|
||||
EnvVars: []string{"PLUGIN_ACCESS"},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// settingsFromContext creates a plugin.Settings from the cli.Context.
|
||||
func settingsFromContext(ctx *cli.Context) npm.Settings {
|
||||
// Replace below with the parsing of the
|
||||
return npm.Settings{}
|
||||
return npm.Settings{
|
||||
Username: ctx.String(usernameFlag),
|
||||
Password: ctx.String(passwordFlag),
|
||||
Token: ctx.String(tokenFlag),
|
||||
Email: ctx.String(emailFlag),
|
||||
Registry: ctx.String(registryFlag),
|
||||
Folder: ctx.String(folderFlag),
|
||||
FailOnVersionConflict: ctx.Bool(failOnVersionConflictFlag),
|
||||
Tag: ctx.String(tagFlag),
|
||||
Access: ctx.String(accessFlag),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,15 @@ package npm
|
||||
|
||||
// Settings for the Plugin.
|
||||
type Settings struct {
|
||||
// Fill in the data structure with appropriate values
|
||||
Username string
|
||||
Password string
|
||||
Token string
|
||||
Email string
|
||||
Registry string
|
||||
Folder string
|
||||
FailOnVersionConflict bool
|
||||
Tag string
|
||||
Access string
|
||||
}
|
||||
|
||||
func (p *pluginImpl) Validate() error {
|
||||
|
||||
Reference in New Issue
Block a user