sdd-skills 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/install.js +28 -6
- package/package.json +1 -1
- package/uninstall.js +28 -6
package/install.js
CHANGED
|
@@ -72,10 +72,21 @@ async function promptInstallation() {
|
|
|
72
72
|
// Removed default to force user selection
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
|
-
type: '
|
|
75
|
+
type: 'input',
|
|
76
76
|
name: 'configureDingTalk',
|
|
77
|
-
message: 'Would you like to configure DingTalk notifications?',
|
|
78
|
-
default:
|
|
77
|
+
message: 'Would you like to configure DingTalk notifications? (y/n)',
|
|
78
|
+
default: 'n',
|
|
79
|
+
validate: (input) => {
|
|
80
|
+
const normalized = input.toLowerCase().trim();
|
|
81
|
+
if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
return 'Please enter y or n';
|
|
85
|
+
},
|
|
86
|
+
filter: (input) => {
|
|
87
|
+
const normalized = input.toLowerCase().trim();
|
|
88
|
+
return normalized === 'y' || normalized === 'yes';
|
|
89
|
+
},
|
|
79
90
|
},
|
|
80
91
|
]);
|
|
81
92
|
|
|
@@ -243,10 +254,21 @@ async function install() {
|
|
|
243
254
|
|
|
244
255
|
const { confirmInstall } = await inquirer.prompt([
|
|
245
256
|
{
|
|
246
|
-
type: '
|
|
257
|
+
type: 'input',
|
|
247
258
|
name: 'confirmInstall',
|
|
248
|
-
message: 'Proceed with installation?',
|
|
249
|
-
default:
|
|
259
|
+
message: 'Proceed with installation? (y/n)',
|
|
260
|
+
default: 'y',
|
|
261
|
+
validate: (input) => {
|
|
262
|
+
const normalized = input.toLowerCase().trim();
|
|
263
|
+
if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
return 'Please enter y or n';
|
|
267
|
+
},
|
|
268
|
+
filter: (input) => {
|
|
269
|
+
const normalized = input.toLowerCase().trim();
|
|
270
|
+
return normalized === '' || normalized === 'y' || normalized === 'yes';
|
|
271
|
+
},
|
|
250
272
|
},
|
|
251
273
|
]);
|
|
252
274
|
|
package/package.json
CHANGED
package/uninstall.js
CHANGED
|
@@ -90,26 +90,48 @@ async function promptUninstallation() {
|
|
|
90
90
|
choices: locationChoices,
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
|
-
type: '
|
|
93
|
+
type: 'input',
|
|
94
94
|
name: 'removeConfig',
|
|
95
|
-
message: 'Also remove DingTalk configuration?',
|
|
96
|
-
default:
|
|
95
|
+
message: 'Also remove DingTalk configuration? (y/n)',
|
|
96
|
+
default: 'y',
|
|
97
97
|
when: (answers) => {
|
|
98
98
|
const configPath = answers.location === 'global' ? GLOBAL_CONFIG : LOCAL_CONFIG;
|
|
99
99
|
return existsSync(configPath);
|
|
100
100
|
},
|
|
101
|
+
validate: (input) => {
|
|
102
|
+
const normalized = input.toLowerCase().trim();
|
|
103
|
+
if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
return 'Please enter y or n';
|
|
107
|
+
},
|
|
108
|
+
filter: (input) => {
|
|
109
|
+
const normalized = input.toLowerCase().trim();
|
|
110
|
+
return normalized === '' || normalized === 'y' || normalized === 'yes';
|
|
111
|
+
},
|
|
101
112
|
},
|
|
102
113
|
{
|
|
103
|
-
type: '
|
|
114
|
+
type: 'input',
|
|
104
115
|
name: 'confirm',
|
|
105
116
|
message: (answers) => {
|
|
106
117
|
const location = answers.location;
|
|
107
118
|
const skillsCount = location === 'global'
|
|
108
119
|
? globalInstallation.skills.length
|
|
109
120
|
: localInstallation.skills.length;
|
|
110
|
-
return `${chalk.red('Are you sure you want to remove')} ${chalk.bold.red(skillsCount)} ${chalk.red('Skills?')}`;
|
|
121
|
+
return `${chalk.red('Are you sure you want to remove')} ${chalk.bold.red(skillsCount)} ${chalk.red('Skills?')} (y/n)`;
|
|
122
|
+
},
|
|
123
|
+
default: 'n',
|
|
124
|
+
validate: (input) => {
|
|
125
|
+
const normalized = input.toLowerCase().trim();
|
|
126
|
+
if (['y', 'n', 'yes', 'no', ''].includes(normalized)) {
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
return 'Please enter y or n';
|
|
130
|
+
},
|
|
131
|
+
filter: (input) => {
|
|
132
|
+
const normalized = input.toLowerCase().trim();
|
|
133
|
+
return normalized === 'y' || normalized === 'yes';
|
|
111
134
|
},
|
|
112
|
-
default: false,
|
|
113
135
|
},
|
|
114
136
|
]);
|
|
115
137
|
|