Skip to content

Commit fc98d29

Browse files
committed
fix: improve validation
- chore: enable semantic-release npmPublish
1 parent 49f6495 commit fc98d29

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

.github/workflows/releaser.yml

+2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ jobs:
3737
- name: Clean install NPM dependencies
3838
# npm ci (clean-install) removes the existing node_modules directory
3939
run: npm ci
40+
- name: Build
41+
run: npm run build
4042
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
4143
run: npm audit signatures
4244
- name: Bump version and release if needed

release.config.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export default {
99
["@semantic-release/release-notes-generator"],
1010
// { npmPublish } is disabled by default only if the "private" property
1111
// in package.json is true.
12-
["@semantic-release/npm", { npmPublish: false }],
12+
["@semantic-release/npm", { npmPublish: true }],
1313
["@semantic-release/github"],
1414
[
1515
"@semantic-release/git",

src/index.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ function bindEventListener(
138138
const isOnceValue = moduleExport[isOnceKeyName as "isOnce"];
139139
const isPrependValue = moduleExport[isPrependKeyName as "isPrepend"];
140140
const executeMethod = moduleExport[executeKeyName as "execute"];
141-
if (!nameValue || (typeof nameValue !== "string" && typeof nameValue !== "symbol")) {
142-
throw new Error(`Invalid value for key ${nameKeyName}: '${nameValue}'. Must be a non-empty string or symbol. Module: ${fileUrlHref}`);
141+
if ((typeof nameValue !== "string" && typeof nameValue !== "symbol") || (nameValue as string).trim() === "") {
142+
throw new Error(`Invalid value for key ${nameKeyName}: '${String(nameValue)}'. Must be a non-empty string or symbol. Module: ${fileUrlHref}`);
143143
}
144144
if (isOnceValue && typeof isOnceValue !== "boolean") {
145145
throw new Error(`Invalid value for key ${isOnceKeyName}: '${isOnceValue}'. Must be a boolean. Module: ${fileUrlHref}`);
@@ -218,16 +218,16 @@ async function loadEventHandlers(
218218
const preferredEventHandlerKeys = { ...DEFAULT_EVENT_HANDLER_KEY_NAMES, ...eventHandlerOptions.preferredEventHandlerKeys };
219219
const { name: nameKeyName, isOnce: isOnceKeyName, isPrepend: isPrependKeyName, execute: executeKeyName } = preferredEventHandlerKeys;
220220
/** Use 'not' operator to not omit undefined and empty strings passed in options */
221-
if (!nameKeyName || typeof nameKeyName !== "string") {
221+
if (typeof nameKeyName !== "string" || nameKeyName.trim() === "") {
222222
throw new Error(`Invalid value for preferredEventHandlerKeys name: '${nameKeyName}'. Must be a non-empty string.`);
223223
}
224-
if (!isOnceKeyName || typeof isOnceKeyName !== "string") {
224+
if (typeof isOnceKeyName !== "string" || isOnceKeyName.trim() === "") {
225225
throw new Error(`Invalid value for preferredEventHandlerKeys isOnce: '${isOnceKeyName}'. Must be a non-empty string.`);
226226
}
227-
if (!isPrependKeyName || typeof isPrependKeyName !== "string") {
227+
if (typeof isPrependKeyName !== "string" || isPrependKeyName.trim() === "") {
228228
throw new Error(`Invalid value for preferredEventHandlerKeys isPrepend: '${isPrependKeyName}'. Must be a non-empty string.`);
229229
}
230-
if (!executeKeyName || typeof executeKeyName !== "string") {
230+
if (typeof executeKeyName !== "string" || executeKeyName.trim() === "") {
231231
throw new Error(`Invalid value for preferredEventHandlerKeys execute: '${executeKeyName}'. Must be a non-empty string.`);
232232
}
233233
if (!importMode || !DEFAULT_IMPORT_MODES.includes(importMode)) {
@@ -236,7 +236,7 @@ async function loadEventHandlers(
236236
if (!exportType || !DEFAULT_EXPORT_TYPES.includes(exportType)) {
237237
throw new Error(`Invalid export type: ${exportType}. Must be one of string: ${DEFAULT_EXPORT_TYPES.join(", ")}`);
238238
}
239-
if (!preferredNamedExport || typeof preferredNamedExport !== "string") {
239+
if (typeof preferredNamedExport !== "string" || preferredNamedExport.trim() === "") {
240240
throw new Error(`Invalid preferred named export: ${preferredNamedExport}. Must be a non-empty string.`);
241241
}
242242
if (typeof isRecursive !== "boolean") {

0 commit comments

Comments
 (0)