1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| 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
|
|