mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 16:01:52 +00:00

PR-URL: https://github.com/nodejs/node/pull/42744 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
30 lines
664 B
JavaScript
30 lines
664 B
JavaScript
const updateScripts = ({ content, originalContent = {} }) => {
|
|
const newScripts = content.scripts
|
|
|
|
if (!newScripts) {
|
|
return originalContent
|
|
}
|
|
|
|
// validate scripts content being appended
|
|
const hasInvalidScripts = () =>
|
|
Object.entries(newScripts)
|
|
.some(([key, value]) =>
|
|
typeof key !== 'string' || typeof value !== 'string')
|
|
if (hasInvalidScripts()) {
|
|
throw Object.assign(
|
|
new TypeError(
|
|
'package.json scripts should be a key-value pair of strings.'),
|
|
{ code: 'ESCRIPTSINVALID' }
|
|
)
|
|
}
|
|
|
|
return {
|
|
...originalContent,
|
|
scripts: {
|
|
...newScripts,
|
|
},
|
|
}
|
|
}
|
|
|
|
module.exports = updateScripts
|